项目的生命周期
创建-->发布-->更新-->回滚-->删除
创建 kubectl create命令
[root@master01 ~]# kubectl create deployment zly2 --image=nginx:1.14 --port=80 --replicas=3
#创建一个zly2的实例。暴露端口80,设置副本数3个
[root@master01 ~]# kubectl get pods
[root@master01 ~]# kubectl get all
发布 kubectl expose命令
[root@master01 ~]# kubectl expose deployment zly2 --port=80 --target-port=80 --name=zly2-service --type=NodePort
#为deployment的zly2创建service,并通过Service的80端口转发至容器的80端口上,Service的名称为zly2-service,类型为NodePort
Kubernetes 之所以需要 Service,一方面是因为 Pod 的 IP 不是固定的(Pod可能会重建),另一方面则是因为一组 Pod 实例之间总会有负载均衡的需求。
Service 通过 Label Selector 实现的对一组的 Pod 的访问。
对于容器应用而言,Kubernetes 提供了基于 VIP(虚拟IP) 的网桥的方式访问 Service,再由 Service 重定向到相应的 Pod。
service 的 type 类型
查看pod网络状态详细信息和 Service暴露的端口
[root@master01 ~]# kubectl get pods,svc -o wide
查看关联后端的节点
[root@master01 ~]# kubectl get endpoints
查看 service 的描述信息
[root@master01 ~]# kubectl describe svc zly2
在 node01 节点上操作,查看负载均衡端口
[root@node01 ~]# yum install ipvsadm -y
[root@node01 ~]# ipvsadm -Ln
在 node02 节点上操作,同样方式查看负载均衡端口
[root@node02 ~]# yum install ipvsadm -y
[root@node02 ~]# ipvsadm -Ln
[root@node01 ~]# curl 10.244.1.13
[root@node01 ~]# curl 127.0.0.1:30001
在master01操作 查看访问日志
[root@master01 ~]# kubectl logs zly2-5999bc97fb-6g4qv
[root@master01 ~]# kubectl logs zly2-5999bc97fb-vt5wf
[root@master01 ~]# kubectl logs zly2-5999bc97fb-szzdm
更新 kubectl set
更改现有应用资源一些信息
获取修改模板
[root@master01 ~]# kubectl set image --help
Examples:
# Set a deployment's nginx container image to 'nginx:1.9.1', and its busybox
container image to 'busybox'.
kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1
回滚kubectl rollout
[root@master01 damo]# kubectl rollout --help
#对资源进行回滚管理
[root@master01 damo]# kubectl rollout history deployment/nginx
#查看历史版本
[root@master01 damo]# kubectl rollout undo deployment/nginx
[root@master01 damo]# kubectl rollout undo deployment/nginx --to-revision=1
[root@master01 damo]# kubectl rollout status deployment/nginx
删除kubectl delete
[root@master01 damo]# kubectl delete deployment/damo
#删除副本控制器
[root@master01 damo]# kubectl delete svc/nginx-service
[root@master01 damo]# kubectl get all