删除容器与镜像:
首先:
kubectl get all 查到之前创建的nginx容器和服务名字,然后删掉
kubectl delete deployment.apps/nginx
kubectl delete service/nginx
1、创建
kubectl run nginx --replicas=3 --labels="app=nginx-example" --image=nginx:1.10 --port=80
2、查看
#查看副本
[root@master ~]# kubectl get deploy
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
nginx 3 3 3 3 18h
#查看容器与标签
[root@master ~]# kubectl get pods --show-labels
NAME READY STATUS RESTARTS AGE LABELS
nginx-5b8c7bbc4c-6zt6w 1/1 Running 0 18h app=nginx-example,pod-template-hash=1647366707
nginx-5b8c7bbc4c-jmzf9 1/1 Running 0 18h app=nginx-example,pod-template-hash=1647366707
nginx-5b8c7bbc4c-r7ljf 1/1 Running 0 18h app=nginx-example,pod-template-hash=1647366707
#根据标签名字查看服务
[root@master ~]# kubectl get pods -l app=nginx-example
NAME READY STATUS RESTARTS AGE
nginx-5b8c7bbc4c-6zt6w 1/1 Running 0 18h
nginx-5b8c7bbc4c-jmzf9 1/1 Running 0 18h
nginx-5b8c7bbc4c-r7ljf 1/1 Running 0 18h
#查看资源的详细信息
[root@master ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-5b8c7bbc4c-6zt6w 1/1 Running 0 18h 172.17.13.2 192.168.1.42
nginx-5b8c7bbc4c-jmzf9 1/1 Running 0 18h 172.17.94.5 192.168.1.40
nginx-5b8c7bbc4c-r7ljf 1/1 Running 0 18h 172.17.94.3 192.168.1.40
--
3、发布
根据kubectl get deploy 找到name 名字
#然后更加name运行,
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service
#查看创建的服务:
[root@master ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.10.10.1 <none> 443/TCP 7d
nginx-service NodePort 10.10.10.107 <none> 88:42784/TCP 24s
现在就可以在节点上面测试了:
curl 10.10.10.107:88 或者页面访问:http://192.168.1.40:42784
具体信息查看:
kubectl describe service nginx-service
4、故障排查
#查服务状态
kubectl describe TYPE NAME_PREFIX
例如:
replicaset.apps/nginx-5b8c7bbc4c
#查服务日志
kubectl logs nginx-xxx
例如:
kubectl logs pod/nginx-5b8c7bbc4c-6zt6w
#进入容器内部查看
kubectl exec –it nginx-xxx bash
例如:
kubectl exec -it nginx-5b8c7bbc4c-jmzf9 bash
5、更新项目
#将nginx版本升级为1.11,--record代表记录
kubectl set image deployment/nginx nginx=nginx:1.11 --record
升级完成检查:
kubectl describe pod nginx-69fcd8b884-blnkg
或者直接编辑文件进行更新:
kubectl edit deployment/nginx
直接更改镜像版本即可:
升级完成检查:
kubectl describe pod nginx-86b8d5d87c-4fwvr
检查更新状态
[root@master ~]# kubectl rollout status deployment/nginx
deployment "nginx" successfully rolled out
检查更新版本:
[root@master ~]# kubectl rollout history deployment/nginx
deployments "nginx"
REVISION CHANGE-CAUSE
2 <none>
3 <none>
4 kubectl set image deployment/nginx nginx=nginx:1.13 --record=true
检查 版本3 的信息:
[root@master ~]# kubectl rollout history deployment/nginx --revision=3
6、回滚项目
#默认回滚到上个版本
kubectl rollout undo deployment/nginx
#回滚到指定版本
kubectl rollout undo deployment/nginx --to-revision=2
#查看回滚版本
kubectl describe pod nginx-86b8d5d87c-7c24f
7、扩容项目副本
#将副本数扩容到5个
kubectl scale deploy/nginx --replicas=5
#将副本缩到4个
kubectl scale deploy/nginx --replicas=4
或者:
kubectl scale deployment nginx --replicas=4
8、删除项目
kubectl delete deploy/nginx
kubectl delete service/nginx-service