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で実行するときの正確な問題は何ですか?
端末を介して実行しているときに同じコマンドが機能しています。
root
にアクセスできるkubeconfig
ユーザーとしてターミナルからコマンドを実行している可能性があります。
Jenkinsパイプラインはjenkins
ユーザーの下で実行され、kubeconfig
ファイルへの読み取りアクセス権がある場合とない場合があります。 jenkins
ユーザーにこのファイルへの読み取りアクセス権があることを確認してください。
F0604 07:44:46.468122 2620 helpers.go:114]エラー:yaml:行10:このコンテキストではマッピング値は許可されていません
$HOME/.kube/config
(または環境変数$KUBECONFIG
が指すすべてのファイル)が無効なyamlであることを示します。その内容を見ないと、「kubeconfigを修正する」以外の修正が何であるかをはっきりとは言えませんが、それは正しい答えです。