【Pulumi】【トラブル】Pulumi に関するトラブル

■ はじめに

Pulumi で 発生したトラブルについて
少しずつだが、まとめていく。

目次

【1】警告「A new version of Pulumi is available」が表示
【2】エラー「configured Kubernetes cluster is unreachable」が表示
【3】pulumi newを実行後、「error: npm install failed」が表示
【4】pulumi newを実行後、「Sorry, could not create stack 'dev'」が表示
【5】pulumi stack selectを実行後、エラー MissingRegion が表示

※その他のトラブル

* 以下の関連記事を参照のこと

pulumi up 時のトラブル
https://dk521123.hatenablog.com/entry/2022/04/05/150240

pulumi stack select xxx を実行後、「InvalidSignatureException」が表示
https://dk521123.hatenablog.com/entry/2022/01/27/164413

【1】警告「A new version of Pulumi is available」が表示

pulumi の CLIコマンド(e.g. "pulumi up --yes")を実行した際に
以下のような「警告内容」が表示された。

1)警告内容

Windowsの場合

warning: A new version of Pulumi is available.
To upgrade from version '3.15.0' to '3.25.1',
 visit https://pulumi.com/docs/reference/install/
 for manual instructions and release notes.

Linuxの場合

warning: A new version of Pulumi is available.
To upgrade from version '3.15.0' to '3.25.1', run
   $ curl -sSL https://get.pulumi.com | sh
or visit https://pulumi.com/docs/reference/install/ for manual instructions and release notes.

2)原因

* ローカルPC上にインストールされているPulumiバージョン
 (今回の場合「3.15.0」)より、
 最新のPulumiバージョン(今回の場合「3.21.1」)があるため
 => だから、最新入れろよーって警告文。

3)解決案

(警告を無視するってのも一つの手ではあるが)
最新のPulumiバージョンに更新する

Windows / Chocolatey でインストールした場合

 コマンドプロンプトを管理者権限で立ち上げて
以下の公式サイトにあるコマンドを実行する

https://www.pulumi.com/docs/get-started/install/

より抜粋

Subsequent updates can be installed in the usual way:

更新コマンド

choco upgrade pulumi

Linuxの場合

# エラー内容に書いてある通り、以下を実行。

$ curl -sSL https://get.pulumi.com | sh

【2】エラー「configured Kubernetes cluster is unreachable」が表示

以下の公式サイトのチュートリアルで、「pulumi up」を実行したら
以下「1)エラー内容」が表示されてしまった。

https://www.pulumi.com/docs/get-started/kubernetes/deploy-stack/

1)エラー内容

Diagnostics:
  pulumi:pulumi:Stack (quickstart-dev):
    error: update failed

  kubernetes:apps/v1:Deployment (nginx):
    error: configured Kubernetes cluster is unreachable:
     unable to load Kubernetes client configuration from kubeconfig file:
     invalid configuration: no configuration has been provided,
     try setting KUBERNETES_MASTER environment variable

2)原因

* Kubernetes の設定ファイルがうまく読み込めていない
or
* Kubernetes の設定ファイルが不正

3)対策案

対策1

* 環境変数「KUBECONFIG」を設定する。
 => 今回の場合、「KUBECONFIG=C:\Users\<UserName>\.kube\config」 

対策2

* (上記「対策1」でも同じエラーになったら)
 指定した設定ファイルが不正って表示されているので、作成しなおす
 => 今回の場合、コマンドプロンプトで以下を実行。
~~~~~
# コンテキストを削除 (kubectl config delete-context <context>コマンド)
# xxxxx は、C:\Users\<UserName>\.kube\config をテキストで開いて確認
kubectl config delete-context xxxxx

# クラスタを削除 (kubectl config delete-cluster <cluster>コマンド)
kubectl config delete-cluster xxxxx

# ユーザを削除 (kubectl config delete-user <user>コマンド)
kubectl config delete-user xxxxx

# 設定内容を確認する
kubectl config view

minikube start
~~~~~

 => これで、うまく実行できた。

https://qiita.com/hana_shin/items/b7a947511a89accea6d4

【3】pulumi newを実行後、「error: npm install failed」が表示

1)エラー内容

error: npm install failed; rerun manually to try again,
 then run 'pulumi up' to perform an initial deployment:
 could not find npm on the $PATH;
 npm is installed with Node.js available at https://nodejs.org/: exec:
 "npm": executable file not found in $PATH

2)原因

* npm をインストールしていなかったため

3)対策案

* npm をインストール
 => 詳細なインストール方法については、以下の関連記事を参照のこと。

Node.js ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/06/000000

【4】pulumi newを実行後、「Sorry, could not create stack 'dev'」が表示

pulumi newを実行後、stack入力した際に
「Sorry, could not create stack 'dev': stack 'dev' already exists」
が表示されてしまう

エラー内容

pulumi new kubernetes-typescript
・・・略・・・
stack name: (dev)
Sorry, could not create stack 'dev': stack 'dev' already exists

原因

既にStack「dev」が作成されてしまっているため

解決案

* 「pulumi stack rm」で対象Stackを一旦削除

コマンド実行例

pulumi stack rm
This will permanently remove the 'dev' stack!
Please confirm that this is what you'd like to do by typing ("dev"): dev
Stack 'dev' has been removed!

【5】pulumi stack selectを実行後、エラー MissingRegion が表示

「pulumi stack select dev」を実行した後に
以下「エラー内容」を表示する

エラー内容

error: could not query backend for stacks:
error listing sackes: could not list bucket: blob (code=Unknown):
MissingRegion: could not find region configuration

解決案

* 「export AWS_REGION=<使用しているAWS Region>」を実行する
 => e.g. export AWS_REGION=us-west-1

関連記事

Pulumi ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/10/23/025230
Pulumi ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2022/01/10/155206
Pulumi ~ 入門編 / Hello World
https://dk521123.hatenablog.com/entry/2022/03/07/233752
Pulumi ~ 基本編 / CLI
https://dk521123.hatenablog.com/entry/2021/10/25/215508
Pulumi に関するトラブル2
https://dk521123.hatenablog.com/entry/2022/09/29/001141
pulumi up 時のトラブル
https://dk521123.hatenablog.com/entry/2022/04/05/150240
pulumi up --target をした際にエラー「snapshot integrity failure」が発生
https://dk521123.hatenablog.com/entry/2022/09/27/165923
pulumi stack select xxx を実行後、「InvalidSignatureException」が表示
https://dk521123.hatenablog.com/entry/2022/01/27/164413
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
KubernetesWindows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Node.js ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/06/000000