查看版本信息
kubectl version
查看资源对象简写
kubectl api-resources
查看集群信息
kubectl cluster-info
配置kubectl自动补全
source <(kubectl completion bash)
node节点查看日志
journalctl -u kubelet -f
查看master节点状态
kubectl get componentstatuses
kubectl get cs
查看命令空间
用于允许不同命令空间的相同类型的资源的重名的
kubectl get namespaces
kubectl get ns
查看default命名空间的所有资源
kubectl get all -n default
不加-n 表示默认查的default
创建命名空间cc11
kubectl create ns cc11
kubectl get ns
删除命名空间cc11
kubectl delete namespaces cc11
在命名空间kube-public创建pod
kubectl create deployment nginx-test1 --image=nginx -n kube-public
kubectl get pod -n kube-public
查看这个资源的详细信息
kubectl describe deployments nginx -n kube-public
登录容器
#kubectl可以跨主机登录
kubectl exec -it replicaset.apps/nginx-test1-55f688dd9c bash -n kube-public
删除容器
由于创建是用deployment控制器,及时普通删除也会重新被拉起来
#普通删除
kubectl delete pod 容器名称 -n kube-public
#强制删除
kubectl delete pod 容器名称 -n 命名空间 --force --grace-period=0
//grace-period表示过渡存活期,默认30s,删除前会运行pod慢慢终止进程,优雅退出,这里设置0表示立即终止
扩缩容
#扩容至两个
kubectl scale deployment nginx-test1 --replicas=2 -n kube-public
#缩容至一个
kubectl scale deployment nginx-test1 --replicas=1 -n kube-public
删除副本控制器
kubectl delete deployment/nginx-test1 -n kube-public
kubectl run
创建 kubectl run 命令
kubectl run nginx --image=nginx:1.14 --port=80 --replicas=3
kubectl get pods
kubectl expose
创建service,通过service的80端口转发到容器的80端口上,service的名称为nginx-service,类型为nodeport
kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort
service类型
查看pod网络详细信息和service的端口
kubectl get pods,svc -o wide
#访问
curl 192.168.253.11:30085
kubectl set
查看当前nginx的版本号
curl -I http://192.168.253.11:30085
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Wed, 18 Aug 2021 08:45:19 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 04 Dec 2018 14:44:49 GMT
Connection: keep-alive
ETag: "5c0692e1-264"
Accept-Ranges: bytes
更新版本为1.15
kubectl set image deployment.apps/nginx nginx=nginx:1.15
#动态监听pod状态
//默认滚动更新,先生成一个新的pod,然后删除旧pod
kubectl get pods -w
#更新完pod的IP会改变
kubectl get pods -o wide
kubectl rollout
对资源进行回滚的管理
查看历史版本
kubectl rollout history deployment.apps/nginx
回滚命令
#回滚到上一个版本
kubectl rollout undo deployment.apps/nginx
#回滚指定版本
kubectl rollout undo deployment.apps/nginx --to-revision=1
#检查回滚状态
kubectl rollout status deployment.apps/nginx