问题描述
apiVersion: v1
kind: Secret
Metadata:
name: secret-ssh-auth
type: kubernetes.io/ssh-auth
data:
ssh-privatekey: |
SEVMTE9PT09PT09PT09PT09PT09PCg==
和部署:
apiVersion: apps/v1
kind: Deployment
Metadata:
name: Nginx-deployment
labels:
app: Nginx
spec:
replicas: 1
selector:
matchLabels:
app: Nginx
template:
Metadata:
labels:
app: Nginx
spec:
containers:
- name: Nginx
image: Nginx:1.14.2
ports:
- containerPort: 80
volumeMounts:
- name: secret-ssh-auth
mountPath: /root/.ssh
volumes:
- name: secret-ssh-auth
secret:
secretName: secret-ssh-auth
defaultMode: 0400
它创建了一个路径为 /root/.ssh/ssh-privatekey
的文件,而我想改为使用 /root/.ssh/id_rsa
名称。
我知道我们可以通过运行 kubectl 命令来解决它,但我想在 YAML 文件中处理它。 那么,如何通过 YAML 文件做到这一点?
解决方法
根据 Kubernetes 文档,ssh-privatekey
键是必需的,在这种情况下,您可以通过 stringData
键将其留空,然后通过 data
键定义另一个键,如下所示:
apiVersion: v1
kind: Secret
metadata:
name: secret-ssh-auth
type: kubernetes.io/ssh-auth
stringData:
ssh-privatekey: |
-
data:
id_rsa: |
SEVMTE9PT09PT09PT09PT09PT09PCg==