K8S常用命令

K8S 常用命令总结

适用kubectl的快捷设置方式
source <(kubectl completion bash)

查看集群里所有pod信息
kubectl get pods -A

查看指定namespace下的pod
kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system

查看指定namespace下的pod的部署信息
kubectl get pods -o wide kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system

查看集群健康情况
kubectl get cs

查看集群里的deployment
kubectl get deployment -A

查看名字为nginx-app的deployment信息
kubectl get deployment nginx-app

查看default namespace下的replicaSet和service信息
kubectl get rc,services

查看pod的日志信息
kubectl logs $POD_NAME

查看kubernete的版本信息
kubectl cluster-info

查看集群里的namespace信息
kubectl get namespaces

查看集群核心组件版本信息
kubectl api-versions

查看事件
kubectl get events

查看集群工作节点信息
kubectl get nodes

删除工作节点k8s2
kubectl delete node k8s2

查看deployment nginx-test回滚状态
kubectl rollout status deploy nginx-test

通过文件创建pod
kubectl create -f ./nginx.yaml

创建名为nginx,image为nginx的pod
kubectl run nginx --image=nginx

查看pod和svc的定义,explain还是挺重要的,可以用来查看resourse里的属性值
kubectl explain pod,svc

给指定的deployment nginx暴露service,端口为80,服务名字为nginx-service
kubectl expose deploy nginx --port=80 --target-port=8000 --name=nginx-service

给pod增加label,app=test
kubectl label pods nginx-pod app=test

给pod增加annote
kubectl annotate pods nginx-pod icon-url=http://goo.gl/XXBTWq

扩展deployment
kubectl autoscale deployment foo --min=2 --max=10

编辑svc,docker-registry
kubectl edit svc/docker-registry

扩展foo为3个副本
kubectl scale --replicas=3 rs/foo

删除pod
kubectl delete -f ./pod.json

强制删除pod
kubectl delete pods prometheus-7fcfcb9f89-qkkf7 --grace-period=0 --force

查看nginx-pod的日志
kubectl logs nginx-pod

查看指定container的日志
kubectl logs nginx-pod -c my-container

将node致为不可调度
kubectl cordon k8s-node

重新调度node上的pod
kubectl drain k8s-node

将node致为可调度
kubectl uncordon k8s-node

查看node上的资源使用情况
kubectl top node k8s-node

给node加上taint
kubectl taint nodes foo dedicated=special-user:NoSchedule

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×