一个完成的Deployment
volumes
当Pod中的目录,映射到宿主机时
https://github.com/SakuraGaara/alpha/blob/master/alpha-deploy-dev.yaml#L33-L36
https://github.com/SakuraGaara/alpha/blob/master/alpha-deploy-dev.yaml#L63-L66
pv和pvc的使用
PersistentVolume定义一个volume,PersistentVolumeClaim则应用这个volume,提供给pod使用
- 创建pv和pvc
https://github.com/SakuraGaara/alpha/blob/master/pv-www-dev.yaml
https://github.com/SakuraGaara/alpha/blob/master/pvc-www-dev.yaml - 应用pvc
https://github.com/SakuraGaara/alpha/blob/master/base-deploy-dev.yaml#L52-L54
https://github.com/SakuraGaara/alpha/blob/master/base-deploy-dev.yaml#L34-L35
imagePullSecrets
私有镜像拉取,需要账号密码,可通过secret保存
- 创建secret
kubectl create secret -n dev docker-registry ali-secret \ --docker-username=xxxx@163.com \ --docker-server=registry.cn-hangzhou.aliyun.com \ --docker-password=xxxxxx
- 应用secret
https://github.com/SakuraGaara/alpha/blob/master/base-deploy-dev.yaml#L27-L28
ConfigMap
有时候需要往Pod中添加一些配置,比如nginx.conf,则可以使用configmap
- 创建一个名为nginx-etc的配置文件
kubectl create configmap -n dev nginx-etc --from-file conf/nginx.conf
- 应用
https://github.com/SakuraGaara/alpha/blob/master/base-deploy-dev.yaml#L55-L57
https://github.com/SakuraGaara/alpha/blob/master/base-deploy-dev.yaml#L36-L38