k8s基本操作

kubectl 常用命令

kubectl get nodes              //* 获取节点信息
kubectl get ns                 //* 获取命名空间
kubectl get all                //* 等同于kubectl get pod,svc,deploy,rs
kubectl get svc                //* 获取服务信息,ip、端口、名称等
kubectl get pods               //* 获取pod节点信息
kubectl cluster-info           //* 查询集群信息
kubectl exec -it pod_name sh   //* 进入到pod节点
kubectl get componentstatuses  //* 查询节点健康状态
kubectl exec pod_name env      //* 查看运行的pod的环境变量
kubectl logs pods/pods_name    //* 查看某个pod的日志,"logs -f"为实时查看
kubectl create service clusterip ngx-dep --tcp=80:80     //* 创建集群ip,并映射本地端口到pod
kubectl run test --image=nginx --replicas=2              //* 创建2个名为test的nginx pod
kubectl delete deployment test -n default                //* 删除默认命名空间名为test的pod,连同副本
kubectl set image deployment/ngx-dep nginx=nginx:1.17.1  //* 更新pod节点
kubectl rollout status deployment/ngx-dep                //* 查看更新状态
kubectl rollout history deployment/ngx-dep               //* 查看历史版本信息
kubectl rollout undo deployment/ngx-dep                  //* 回滚到上个版本
kubectl rollout undo deployment/ngx-dep --to-revision=<version_index>  //* 回滚到指定版本
kubectl scale deployment/ngx-dep --replicas=5            //* 对名为ngx-dep的pod进行扩容
kubectl scale deployment/ngx-dep --replicas=2            //* 对名为ngx-dep的pod进行缩容
kubectl autoscale deployment/ngx-dep --min=2 --max=5 --cpu_percent=80  //* 自动扩缩容,cpu高于80%就扩容,低于80%就缩容,pod最少为2个,最多5个。
kubectl cordon k8s-node1    //* 不可调度该节点,当某个节点需要维护时,可以驱逐该节点上的所有pods(会删除节点上的pod,并且自动通过上面命令设置该节点不可调度,然后在其他可用节点重新启动pods)
kubectl uncordon k8s-node1  //* 待其维护完成后,可再设置该节点为可调度\
kubectl expose deployment/ngx-dep --type='NodePort' --port=80  //* 映射端口允许外部访问,然后通过kubectl get svc -o wide来查看被随机映射的端口
kubectl port-forward deployment/ngx-dep 8090:80                //* 转发本地端口访问Pod的应用服务程序,本地可以访问:curl -i localhost:8090
//* 在创建或启动某些资源的时候没有达到预期结果,可以使用如下命令先简单进行故障定位
kubectl describe deployment/ngx-dep
kubectl logs pods/ngx-dep-d554574bd-ld7gr
kubectl exec -it deployment/ngx-dep <command>

Snipaste_2020-01-23_15-48-17.png