Kubectl集群管理工具使用技巧

创建资源
创建命名空间:使用 kubectl create namespace 命令可以创建新的命名空间。

kubectl create namespace my-namespace
使用 kubectl apply 命令创建资源对象:使用 kubectl apply 命令可以从配置文件中创建或更新资源对象。

kubectl apply -f my-pod.yaml
kubectl apply -f my-deployment.yaml
kubectl apply -f my-service.yaml


使用 kubectl create 命令创建资源对象:使用 kubectl create 命令可以通过命令行参数直接创建资源对象。

kubectl create pod my-pod --image=my-image
kubectl create deployment my-deployment --image=my-image
kubectl create service my-service --port=8080 --target-port=80


从模板生成资源对象:使用 kubectl create 命令结合 --dry-run=client -o yaml 选项可以从模板生成资源对象的配置文件,并进行进一步修改或保存。

kubectl create pod my-pod --image=my-image --dry-run=client -o yaml > my-pod.yaml
kubectl create deployment my-deployment --image=my-image --dry-run=client -o yaml > my-deployment.yaml
kubectl create service my-service --port=8080 --target-port=80 --dry-run=client -o yaml > my-service.yaml
查看资源
查看所有资源对象:使用kubectl get命令可以列出当前命名空间中的所有资源对象。

kubectl get all


查看特定类型的资源:

kubectl get pods
kubectl get deployments
kubectl get services


查看所有命名空间中的资源:使用--all-namespaces选项可以列出所有命名空间中的资源对象。

kubectl get all --all-namespaces


使用标签过滤资源:使用-l选项可以根据标签过滤资源对象。

kubectl get pods -l app=my-app
kubectl get deployments -l environment=production


显示资源详细信息:使用-o yaml或-o json选项可以获取资源对象的详细信息,以YAML或JSON格式显示。

kubectl get pods <pod-name> -o yaml
kubectl get services <service-name> -o json


查看资源的事件日志:使用kubectl describe命令可以查看资源对象的事件日志,包括创建、更新和删除等操作的详细信息。

kubectl describe pod <pod-name>
kubectl describe service <service-name>


使用字段选择器显示特定字段:使用-o custom-columns选项可以选择要显示的特定字段,并按自定义列格式输出。

kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase
kubectl get services -o custom-columns=NAME:.metadata.name,TYPE:.spec.type
修改资源
使用 kubectl edit 命令进行交互式编辑:使用 kubectl edit 命令可以在默认编辑器中打开指定资源对象的配置,并进行交互式编辑。

kubectl edit pods <pod-name>
kubectl edit deployments <deployment-name>
kubectl edit services <service-name>


直接修改原有YAML文件:使用文本编辑器编辑资源对象的YAML配置文件,并使用 kubectl apply -f 命令指定配置文件将更新应用到集群中。

kubectl apply -f my-pod.yaml
kubectl apply -f my-deployment.yaml
kubectl apply -f my-service.yaml


使用 kubectl patch 命令进行部分更新:使用 kubectl patch 命令可以对资源对象进行部分更新,而不必修改整个配置文件。

kubectl patch pods <pod-name> --patch '{"spec": {"containers": [{"name": "my-container", "image": "new-image"}]}}'
kubectl patch deployments <deployment-name> --patch '{"spec": {"replicas": 3}}'
kubectl patch services <service-name> --patch '{"spec": {"type": "LoadBalancer"}}'


使用标签选择器批量修改资源:使用 kubectl label 命令可以使用标签选择器批量修改符合条件的资源对象的标签。

kubectl label pods -l app=my-app new-label=value
kubectl label deployments -l environment=production new-label=value


使用 kubectl annotate 命令添加注释:使用 kubectl annotate 命令可以为资源对象添加注释信息。

kubectl annotate pods <pod-name> description="www.aliangedu.cn"
kubectl annotate services <service-name> owner="www.aliangedu.cn"

删除资源
删除指定类型的资源:使用 kubectl delete 命令可以删除指定类型的资源对象。

kubectl delete pods <pod-name>
kubectl delete deployments <deployment-name>
kubectl delete services <service-name>


删除所有资源对象:使用 --all 选项可以删除当前命名空间中的所有资源对象。

kubectl delete all --all
删除特定命名空间中的资源:使用 -n 选项可以删除指定命名空间中的资源对象。

kubectl delete pods -n <namespace>
kubectl delete deployments -n <namespace>
kubectl delete services -n <namespace>


删除符合标签选择器条件的资源:使用 -l 选项可以根据标签选择器删除符合条件的资源对象。

kubectl delete pods -l app=my-app
kubectl delete deployments -l environment=production


批量删除资源对象:使用 --filename 或 -f 选项可以从配置文件中批量删除资源对象。

kubectl delete -f my-pods.yaml
kubectl delete -f my-deployments.yaml
kubectl delete -f my-services.yaml


删除命名空间:使用 kubectl delete namespace 命令可以删除指定的命名空间及其所有相关资源对象。

kubectl delete namespace <namespace>


请注意,删除操作是不可逆的,并且会立即删除资源对象。在删除资源对象之前,请确保你了解删除操作的影响,并谨慎操作。
posted @   哈喽哈喽111111  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示