kubectl get <resource> [-o wide|json|yaml] [-n namespace]
获取资源的相关信息,-n 指定命令空间,-o 指定输出格式
resource可以是具体资源名称,如pod nginx-xxx;也可以是资源类型,如pod;或者all(仅展示几种核心资源,并不完整)
--all-namespaces 或 -A :表示显示所有命令空间,
--show-labels :显示所有标签
-l app :仅显示标签为app的资源
-l app=nginx :仅显示包含app标签,且值为nginx的资源
//查看 master 节点状态
kubectl get componentstatuses
kubectl get cs
//查看命令空间
kubectl get namespace
kubectl get ns
//命令空间的作用:用于允许不同 命令空间 的 相同类型 的资源 重名的
//查看default命名空间的所有资源
kubectl get all [-n default]
//创建命名空间app
kubectl create ns app
kubectl get ns
//删除命名空间app
kubectl delete namespace app
kubectl get ns
//在命名空间kube-public 创建副本控制器(deployment)来启动Pod(nginx-wl)
kubectl create deployment nginx-wl --image=nginx -n kube-public
//描述某个资源的详细信息
kubectl describe deployment nginx-wl -n kube-public
kubectl describe pod nginx-wl-d47f99cb6-hv6gz -n kube-public
//查看命名空间kube-public 中的pod 信息
kubectl get pods -n kube-public
创建 kubectl create命令
启动 nginx 实例,暴露容器端口 80,设置副本数 3
kubectl create deployment nginx --image=nginx:1.14 --port=80 --replicas=3
将资源暴露为新的 Service
为deployment的nginx创建service,并通过Service的80端口转发至容器的80端口上,Service的名称为nginx-service,类型为NodePort
kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort
查看pod网络状态详细信息和 Service暴露的端口
kubectl get pods,svc -o wide
查看关联后端的节点
kubectl get endpoints
查看 service 的描述信息
kubectl describe svc nginx
将nginx 版本更新为 1.15 版本
kubectl set image deployment/nginx nginx=nginx:1.15
回滚 kubectl rollout
对资源进行回滚管理
查看历史版本
kubectl rollout history deployment/nginx
执行回滚到上一个版本
kubectl rollout undo deployment/nginx
执行回滚到指定版本
kubectl rollout undo deployment/nginx --to-revision=1
检查回滚状态
kubectl rollout status deployment/nginx
删除副本控制器
kubectl delete deployment/nginx
删除service
kubectl delete svc/nginx-service