这道题目简单明了,创建三个secret值,
kubectl -n relaxed-shark create secret generic postgres --from-literal=username=tux --from-literal=database=kubestronauts --from-literal=password=Kubernetes123
然后修改deployment:
kubectl -n relaxed-shark edit deployment postgres。
bash
containers:
- env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
key: username
name: postgres
Context
您需要将 Pod 环境变量中的硬编码 secret 移动到 Secret 中,并在 Pod 中使用。
Task
首先,在 namespace relaxed-shark 中创建一个名为 postgres 的新 Secret。
它必须包含当前硬编码在 namespace relaxed-shark 中运行的 Deployment postgres 的 Pod 环境变量中的三条 Secret 信息。
分别使用以下键 : username、database 和 password
接下来,修改 Deployment,使其使用新的 Secret。设置环境变量,使其值取自新 Secret 的键 username、database 和 password
请勿删除现有的 Deployment,否则会导致分数降低。
答题
【1】 按照题目要求,在master 节点上执行,切换到题目要求节点
ssh ckad000000
【2】 检查 Deployment postgres 中的变量的键值
kubectl -n relaxed-shark get deployment postgres -o yaml

会发现有如下信息,下面做题要用到的
bash
- env:
- name: POSTGRES_USER
value: tux
- name: POSTGRES_DB
value: kubestronauts
- name: POSTGRES_PASSWORD
value: Kubernetes123
【3】根据 Deployment postgres 中得到的键值对,创建 secret
kubectl -n relaxed-shark create secret generic postgres --from-literal=username=tux --from-literal=database=kubestronauts --from-literal=password=Kubernetes123

【4】编辑 deployment
kubectl -n relaxed-shark edit deployment postgres
将env: 修改为如下内容
bash
containers:
- env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
key: username
name: postgres
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
key: database
name: postgres
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: postgres

然后按 ESC 和 :wq 保存退出
【5】检查 pod 是否更新,并运行正常
kubectl -n relaxed-shark get pod
