web-dev-qa-db-ja.com

Jenkinsを使用してHelmチャートをデプロイすると、「サーバーは要求されたリソースを見つけることができませんでした(ポッドを取得)」エラー

Kubernetesクラスターのサンプルデプロイ用にKubernetes Helmチャートをデプロイしようとしています。サンプルのHelmチャートを作成し、Dockerイメージ参照を追加して、ターミナルコマンドhelm install <my-chartname>を使用してHelmチャートをデプロイしました。そして、マイクロサービスは問題なく正常にアクセスしています。

その後、Jenkinsパイプラインジョブを作成し、デプロイメントのステップを含むステージを1つだけ追加しました。私は次のように追加しました、

pipeline 
{
    agent any
    stages 
        {
            stage ('helmchartinstall')
                {
                    steps
                    {
                        sh 'helm install spacestudychart'
                    }
                }
        }       
}

そして、私は次のようなエラーを得ています、

[Pipeline] { (helmchartinstall)
[Pipeline] sh
+ helm install spacestudychart
Error: the server could not find the requested resource (get pods)

端末から実行しているときにも同じコマンドが機能します。

更新

Tillerを最新バージョンにアップグレードするには、ターミナルでhelm init --upgradeコマンドを実行します。しかし、エラーはまだ残っています。

「helmバージョン」の出力は次のようになります

Client: &version.Version{SemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}

「kubectl version --short」の出力は次のようになります

Client Version: v1.14.1
Server Version: v1.13.5

コマンド「kubectl --v = 5 get pods; helm install spacetudychart」を実行すると、次のようなコンソール出力が表示されます。

+ kubectl --v=5 get pods
I0604 07:44:46.035459    2620 cached_discovery.go:121] skipped caching discovery info due to yaml: line 10: mapping values are not allowed in this context
I0604 07:44:46.152770    2620 cached_discovery.go:121] skipped caching discovery info due to yaml: line 10: mapping values are not allowed in this context
I0604 07:44:46.152819    2620 shortcut.go:89] Error loading discovery information: yaml: line 10: mapping values are not allowed in this context
I0604 07:44:46.283598    2620 cached_discovery.go:121] skipped caching discovery info due to yaml: line 10: mapping values are not allowed in this context
I0604 07:44:46.374088    2620 cached_discovery.go:121] skipped caching discovery info due to yaml: line 10: mapping values are not allowed in this context
I0604 07:44:46.467938    2620 cached_discovery.go:121] skipped caching discovery info due to yaml: line 10: mapping values are not allowed in this context
F0604 07:44:46.468122    2620 helpers.go:114] error: yaml: line 10: mapping values are not allowed in this context
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 255
Finished: FAILURE

Kubectlのバージョンをアップグレードする必要がありますか? Jenkinsで実行するときの正確な問題は何ですか?

6
Jacob

端末を介して実行しているときに同じコマンドが機能しています。

rootにアクセスできるkubeconfigユーザーとしてターミナルからコマンドを実行している可能性があります。

Jenkinsパイプラインはjenkinsユーザーの下で実行され、kubeconfigファイルへの読み取りアクセス権がある場合とない場合があります。 jenkinsユーザーにこのファイルへの読み取りアクセス権があることを確認してください。

2
grizzthedj

F0604 07:44:46.468122 2620 helpers.go:114]エラー:yaml:行10:このコンテキストではマッピング値は許可されていません

$HOME/.kube/config(または環境変数$KUBECONFIGが指すすべてのファイル)が無効なyamlであることを示します。その内容を見ないと、「kubeconfigを修正する」以外の修正が何であるかをはっきりとは言えませんが、それは正しい答えです。

1
mdaniel