初学K8S,持续记录更新中,欢迎大佬留言指导。。。
1.获取node,pod信息
kubectl get nodes
kubectl get pods
kubectl get pods -o wide #获取详细点的pod信息
kubectl get pods --all-namespaces #获取当前namespace下的pod信息
2.使用yaml文件
kubectl create -f xxx.yaml -f xxx.yaml #根据不同yaml,同时起多个服务
3.查看pod详情、日志、删除
kubectl describe pod [pod name] -n default #-n指定namespace
kubectl logs [pod name] -n default #查看default中的pod log
kubectl delete pod [pod name] -n default #删除default中的pod
#扩展:批量删除namespace为test中,pod名为test,且状态为error的pod
kubectl get pods -n test | grep Error | awk '{print $1}' | xargs kubectl delete pod -n test
4.启动
kubectl run nginx --image=nginx # 启动一个 nginx 实例
kubectl run mybusybox --image=busybox --replicas=5 #启动5个pod,即如果有容器异常退出,会自动创建新的 Pod 来替代;而异常多出来的容器也会自动回收
kubectl run mybusybox --image=busybox --replicas=5 -n test #指定跑pod的命名空间为test
5.创建、删除命名空间
kubectl create namespace new-namespace
kubectl delete namespace new-namespace
6.扩缩容
kubectl scale deployment [name] --replicas=1 #replicas数量较之前大则扩容,较之前小则缩容
7.升级、回滚
kubectl apply -f nginx-roll.yaml --record #根据nginx-roll.yaml文件进行升级,并记录
kubectl rollout undo deployment -n test nginx-roll #将test命名空间的nginx-roll直接回滚到上一个版本
kubectl rollout history deployments -n test nginx-roll #查看test命名空间的nginx-roll的升级记录
kubectl rollout history deployments -n test nginx-roll --revision=1 #回滚到version为1的版本
8.进入pod
kubectl exec -it [pod name] bash
9.安装metrics监控后,查看监控情况(metrics部署文档见另一篇文档)
kubectl top node
10.创建一个pod,并且将yaml文件输出,以nginx为例
kubectl create deployment nginxtest --image=nginx -o yaml #创建pod并输出yaml信息
kubectl create deployment nginxtest --image=nginx -o yaml --dry-run #不创建pod,仅输出yaml信息
kubectl create deployment nginxtest --image=nginx -o yaml --dry-run > nginx.yaml #生成nginx.yaml文件
11.更改svc配置
kubectl get svc #获取svc列表,查看需要修改的svc name
kubectl edit svc [svc名称]
#修改完成后保存退出即可生效