kubectl命令详解(kubectl 常用命令)
本文目录
kubectl 常用命令
# 查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间 kubectl get pod kubectl get pod -n kube kubectl get pod -o wide # 查看 RC 和 service 列表, -o wide 查看详细信息 kubectl get rc,svc kubectl get pod,svc -o wide kubectl get pod 《pod-name》 -o yaml # 显示 Node 的详细信息 kubectl describe node 《node-ip》 # 显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志 kubectl describe pod 《pod-name》 # 根据 yaml 创建资源, apply 可以重复执行,create 不行 kubectl create -f pod.yaml kubectl apply -f pod.yaml # 基于 xxx.yaml 定义的名称删除 pod kubectl delete -f pod.yaml # 删除所有包含某个 label 的pod 和 service kubectl delete pod,svc -l name=《label-name》 # 删除所有 Pod kubectl delete pod --all # 查看 endpoint 列表 kubectl get endpoints # 执行 pod 的 date 命令 kubectl exec 《pod-name》 -- date kubectl exec 《pod-name》 -- bash kubectl exec 《pod-name》 -- ping 10.24.51.9 # 通过bash获得 pod 中某个容器的TTY,相当于登录容器 kubectl exec -it 《pod-name》 -c 《container-name》 -- bash # 查看容器的日志 kubectl logs 《pod-name》 kubectl logs -f 《pod-name》 # 实时查看日志 kubectl log 《pod-name》 -c 《container_name》 # 若 pod 只有一个容器,可以不加 -c
kubectl怎么读
kubectl是一种命令行工具,用于管理Kubernetes集群。它是Kubernetes自带的工具之一,可以通过命令行访问和控制集群、部署应用程序和服务等。kubectl是Kubernetes工具箱中最常用的工具之一,通常是从终端或控制台中运行。
kubectl的读音可以分为两部分。第一部分“kube”是“Kubernetes”的简称,读作“koo-burr”。第二部分“ctl”读作“control”,表示控制工具。因此,kubectl的正确发音为“koo-burr-control”。
如果您是Kubernetes集群的管理员或开发人员,kubectl是一种非常重要的工具。通过学习和熟练掌握kubectl,您可以管理和控制集群中的各种容器和应用程序,确保它们正常运行,并具有高可用性和伸缩性。同时,通过kubectl,您还可以创建、部署和升级Kubernetes中的应用程序和服务,提高生产力和效率。
kubectl常用命令
使用 Kubectl 命令行工具可以管理 Kubernetes 集群。 kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 也可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它kubeconfig文件。 1、安装bash-completion 使用 yum install bash-completion 安装,该命令将创建文件/usr/share/bash-completion/bash_completion。 2、启用自动补全 3、为 kubectl 配置一个别名 创建对象 查看和查找资源 更新资源 批量删除处于Terminating状态的pod: 删除资源 与节点和集群进行交互
Kubectl scale 命令最佳实践
云和安全管理服务专家新钛云服 祝祥翻译
kubectl scale 是帮助我们管理 Kubernetes 部署的众多工具之一。在本文中我们将 了解如何使用此工具以及最佳使用实践 。
kubectl scale 命令通过调整正在运行的容器的数量来立即缩放应用程序。这是增加部署副本数量的最快、最简单的方法,可用于应对服务高峰以及日常维护变更。
在本文中, 我们将了解如何使用 kubectl scale来 扩展一个简单的 Kubernetes Deployment ,同时,我们还将更深入的了解该命令相关的各种参数。最终形成 kubectl scale 的最佳实践,以及一些用于调整 Kubernetes 副`本数的替代方法 。
kubectl scale 用于更改Kubernetes deployment, replica set, replication controller和 statefulset 等对象的副本数码。当我们增加副本数时,Kubernetes将启动新的Pod来扩我们的服务。降低副本数将导致 Kubernetes 优雅地终止一些 pod,从而释放集群资源。
我们可以运行 kubectl scale 来手动调整应用程序的副本数,以响应不断变化的服务容量需求。增加的流量负载可以通过增加副本数来处理,提供更多的应用程序实例来服务用户流量。当业务突发降低的时候,可以减少副本的数量。这有助于通过避免使用不需要的资源来降低成本。
kubectl scale 最基本的用法是这样的:
执行此命令将调整名为demo-deployment 的部署,使其拥有三个正在运行的副本。我们可以通过替换其名称而不是部署来定位不同类型的资源:
现在我们将看一个使用 kubectl scale 扩展部署的完整示例。这是一个定义简单部署的 YAML 文件:
将此 YAML 保存到工作目录中的demo-deployment.yaml 。接下来,使用kubectl将部署添加到我们的集群:
现在运行 kubectl get pods 命令来查看已为部署创建的 pod:
单个副本不足以用于生产应用程序。如果托管 pod 的节点出于任何原因离线,我们可能会遇到停机时间。使用 kubectl scale 增加副本数以提供更多空间:
重复 kubectl get pods 命令以确认部署已成功扩容:
现在有五个 Pod 正在运行。从AGE列可以看到scale命令保留了原来的 pod 并新增了 4 个。
经过进一步思考,我们可能会决定此应用程序不需要五个副本。它只运行一个静态 NGINX Web 服务器,因此每个用户请求的资源消耗应该很低。再次使用scale命令来降低副本数并避免浪费集群容量:
重复 kubectl get pods 命令:
***隐藏网址***
有时我们可能想要扩展资源,但前提是已经有特定数量的副本在运行。这可以避免意外覆盖以前的副本,例如集群中其他用户所做的更改。
在命令中包含 --current-replicas 标志可以达到效果:
此示例将演示deployment扩展到五个副本,但前提是当前有三个副本正在运行。 --current -replicas 值始终完全匹配;我们不能将条件表示为“小于”或“大于”特定计数。
当我们提供多个名称作为参数时, kubectl scale 命令可以一次缩放多个资源。每个资源都将缩放到由 --replicas 标志设置的相同副本计数。
此命令将应用程序和数据库deployment扩展到每个五个副本。
我们可以通过提供 --all 标志来扩展特定类型的每个资源,例如此示例以扩展默认命名空间中的所有部署:
这会选择当前活动命名空间内的每个匹配资源。缩放的对象显示在命令的输出中。
***隐藏网址***
--timeout 标志设置 Kubectl 在放弃缩放操作之前将等待的时间。默认情况下,没有等待期。该标志接受可读的时间值,例如5m或1h:
如果无法立即完成缩放更改,这可以让我们避免长时间的终端挂起。尽管 kubectl scale 是一个命令式命令,但在将新 pod 调度到节点时,对缩放的更改有时可能需要几分钟才能完成。
使用 kubectl scale 通常是扩展工作负载的最快、最可靠的方法。但是,为了安全操作,需要记住一些最佳实践。如下所示:
首先将 spec.replicas 字段更改为我们所需的新副本数:
现在对修改后的文件重复 kubectl apply 命令:
kubectl scale 的另一个替代方案是 Kubernetes 对自动缩放的支持。配置此机制允许 Kubernetes 根据 CPU 使用率和网络活动等指标在配置的最小值和最大值之间自动调整副本计数。
kubectl scale命令是扩展 Kubernetes deployments, replica sets, replication controllers以及stateful sets的通用方式。它在每次调用时以一个或多个对象为目标,并对其进行缩放,以便运行指定数量的 pod。
我们可以选择设置条件,因此只有在存在特定数量的现有副本时才会更改比例,从而避免在错误方向上意外调整大小。
同时我们也希望能够遵循一些本文所提到的最佳时实践,从而平稳,可靠的实现资源的扩缩容。
***隐藏网址***
kubectl常用命令总结
kubectl 其中 command 、 TYPE 、 NAME 和 flags 分别是: command :指定要对一个或多个资源执行的操作,例如 create 、 get 、 describe 、 delete 。 TYPE :指定资源类型。资源类型不区分大小写,可以指定单数、复数或缩写形式。例如,以下命令输出相同的结果: NAME :指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息 kubectl get pods 。 在对多个资源执行操作时,您可以按类型和名称指定每个资源,或指定一个或多个文件: 要按类型和名称指定资源: 要对所有类型相同的资源进行分组,请执行以下操作: TYPE1 name1 name2 name《#》 。 例子: kubectl get pod example-pod1 example-pod2 分别指定多个资源类型: TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE《#》/name《#》 。 例子: kubectl get pod/example-pod1 replicationcontroller/example-rc1 用一个或多个文件指定资源: -f file1 -f file2 -f file《#》 使用 YAML 而不是 JSON 因为 YAML 更容易使用,特别是用于配置文件时。 例子: kubectl get pod -f ./pod.yaml flags : 指定可选的参数。例如,可以使用 -s 或 -server 参数指定 Kubernetes API 服务器的地址和端口。 注意:从命令行指定的参数会覆盖默认值和任何相应的环境变量。 如果您需要帮助,只需从终端窗口运行 kubectl help 即可。 kubectl get - 列出一个或多个资源 kubectl describe - 显示一个或多个资源的详细状态,默认情况下包括未初始化的资源。 说明: kubectl get 命令通常用于检索同一资源类型的一个或多个资源。 它具有丰富的参数,允许您使用 -o 或 --output 参数自定义输出格式。您可以指定 -w 或 --watch 参数以开始观察特定对象的更新。 kubectl describe 命令更侧重于描述指定资源的许多相关方面。它可以调用对 API 服务器 的多个 API 调用来为用户构建视图。 例如,该 kubectl describe node 命令不仅检索有关节点的信息,还检索在其上运行的 pod 的摘要,为节点生成的事件等。 kubectl delete` - 从文件、stdin 或指定标签选择器、名称、资源选择器或资源中删除资源。 kubectl exec - 对 pod 中的容器执行命令。与docker的exec命令非常类似 kubectl logs - 打印 Pod 中容器的日志。
更多文章:
极客晨星少儿编程怎么样(有谁知道极客晨星少儿编程班怎么样吗)
2024年7月12日 08:43
python面向对象编程实例(Python面向对象与类是什么意思)
2024年6月22日 21:45
fseek fp 20l 2(函数调用语句:fgets(buf,n,fp)中,buf,n,fp的含义分别是什么)
2024年7月18日 10:26
webservice被取代(翻译行业前景怎么样,会被人工智能取代吗)
2024年6月19日 02:13
心慌头冒冷汗是怎么回事(遇到事就心急心慌心跳加速头晕冒冷汗是怎么回事)
2024年7月22日 23:23
web ui框架(哪个才是最适合你的WebUI自动化测试框架)
2024年6月27日 11:46
postgresql集群(postgresql和mysql的区别)
2024年6月24日 12:58
pc端网页设计公司(比较好的网站设计公司具备哪些特点_网页设计公司有哪些)
2024年7月29日 04:56
uml图用什么软件(uml建模,画图,有谁知道这图片是用什么软件画的吗)
2024年6月28日 16:31
表格如何设为table格式(如何将Excel中的表格转换成HTML中的table)
2024年7月1日 17:07
redis api(关于redis的异步api,为什么很少有人用异步方式没必要吗)
2024年7月19日 14:12