ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(我们总害怕死亡,而如果人真的可以永远活着,我想人们同样会像害怕死亡一样害怕永恒,或厌倦永恒)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ
kubernetes 入门实践-搭建集群
kubernetes 入门实践-k8s集群可视化组件 dashbord
configmap是k8s的一个配置管理组件,可以将配置以key-value的形式传递,通常用来保存不需要加密的配置信息,加密信息则需用到Secret,主要用来应对以下场景:
使用k8s部署应用,当你将应用配置写进代码中,就会存在一个问题,更新配置时也需要打包镜像,configmap可以将配置信息和docker镜像解耦。
使用微服务架构的话,存在多个服务共用配置的情况,如果每个服务中单独一份配置的话,那么更新配置就很麻烦,使用configmap可以友好的进行配置共享。
其次,configmap可以用来保存单个属性,也可以用来保存配置文件。
ConfigMap 允许你将配置文件与镜像文件分离,以使容器化的应用程序具有可移植性。
创建ConfigMap配置文件创建configmap.yaml,其中data就是定义的键值对,namespace是命名空间,name是configmap模板的名称
apiVersion: v1 kind: ConfigMap metadata: name: vue-configmap namespace: vue data: CONFIGMAP_APP_VERSION: "app 1.0" CONFIGMAP_WEB_VERSION: "web q.0"应用configmap文件
# 应用yaml配置文件 kubectl apply -f configmap.yaml
查看dashboard中的configmap配置
通过命令查看configmap配置
在原pod文件release-deploy.yaml的基础上加入了以下配置
name: 字段别名
configMapKeyRef.name: configmap配置名称
configMapKeyRef.key: 从configmap模板中获取的key
- name: configmap-name valueFrom: configMapKeyRef: name: vue-configmap key: CONFIGMAP_APP_VERSION - name: configmap-name2 valueFrom: configMapKeyRef: name: vue-configmap key: CONFIGMAP_WEB_VERSION
以下是完整的Pod配置,不清楚的可以看前面的文章
kubernetes 入门实践-搭建集群
apiVersion: apps/v1 kind: Deployment metadata: name: vue-deployment namespace: vue labels: app: vue-deployment-labels spec: selector: matchLabels: app: vue-pod replicas: 3 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 1 template: metadata: name: vue-pod labels: app: vue-pod spec: containers: - name: vue-container image: zhangzwmmm/cgame:vue-master-2919c3e2acd37a1d69cfd2fe1b943d03eb02ac68 env: - name: HOST value: "www.baidu.com" - name: PORT value: "80" - name: configmap-name valueFrom: configMapKeyRef: name: vue-configmap key: CONFIGMAP_APP_VERSION - name: configmap-name2 valueFrom: configMapKeyRef: name: vue-configmap key: CONFIGMAP_WEB_VERSION imagePullPolicy: IfNotPresent ports: - containerPort: 80 resources: requests: memory: "64Mi" cpu: '250m' limits: memory: "128Mi" cpu: "500m" imagePullSecrets: - name: docker-secret
# 重新应用pod配置,会重启pod kubectl apply -f release-deploy.yaml
查看pod已重启生效
通过dashboard查看pod的环境变量
通过命令查看pod环境变量
kubectl exec vue-deployment-745b467f79-khxdh -n vue -- printenv
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)