K8S管理命令(一)

本文详细介绍了如何使用kubectl配置自动补全,查看和管理Kubernetes集群中的节点、Pod、命名空间和服务。讨论了kubectlrun与kubectlcreate、kubectldelete的区别,以及如何进行资源更新和回滚。此外,还涵盖了Service的四种类型、端口号的解析以及如何处理不可删除的Pod。总结了创建、发布、更新和回滚资源的关键命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置kubectl自动补全

source <(kubectl completion bash)

node节点查看日志

journalctl -u kubelet -f

 kubectl get pods --show tables

 

标签的格式(键值对的格式)

查看master节点的状态

kubectl get cs

 kubectl api-resources | grep namespace

default #系统的默认命名空间

查看default命名空间下的所有资源

 

 

 

 

创建命名空间

kubectl create ns ky18(删除用delete)

 

 

区别

kubectl run:用于创建一个自主式的/静态Pod

kubectl delete pod

kubectl create deployment :用于创建deployment控制器管理的Pod

删kubectl delete deployment

kubectl scale --replicas=

kubectl get pod

 

 若pod无法删除,总是处于terminate状态,则要强行删除pod

kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0

 service的四种类型

nodeport只支持四层转发,并且端口是有限的 

如何查看一个service绑定了几个节点

 

删除标签后会自动生成一个从而达到期望值

 

将删除的标签添加回来 

 

K8S中的四种端口号:

containerPort:容器内部进程使用的端口

Port:为service在clusterIP上暴露的端口

targetPort:容器映射在pod上的端口 

nodeport:将端口映射到宿主机上,提供外部流量访问K8S集群中service的入口

k8s集群内部:客户端--> clusterIP:port -- 通过  targetport --> podip:containerport

                       客户端--> clusterIP:port -- 通过  targetport --> podip:containerport

k8s集群外部:客户端 --> nodeIP:nodeport --通过 targetport-->  podip:containerport

 

更新资源

kubectl set

回滚 kubectl   rollout 

#可以回滚到上次的版本号

 

 

 总结:

创建  

kubectl create <资源类型> <资源名称> --image=<镜像名> 【--port= --relicas】

发布

kubectl expose <资源类型> <资源名称> --port=  --target-port=  --type=ClusterIP|NodePort|...

更新

kubectl set image <资源类型> <资源名称> <容器名>=<镜像名>

回滚

kubectl rollout undo <资源类型> <资源名称>      #默认时回滚到上一个版本状态

                                                                          --to-revision=              #回滚到指定版本

<think>嗯,用户想了解Kubernetesk8s)的常用命令,我需要整理个清晰的结构来帮助他。首先,我应该回忆k8s的基础命令,比如集群管理、资源查看这些部分。然后考虑用户可能的场景,比如他可能是个刚入门的管理员或者开发者,需要部署应用、调试问题,所以命令需要覆盖这些方面。 接下来,我需要分门别类地组织这些命令。通常,k8s命令可以分为集群管理、资源操作、调试与日志、配置管理、扩展与自动伸缩、网络相关、存储管理这几个大类。每个类别下再列出常用命令和示例。 要注意用户提到的格式要求,行内数学表达式用$...$,但这里可能不太涉及数学公式,不过要确保所有的代码或命令行参数正确,比如用反引号包裹。同时,中文回答,结构清晰,分步骤说明。 可能还需要提醒用户注意权限问题,比如有些命令需要特定权限,或者不同命名空间的影响。此外,补充些常用技巧,比如别名设置,这样能提升用户的使用效率。 另外,用户可能不仅需要命令列表,还需要些解释,比如每个命令的作用和参数的意义。例如,kubectl get pods 是查看Pod,而-n指定命名空间。这样用户更容易理解何时使用这些命令。 最后,检查是否有遗漏的常用命令,比如滚动更新、回滚、端口转发这些操作,都是日常管理中会用到的。确保覆盖全面,同时不过于冗长,保持简洁明了。</think>以下为Kubernetesk8s)常用命令的整理,按照功能分类说明: --- ### 、集群管理 1. **查看集群信息** ```bash kubectl cluster-info ``` 2. **查看节点状态** ```bash kubectl get nodes ``` 3. **查看集群版本** ```bash kubectl version ``` --- ### 二、资源操作 1. **查看资源** ```bash kubectl get <资源类型> # 例如:kubectl get pods kubectl get pods -n <命名空间> # 指定命名空间 kubectl get deployments --all-namespaces # 查看所有命名空间的Deployment ``` 2. **描述资源详情** ```bash kubectl describe <资源类型>/<名称> # 例如:kubectl describe pod/nginx ``` 3. **创建/更新资源** ```bash kubectl apply -f <yaml文件> # 通过YAML文件创建或更新资源 ``` 4. **删除资源** ```bash kubectl delete <资源类型>/<名称> # 例如:kubectl delete deployment/nginx kubectl delete -f <yaml文件> # 通过YAML文件删除资源 ``` --- ### 三、调试与日志 1. **查看Pod日志** ```bash kubectl logs <pod名称> -n <命名空间> kubectl logs -f <pod名称> # 实时跟踪日志 ``` 2. **进入Pod执行命令** ```bash kubectl exec -it <pod名称> -- /bin/sh # 进入Pod的Shell环境 ``` 3. **端口转发** ```bash kubectl port-forward <pod名称> <本地端口>:<Pod端口> # 例如:kubectl port-forward nginx 8080:80 ``` --- ### 四、配置管理 1. **查看当前配置** ```bash kubectl config view ``` 2. **切换上下文(集群/用户)** ```bash kubectl config use-context <上下文名称> ``` --- ### 五、扩展与自动伸缩 1. **手动扩展Deployment副本数** ```bash kubectl scale deployment/<名称> --replicas=3 ``` 2. **自动扩缩容(HPA)** ```bash kubectl autoscale deployment/<名称> --min=2 --max=5 --cpu-percent=80 ``` --- ### 六、网络相关 1. **查看Service** ```bash kubectl get services ``` 2. **暴露Service** ```bash kubectl expose deployment/<名称> --type=NodePort --port=80 ``` --- ### 七、存储管理 1. **查看PersistentVolume(PV)** ```bash kubectl get pv ``` 2. **查看PersistentVolumeClaim(PVC)** ```bash kubectl get pvc ``` --- ### 常用技巧 1. **别名简化命令** ```bash alias k="kubectl" # 后续可用 k get pods 代替 kubectl get pods ``` 2. **查看资源简写** ```bash kubectl api-resources # 列出所有资源的缩写(如po=pods, svc=services) ``` 3. **格式化输出** ```bash kubectl get pods -o wide # 显示详细信息 kubectl get pods -o json # JSON格式输出 kubectl get pods -o yaml # YAML格式输出 ``` --- ### 注意事项 1. **命名空间**:默认操作`default`命名空间,使用`-n`指定其他命名空间 2. **权限问题**:部分命令需要`ClusterRole`权限 3. **上下文切换**:多集群环境下需注意当前操作的集群 建议通过`kubectl --help`查看命令帮助文档,例如`kubectl get --help`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chiu莓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值