01 配置信息的传递形式:命令行参数(ymal中的command、args)、配置文件、环境变量(在spec.container.env下面写)。02 ConfigMap: Kubernetes Resource, 用来存储配置数据。03 Secret: Kubernetes Resource,存储秘密配置数据。04 ENTRYPOINT shell form程序执行在shell中;exec form程序直接执行。shell进程是不必要的,所以推荐使用exec form05 有些配置不合适写在pod中;同namespace下都环境变量可被不同容器看见,需要解耦。所以引入了新的资源ConfigMaps,一种基于环境变量和Volume的机制。06 subPath挂在部分volume instead of the whole one.07 kubectl edit 更新配置,kubectl exec 重新加载。08 从private registry拉镜像时,需在spec中指明imagePullSecrets(a docker-registry secret)。新学的Resource: ConfigMap, Secret
Review
在镜像中修改默认的启动命令属于Docker的范围,可在Dockerfile中修改ENTRYPOINT。在容器定义中修改主程序属于K8s的范围,可在ymal定义文件中修改spec.command。在sepc.args处传递命令行参数。在spec.containers.-image.env处设置环境变量(name: , value: )。创建configmap resource, 然后在pod定义中spec.volumes.configmap引用configmap, 最后在spec.containers.-image.volumeMounts出处挂在configmap volume.创建Secret资源存储隐私配置。创建docker-resitry类型的secret资源,里面包含username、password、email,然后在pod定义文件中引用该secret,便可以拉去私有仓库中的镜像。