k8s-kubectl常用命令

这篇具有很好参考价值的文章主要介绍了k8s-kubectl常用命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基础命令

1.1 get

查询集群所有资源的详细信息,resource包括集群节点、运行的Pod、Deployment、Service等。

k8s-kubectl常用命令,kubernetes,java,docker

1.1.1 查询Pod

kubectl get po -o wid

1.1.2 查询所有NameSpace

kubectl get namespace

1.1.3 查询NameSpace下Pod

kubectl get po --all-namespaces

1.1.4 查询NameSpace下所有Pod标签

kubectl get po --show-labels

k8s-kubectl常用命令,kubernetes,java,docker 1.1.5 以yaml输出pod/json信息

kubectl get po <podname> -o yaml
kubectl get po <podname> -o json

1.2 create

直接kubectl create -f filename即可创建文件内定义的resource。

kubectl create -f filename

1.3 expose

        将资源如: Pod、Service、Deployment等公开为一个新的Service。

kubectl expose deployment deployname --port=81 --type=NodePort --target-port=80 --name=service-name

k8s-kubectl常用命令,kubernetes,java,docker

1.4 run

在集群中运行一个特定的镜像。

kubectl run deployname --image=nginx:latest

在创建时指定运行的命令:

kubectl run deployname -image=busybox --command -- ping baidu.com

1.5 set 在对象上设置特定功能

将一个deployname的image改为镜像为1.0的image:

kubectl set image deploy deployname containername=containername:1.0

1.6 edit

edit提供了另一种更新resource源的操作。

kubectl edit po po-nginx-btv4j

 1.7 explain

查看文档或参考资料。

kubectl explain pod

1.8 delete 

根据 resource名或label删除resource。
        kubectl delete po podname --now 
        kubectl delete -f nginx.yaml
        kubectl delete deployment deployname

二、部署命令

2.1 *rolling-update*

        滚动更新,启动一个新的Pod,启动成功后删除旧的Pod,直到升级完毕。

kubectl rolling-update poname -f newfilename
kubectl rolling-update poname -image=image:v2 

升级回滚

kubectl rolling-update poname -rollback

2.2 rollout 管理资源的发布

查看指定资源的部署状态:

kubectl rollout status deployment/deployname

 查看指定资源的发布历史:

kubectl rollout history deployment/deployname

回滚指定资源,默认回滚至上一个版本:

kubectl rollout undo deployment/test-nginx

2.3 scale 副本扩容或缩容

 kubectl scale deployment deployname --replicas=newnumber

2.4 autoscale 

自动扩缩容设置

kubectl autoscale deployment deployname --min=minnumber --max=maxnumber 

三、集群管理命令

3.1 cordon

标记Node不可调度

kubectl cordon nodename

3.2 drain

将Node上的Pod迁移

 kubectl drain nodename --ignore-daemonsets --ignore-emptydir

3.3 uncordon*

解除Node不可调度

kubectl uncordon nodename

3.4 cluster-info

查看在集群中运行的插件:

kubectl cluster-info

查看详细信息:

kubectl cluster-info dump

四、故障诊断和调试命令

4.1 describe

descirbe与get类似,但不支持-o,get查询的是配置信息,describe查询的是集群信息(包括状态)。

k8s-kubectl常用命令,kubernetes,java,docker

4.2 logs

输出Pod内日志,如果要获得tail -f的方式,需使用-f选项。

kubectl logs -f podname

4.3 exec

与docker的exec指令类似。如果一个Pod中多个容器,需要-c指令指定容器。

kubectl exec -it podname bash
kubectl exec -it podname -c containername bash 

4.4 *port-forward*

转发一个或多个本地端口至一个pod。示例:本地端口5000,映射Pod端口

 kubectl port-forward podname 5000:6000

4.5 *proxy*

运行一个proxy到Kubernetes api server。示例:控制节点开启HTTP Rest接口:

kubectl proxy -accept-hosts=’.*’ -port=8001 -address=’0.0.0.0’

 4.6 cp

拷贝文件或目录到容器:

cp filename newfilename

4.7 auth

检查授权

4.8 *attach*

 查看Pod内容器运行日志,类似-logs 指令,多个容器需要指定容器名称。

kubectl attach podname -c containername

五、高级指令

5.1 replace

对资源进行更新,如更新替换pod。

kubectl replace -f filename

5.2 apply

        使用yaml中变更的配置,增量资源。apply不会删除原有resource,然后创建新的apply直接在原有resource的基础上进行更新。同时kubectl apply还会在resource中添加一条注释,标记当前的apply,类似于git操作。

kubectl apply -f

5.3 patch

对容器属性修改,但是不删除容器,直接对容器修改。

kubectl patch pod podname -p '{"metadata":{"labels":{"app":"nginx2"}}}'

六、设置命令

6.1 label

更新资源上的标签:

kubectl label pods my-pod new-label=newlabel

6.2 annotate

更新资源上的注释:
kubectl annotate pods my-pod icon-url=http://…… 文章来源地址https://www.toymoban.com/news/detail-805453.html

6.3 completion 用于实现kubectl工具自动补全

到了这里,关于k8s-kubectl常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K8S】Kubernetes常用命令

    查看版本信息 查看资源对象简写 查看集群信息 配置kubectl自动补全 注意:此时命令补全功能切换环境后是不生效的,如果要使切换环境后也生效需要配置全局环境变量 node节点查看日志 K8S核心组件日志怎么看 获取资源的相关信息, -n指定命令空间, -o指定输出格式 resource可

    2024年02月01日
    浏览(59)
  • 学习 Kubernetes(K8s)、常用命令

    学习 Kubernetes(K8s)是现代云原生应用开发和部署的关键,它提供了一种灵活的、自动化的方式来管理容器化的应用程序。下面是学习 Kubernetes 和一些常见命令的建议: 官方文档 :Kubernetes官方文档是学习的最佳资源之一。它包含了全面的指南、教程和参考文档,从基础概念

    2024年02月20日
    浏览(48)
  • 四、Kubernetes(k8s) 工作中的常用命令

    顾名思义, Namespace 是命名空间的意思,在 Kubernetes 中,“命名空间(Namespace)” 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一命名空间内的资源名称要唯一,但跨命名空间时没有这个要求。 命名空间作用域仅针对带有命名空间的对象,例如 Deployment、Se

    2024年02月08日
    浏览(68)
  • Kubernetes(K8s)常用命令大全:熟练编排更完美

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(46)
  • 四、Kubernetes(K8S):kubectl概述、安装、设置

    目录 概述 安装与配置kubectl 语法 命令 对象 规则结构 命令选项 资源类型 输出选项 格式化输出 自定义列 排序列表对象 常用操作示例 kubectl 是Kubernetes命令行工具。它允许用户与Kubernetes集群进行交互,并管理Kubernetes对象,如Pod、Service、Deployment等。kubectl可以在命令行界面中

    2024年02月12日
    浏览(65)
  • 使用kubectl连接远程Kubernetes(k8s)集群

    你需要准备一个Kubernetes集群,你要记下你安装Kubernetes的版本。如图我已经准备好了一个版本号为 v1.21.14 的集群: 注意下载的版本号最好与你安装的Kubernetes版本对应上,各个版本的下载地址(⚠️注意修改url中的版本号): Windows: x86_64: arm64: MacOS: Intel: Apple Silicon: Linux: x86

    2024年02月04日
    浏览(61)
  • 【Kubernetes】kubectl 常用命令

    kubectl 是 Kubernetes 提供的命令行管理工具。通过使用 kubectl ,可以管理和操作 Kubernetes。 命令 说明 create 通过文件名或标准输入创建 Kubernetes 的资源 expose 将 Kubernetes 的资源展露为一个服务 run 在集群中运行一个特定的镜像 set 修改对象的特定功能 explain 给资源添加文档说明

    2024年02月03日
    浏览(44)
  • Kubernetes(K8s)从入门到精通系列之十二:安装和设置 kubectl

    Kubernetes 命令行工具 kubectl, 让你可以对 Kubernetes 集群运行命令。 你可以使用 kubectl 来部署应用、监测和管理集群资源以及查看日志。 kubectl 版本和集群版本之间的差异必须在一个小版本号内。 例如:v1.27 版本的客户端能与 v1.26、 v1.27 和 v1.28 版本的控制面通信。 用最新兼容

    2024年02月14日
    浏览(45)
  • K8S之kubectl命令详解及示例

    目录 1、查看类命令 2、操作类命令 3、进阶命令操作 4、kubectl replace 重启pod的四种方法 5、kubectl语法 # 获取节点和服务版本信息 kubectl get nodes # 获取节点和服务版本信息,并查看附加信息 kubectl get nodes -o wide # 获取pod信息,默认是default名称空间 kubectl get pod # 获取pod信息,默认

    2024年02月01日
    浏览(51)
  • 玩转k8s:kubectl命令行工具用法详解

    Kubectl 是管理kubernetes的命令行工具,kubectl在$HOME/.kube目录下查找config配置文件。可以通过设置KUBECONFIG环境变量或设置--kubeconfig参数指定其他kubeconfig文件。 本文介绍kubectl语法和命令操作描述,并提供常见示例。包括支持的参数和子命令。 kubectl使用以下语法,在终端运行命令

    2024年02月07日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包