Kubernetes(k8s)-ConfigMap&Secret
myluzh 发布于 阅读:434 Kubernetes
0x01 ConfigMap
数据库连接地址,这种可能根据部署环境变化的,我们不应该写死在代码里。
Kubernetes 为我们提供了 ConfigMap,可以方便的配置一些变量。
apiVersion: v1 kind: Pod metadata: name: my-app-pod spec: containers: - name: my-app image: my-app-image env: # 使用 ConfigMap 中的 DB_HOST 和 DB_PORT 配置 - name: DB_HOST valueFrom: configMapKeyRef: name: my-config-map key: DB_HOST - name: DB_PORT valueFrom: configMapKeyRef: name: my-config-map key: DB_PORT --- apiVersion: v1 kind: ConfigMap metadata: name: my-config-map data: # 定义一个 key/value 对 DB_HOST: "localhost" DB_PORT: "5432"
0x02 Secret
一些重要数据,例如密码、TOKEN,我们可以放到 secret 中。注意,数据要进行 Base64 编码。
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: my-image env: - name: DB_USERNAME valueFrom: secretKeyRef: name: db-credentials key: username - name: DB_PASSWORD valueFrom: secretKeyRef: name: db-credentials key: password --- apiVersion: v1 kind: Secret metadata: name: db-credentials type: Opaque data: # 将用户名的内容编码为 base64 字符串 username: dXNlcm5hbWU= # 将密码的内容编码为 base64 字符串 password: cGFzc3dvcmQ=
k8s kubernetes configmap secret