k8s命令
https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/
官网地址
基本命令
查看节点服务器
kubectl get nodes
查看命名空间
kubectl get ns
查看pod
kubectl get pods
#后面可以加 -n 查看别的命名空间,默认是default
#后面可以加 -o wide 查看更详细
查看控制器
kubectl get deployment
查看暴露的服务和端口
kubectl get svc
查看pod的日志
kubectl logs $podname
查看控制器或者pod的事件
kubectl describe deployment $deployment
kubectl describe pod $podname
查看组件信息
kubectl get cs
kubectl cluster-info
查看pod的群集ip
kubectl get ep
k8s的流程
-
编写dockerfile
-
使用控制器来部署应用
-
使用服务来对外暴露应用
1. 创建应用
使用命令来创建
kubectl create deployment nginx --image=nginx:1.14
使用yaml文件创建
kubectl create deployment nginx --image=nginx:1.14 --dry-run=client -o yaml > nginx.yaml
#空运行创建一个nginx的yaml文件
kubectl apply -f nginx.yaml
2.服务应用
kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePort
#暴露服务端口
#--port:是pod内部通信的端口
#--target-port:是服务的端口,和dockerfile里的expose暴露的端口一致
3. 服务升级
把nginx从1.14升级到1.15版本
-
使用yaml文件升级
-
使用kubectl edit deployment/nginx, 找到image进行修改
-
使用命令升级
kubectl set image deployment nginx nginx=nginx:1.5
4. 服务缩放 (水平扩容,横向扩容)
kubectl scale deployment nginx --replicas=2
#pod里扩容到两台
#也可以在yaml文件里修改replicas 副本数
5. 服务回滚
回滚到上一个版本
kubectl rollout undo deployment nginx
查看历史版本
kubectl rollout history deployment nginx
给历史版本写上注释
kubectl annotate deployment/nginx kubernetes.io/change-cause="$信息"
#只能修改最后的一个版本
查看历史版本的详细信息
kubectl rollout history deployment nginx --revision=1
回滚到指定版本
kubectl rollout undo deployment nginx --to-revision=1
6. 服务删除
kubectl delete deployment nginx
#删除控制器
kubectl delete svc nginx
#删除服务
#删除相应的控制器后,pod也会自动删除,除非不是控制器创建的