kuberctl工具的使用
基本操作
-
查看帮助
-
里面有个文档,可以看详细的内容
kubectl --help
-
-
查看pod或者deployment信息
kubectl get deployment -n 命名空间
kubectl get pod -n 命名空间
-
删除pod
-
由于有deployment, 删除pod会导致pod重新启动
kubectl delete pod <pod名> -n <命名空间>
-
-
在线修改配置
kubectl edit deployment/<deployment名> -o yaml --save-config -n namespace
-
删除deployment
-
会将 deployment 与 pod 全都删除
kubectl delete deployment <deployment名> -n <命名空间>
-
-
获取详细配置信息
kubectl get deployment dsers-notify-consumer-v1 -o yaml -n dsers-test
-
应用配置
kubectl apply -f components.yaml
-
查看node 信息
kubectl get node
-
获取k8s 所有资源
-
字段:资源名、缩写、组、是否支持命名空间、资源名称
kubectl api-resources
-
-
查看master 组件
kubectl get cs
-
查看Apiserver代理的URL
kubectl cluster-info
-
查看K8S集群详细信息
kubectl cluster-info dump
-
查看资源信息
kubectl describe <资源> <主机名称>
// 查看 ali-zb-dsers-acktest-sys-10.16.21.239 这个node的信息
kubectl describe node ali-zb-dsers-acktest-sys-10.16.21.239 -
日志查询方法
kubectl logs pod_name -n name_space
kubectl logs -f pod_name -n name_space
kubectl logs pod_name -c nginx
kubectl logs -l k8s-app=kube-dns -n kube-system
kubectl logs calico-node-frr2c -n kube-system | grep ERROR > /root/2.txt
kubectl logs --tail=200 -n dsers-test open-app-banner-consumer-v1-6db7fddb56-qmwtk
kubectl logs --since=2h -n dsers-test open-app-banner-consumer-v1-6db7fddb56-qmwtk
-
常用命令
|---------------|----------------|---------------------------------------------------------------------|
| kubectl管理命令汇总 |||
| 类型 | 命令 | 描述 |
| 基础命令 | create | 通过文件名或标准输入创建资源 |
| 基础命令 | expose | 为Deployment、Pod创建Service |
| 基础命令 | run | 在集群中运行一个特定的镜像 |
| 基础命令 | set | 在对象上设置特定的功能 |
| 基础命令 | explain | 文档参考资料 |
| 基础命令 | get | 显示一个或多个资源 |
| 基础命令 | edit | 使用系统编辑器编辑一个资源。 |
| 基础命令 | delete | 通过文件名、标准输入、资源名称或标签选择器来删除资源。 |
| 部署命令 | rollout | 管理Deployment,Daemonset资源的发布(例如状态、发布记录、回滚等) |
| 部署命令 | rolling-update | 滚动升级,仅限ReplicationController |
| 部署命令 | scale | 对Deployment、ReplicaSet、RC或Job资源扩容或缩容Pod数量 |
| 部署命令 | autoscale | 为Deploy,RS,RC配置自动伸缩规则(依赖metrics-server和hpa) |
| 集群管理命令 | certificate | 修改证书资源 |
| 集群管理命令 | cluster-info | 显示集群信息 |
| 集群管理命令 | top | 查看资源利用率(依赖metrics-server) |
| 集群管理命令 | cordon | 标记节点不可调度 |
| 集群管理命令 | uncordon | 标记节点可调度 |
| 集群管理命令 | drain | 驱逐节点上的应用,准备下线维护 |
| 集群管理命令 | taint | 修改节点taint标记 |
| 故障诊断和调试命令 | describe | 显示资源详细信息 |
| 故障诊断和调试命令 | logs | 查看Pod内容器日志,如果Pod有多个容器,-c参数指定容器名称 |
| 故障诊断和调试命令 | attach | 附加到Pod内的一个容器 |
| 故障诊断和调试命令 | exec | 在容器内执行命令 |
| 故障诊断和调试命令 | port-forward | 为Pod创建本地端口映 |
| 故障诊断和调试命令 | proxy | 为KubernetesAPIserver创建代理 |
| 故障诊断和调试命令 | cp | 拷贝文件或目录到容器中,或者从容器内向外拷贝 |
| 高级命令 | apply | 从文件名或标准输入对资源创建/更新 |
| 高级命令 | patch | 使用补丁方式修改、更新资源的某些字段 |
| 高级命令 | replace | 从文件名或标准输入替换一个资源 |
| 高级命令 | convert | 在不同API版本之间转换对象定义 |
| 设置命令 | label | 给资源设置、更新标签 |
| 设置命令 | annotate | 给资源设置、更新注解 |
| 设置命令 | completion | kubectl工具自动补全,source<(kubectlcompletionbash)(依赖软件包bash-completion) |
| 其他命令 | api-resources | 查看所有资源 |
| 其他命令 | api-versions | 打印受支持的API版本 |
| 其他命令 | config | 修改kubeconfig文件(用于访问API,比如配置认证信息) |
| 其他命令 | help | 所有命令帮助 |
| 其他命令 | version | 查看kubectl和k8s版本 |
-
常用操作
kubectl scale deployment my-deployment --replicas=3
kubectl rollout restart deployment <deployment_name> -n <namespace>