[英]Running script containing kubectl commands in helm installation
我有一個包含幾個kubectl命令的shell腳本,我需要在頭盔安裝過程中執行它。
#!/bin/bash kubectl create secret generic mysecret --from-literal=username=$USER_NAME --from-literal=password=$passwrd
我寫了一份工作來執行這個腳本。
apiVersion: batch/v1
kind: Job
metadata:
name: "sagdfghd"
spec:
template:
spec:
containers:
- name: sagdfghd
image: {{ .Values.jobs.dockerRegistry }}
command: ["sh", "-c", {{ .Files.Get "scripts/myscript.sh" | quote }} ]
但是由於腳本在容器內運行,因此無法找到kubectl命令。
知道如何運行該腳本嗎?
TIA
{{ .Values.jobs.dockerRegistry }}
解析為什么圖像,並在其上安裝了kubectl
工具? 它很可能沒有安裝kubectl,因此您必須在Dockerfile中添加kubectl安裝說明。 這些說明將取決於您的基本Docker映像是什么。 請參閱以下鏈接:
https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl
@ericstaples提供了安裝文檔的鏈接 ,它有助於解決問題:
{{.Values.jobs.dockerRegistry}}解析為什么圖像,並在其上安裝了kubectl工具?
它很可能沒有安裝kubectl,因此您必須在Dockerfile中添加kubectl安裝說明。 這些說明將取決於您的基本Docker映像是什么。
由於作業創建的Pod會附加一個ServiceAccount,因此在容器中運行的kubectl工具將通過ServiceAccount令牌調用運行該集群的集群,實際上會在集群中創建Secret,而不是容器(假設它具有正確的RBAC權限)。
試試看。 從容器調用kube-apiserver(例如通過kubectl)並不罕見。
旁注:在容器中創建Secret對象絕對沒有任何意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.