kubernetes常用deploy模板,并验证

编写deploy配置文件
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 
 | root@hello:~# cat deploy.yaml apiVersion: apps/v1
 kind: Deployment
 metadata:
 name: hostname-test-cby
 labels:
 name: hostname-test-cby
 spec:
 # 副本数
 replicas: 10
 # 标签选择器
 selector:
 matchLabels:
 name: hostname-test-cby
 # 更新策略
 strategy:
 rollingUpdate:
 maxSurge: 3    # 更新最大数量
 maxUnavailable: 3    #更新时最大不可用数量
 type: RollingUpdate  #滚动更新
 # 模板
 template:
 metadata:
 labels:
 name: hostname-test-cby
 spec:
 # 配置容器
 containers:
 - name: hostname-test-cby #容器名
 image: nginx #镜像
 imagePullPolicy: IfNotPresent # 拉取策略
 resources:
 requests:
 cpu: "100m" #CPU限制
 memory: "300M" #内存限制
 # 健康监测
 livenessProbe:
 httpGet:
 path: / # 探测路径
 port: 80 # 端口
 initialDelaySeconds: 15 # 第一次探测等待
 timeoutSeconds: 3 # 探测的超时后等待多少秒
 # 就绪探测
 readinessProbe:
 httpGet:
 path: / # 探测路径
 port: 80 # 端口
 initialDelaySeconds: 10 # 第一次探测等待
 timeoutSeconds: 3 # 探测的超时后等待多少秒
 #环境变量
 env:
 - name: cby
 value: chenby
 # 配置容器端口
 ports:
 - containerPort: 80
 # 配置挂载到目录
 volumeMounts:
 - mountPath: /usr/share/nginx/html/
 name: data
 # 配置目录挂载
 volumes:
 - name: data
 hostPath:
 path: /html/
 type: Directory
 # 配置指定解析
 hostAliases:
 - ip: "192.168.1.1" #IP地址
 hostnames:
 - "cby" #主机名
 - "cby.chenby.cn" #主机名
 - ip: "192.168.1.10"#IP地址
 hostnames:
 - "chenby" #主机名
 - "chenby.chenby.cn" #主机名
 root@hello:~#
 
 
 | 
执行deploy配置文件
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | root@hello:~# kubectl apply -f deploy.yaml deployment.apps/hostname-test-cby created
 
 root@hello:~# mkdir /html
 root@hello:~# echo 123 > /html/index.html
 
 root@hello:~# kubectl  get pod  -o wide
 NAME                               READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES
 hostname-test-cby-86df45bf-9fx5n   1/1     Running   0          43s   172.17.125.38   k8s-node01   <none>           <none>
 hostname-test-cby-86df45bf-cmv2b   1/1     Running   0          43s   172.17.125.37   k8s-node01   <none>           <none>
 hostname-test-cby-86df45bf-f6drb   1/1     Running   0          43s   172.17.125.41   k8s-node01   <none>           <none>
 hostname-test-cby-86df45bf-g79x2   1/1     Running   0          43s   172.27.14.232   k8s-node02   <none>           <none>
 hostname-test-cby-86df45bf-h6blv   1/1     Running   0          43s   172.27.14.233   k8s-node02   <none>           <none>
 hostname-test-cby-86df45bf-hqjnj   1/1     Running   0          43s   172.17.125.40   k8s-node01   <none>           <none>
 hostname-test-cby-86df45bf-jt2rz   1/1     Running   0          43s   172.27.14.236   k8s-node02   <none>           <none>
 hostname-test-cby-86df45bf-s5jjn   1/1     Running   0          43s   172.27.14.235   k8s-node02   <none>           <none>
 hostname-test-cby-86df45bf-vfkbt   1/1     Running   0          43s   172.17.125.39   k8s-node01   <none>           <none>
 hostname-test-cby-86df45bf-z2x2b   1/1     Running   0          43s   172.27.14.234   k8s-node02   <none>           <none>
 root@hello:~#
 
 
 | 
进入pod进行检查
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 
 | # 访问测试root@hello:~# curl 172.17.125.38
 123
 root@hello:~#
 
 root@hello:~# kubectl  exec hostname-test-cby-86df45bf-9fx5n -it -- /bin/bash
 root@hostname-test-cby-86df45bf-9fx5n:/#
 
 # 查看dns解析
 root@hostname-test-cby-86df45bf-9fx5n:/# cat /etc/resolv.conf
 search default.svc.cluster.local svc.cluster.local cluster.local
 nameserver 10.96.0.10
 options ndots:5
 root@hostname-test-cby-86df45bf-9fx5n:/#
 
 # 查看host配置已生效
 root@hostname-test-cby-86df45bf-9fx5n:/# cat /etc/hosts
 # Kubernetes-managed hosts file.
 127.0.0.1       localhost
 ::1     localhost ip6-localhost ip6-loopback
 fe00::0 ip6-localnet
 fe00::0 ip6-mcastprefix
 fe00::1 ip6-allnodes
 fe00::2 ip6-allrouters
 172.27.14.197   hostname-test-cby-86df45bf-9fx5n
 
 # Entries added by HostAliases.
 192.168.1.1     cby     cby.chenby.cn
 192.168.1.10    chenby  chenby.chenby.cn
 root@hostname-test-cby-86df45bf-9fx5n:/#
 
 # 查看环境变量
 root@hostname-test-cby-86df45bf-9fx5n:/# echo $cby
 chenby
 root@hostname-test-cby-86df45bf-9fx5n:/#
 
 
 | 
https://www.oiox.cn/
https://www.chenby.cn/
https://cby-chen.github.io/
https://blog.csdn.net/qq\_33921750
https://my.oschina.net/u/3981543
https://www.zhihu.com/people/chen-bu-yun-2
https://segmentfault.com/u/hppyvyv6/articles
https://juejin.cn/user/3315782802482007
https://cloud.tencent.com/developer/column/93230
https://www.jianshu.com/u/0f894314ae2c
https://www.toutiao.com/c/user/token/MS4wLjABAAAAeqOrhjsoRZSj7iBJbjLJyMwYT5D0mLOgCoo4pEmpr4A/
CSDN、GitHub、知乎、开源中国、思否、掘金、简书、腾讯云、今日头条、个人博客、全网可搜《小陈运维》
文章主要发布于微信公众号:《Linux运维交流社区》