【kubectl详解】最全的kubectl命令用法

简介

该文章详细对kubect命令行的参数进行讲解,并将api-resource的信息整理成列表,方便查看,同时通过一系列的实践操作的命令来进行举例,便于更深刻的了解和掌握该命令的用法。

一.命令帮助翻译

kubectl -h 查看帮助信息:kubectl控制Kubernetes集群管理器。更多信息,请访问:https://kubernetes.io/docs/reference/kubectl/

1.1.基本命令(初学者):
  • create: 从文件或stdin创建资源
  • expose: 获取复制控制器、服务、部署或pod,并将其作为新的Kubernetes服务公开
  • run: 在群集上运行特定映像
  • set: 设置对象的特定功能
1.2.基本命令(中级):
  • explain: 获取资源的文档
  • get: 显示一个或多个资源
  • edit: 编辑服务器上的资源
  • delete: 按文件名、stdin、资源和名称或按资源和标签选择器删除资源
1.3.部署命令:
  • rollout: 管理资源的滚动发布
  • scale: 为部署、复制副本集或复制控制器设置新的大小
  • autoscale: 自动缩放部署、副本集、有状态集或复制控制器
1.4.群集管理命令:
  • certificate: 修改证书资源
  • cluster-info: 显示集群信息
  • top: 显示资源(CPU/内存)使用情况
  • cordon: 将节点标记为不可调度
  • uncordon: 将节点标记为可调度
  • drain: 排水节点为维护做准备
  • taint: 更新一个或多个节点上的污点
1.5.疑难解答和调试命令:
  • description显示特定资源或资源组的详细信息
  • logs打印pod中容器的日志
  • attach: 附加到正在运行的容器
  • exec: 在容器中执行命令
  • port-forward: 将一个或多个本地端口转发到一个pod
  • proxy: 运行到Kubernetes API服务器的代理
  • cp: 将文件和目录复制到容器和从容器复制文件和目录
  • auth: 检查授权
  • debug: 创建调试会话以排除工作负载和节点的故障
  • events: 列出事件
1.6.高级命令:
  • diff: 将实时版本与潜在的应用版本进行区分
  • apply: 按文件名或stdin将配置应用于资源
  • patch: 更新资源的字段
  • replace: 用文件名或stdin替换资源
  • wait: 实验:在一个或多个资源上等待特定条件
  • kustomize: 从目录或URL构建kustomization目标
1.7.设置命令:
  • label: 更新资源上的标签
  • annotate: 更新资源上的注释
  • completion: 为指定的shell(bash、zsh、fish或powershell)输出shell完成代码
1.8.插件提供的子命令:
  • 1.28.5 命令1.28.5是用户安装的插件
1.9.其他命令:
  • api-resources: 在服务器上打印支持的api资源
  • api-versions: 以“组/版本”的形式打印服务器上支持的api版本
  • config: 修改kubeconfig文件
  • plugin: 提供与插件交互的实用程序
  • version: 打印客户端和服务器的版本信息
1.10.用法

kubectl [flags] [options]
有关给定命令的详细信息,请使用“kubectl<command>–help”。
使用“kubectl选项”作为全局命令行选项列表(适用于所有命令)。

二.资源列表

2.1.资源列表及简称

在这里插入图片描述

2.2.配置kubectl自动补全

echo "source <(kubectl completion bash)" >> /root/.bashrc

三.命令操作实践

3.1.创建资源

dd

  • 创建命名空间:kubectl create ns test-ns

  • 创建deployment:kubectl create deployment nginx --image=nginx:1.14 --port=80 --replicas=3

  • 创建service: kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort

  • 创建pod: kubectl run nginx --image=nginx --image-pull-policy=IfNotPresent

  • 创建cronjob: 创建一个cronjob,并且每分钟执行一次命令date:kubectl create cronjob my-job --image=busybox --schedule="*/1 * * * *" -- date

  • 创建serviceAccount: kubectl create serviceaccount my-service-account

  • <
### 回答1: kubectl get svc命令用于获取Kubernetes集群中的服务列表。它会列出所有的服务,包括服务名称、类型、集群IP、端口、外部IP等信息。其中,svc是service的缩写。 具体使用方法为:在终端中输入kubectl get svc命令,即可获取服务列表。如果需要获取某个特定服务的详细信息,可以在命令后面加上服务名称,例如kubectl get svc my-service。 此外,kubectl get svc命令还支持一些参数,例如--namespace用于指定命名空间,--selector用于根据标签选择器获取服务列表等。可以通过kubectl get svc --help命令查看所有参数的详细说明。 ### 回答2: kubectl get svc命令Kubernetes控制台管理命令之一。该命令主要用于获取Kubernetes集群中服务(Service)的信息,包括服务名称、IP地址、端口等信息。该命令可以帮助管理员快速了解服务的状态、调试问题和管理服务。 下面详细介绍kubectl get svc命令的参数和作用: 1. -n 参数:该参数指定了命名空间(Namespace),用于查找指定命名空间下的服务信息。如果不指定命名空间,则默认查找默认命名空间(default)下的服务。 2. -o 参数:该参数指定了输出格式(Output format),用于输出服务信息的格式,常用格式包括yaml、json、wide等。 3. --show-labels:该参数用于显示服务的标签(Label)信息。 4. --sort-by:该参数用于对服务信息进行排序,可选参数为name、namespace、labels、annotations、age等。 5. --selector:该参数用于指定服务的选择器(Selector),通过选择器可以选择指定标签的服务信息。 6. --all-namespaces:该参数用于查找所有命名空间下的服务信息。 例如,可以使用kubectl get svc命令来查找指定命名空间下的服务信息: $ kubectl get svc -n dev 或者查找所有命名空间下的服务信息: $ kubectl get svc --all-namespaces 此外,kubectl get svc命令还可以与其他命令组合使用,比如结合kubectl describe svc命令来获取服务的详细信息,或者结合kubectl edit svc命令来编辑服务的配置信息等。 总之,kubectl get svc命令Kubernetes管理中非常重要的一个命令,管理员可以通过该命令快速查找和管理集群中的服务信息。掌握该命令的使用方法对于Kubernetes控制台管理非常有帮助。 ### 回答3: kubectl get svc是Kubernetes命令行工具kubectl中的一个命令,用于获取当前Kubernetes集群中所有的Service资源,并输出其信息。这个命令非常有用,因为Service是Kubernetes中非常重要的概念,是实现应用程序的负载均衡和服务发现的基础。 kubectl get svc命令的语法格式为: kubectl get svc [options] 其中,[options]是可选项,可以用于指定一些过滤条件或者输出格式等等。 常用的选项包括: - -n:指定资源所在的命名空间。 - -o:指定输出格式,可以是json、yaml、wide等等。 - -l:指定标签选择器,只显示具有指定标签的资源。 使用kubectl get svc命令可以查看当前集群中所有Service的基本信息,例如: $ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3d4h my-nginx ClusterIP 10.96.6.149 <none> 80/TCP,443/TCP 6h15m nginx NodePort 10.96.4.40 <none> 80:32767/TCP 6h16m 上面的输出结果包含了所有Service的名称、类型、集群IP、外部IP、暴露的端口号和创建时间等基本信息。 如果我们想要获取指定名称的Service的详细信息,可以使用kubectl describe svc命令,例如: $ kubectl describe svc my-nginx 这个命令会输出指定名称的Service的详细信息,包括标签、选择器、端口信息、Endpoint等等。 总之,kubectl get svc命令Kubernetes中非常常用的命令之一,通过它我们可以快速地查看和管理集群中所有的Service资源,进而实现应用程序的负载均衡和服务发现等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值