我正在尝试创建一个部署,该部署部署在 K8S 实例上,并在该实例上进行服务迁移。这现在需要 kubeconfig 作为代码的一部分。我们无权创建服务帐户。容器内还有 kubectl 二进制文件,可以执行一些操作。将 kubeconfig 作为输入的最佳方法是什么?
答案1
将 中的 kubeconfig 卷挂载到 中Secret
,然后将环境变量指向挂载KUBECONFIG
的路径Secret
kind: Secret
metadata:
name: my-k-config
stringData:
my-kubeconfig: |
clusters:
- ... etc etc
---
kind: Pod
spec:
containers:
- name: sample
command: ["kubectl", "get", "namespaces"]
env:
- name: KUBECONFIG
value: /k-cfg/my-kubeconfig
volumeMounts:
- name: k-config
mountPath: /k-cfg
volumes:
- name: k-config
secret:
secretName: my-k-config