【云原生】K8s管理工具--Kubectl(一)

news2025/4/21 10:25:18

Kubectl管理

    • 一、陈述式管理
      • 1、陈述式管理方式
      • 2、Kubernetes相关信息查看
      • 3、查看节点状态
      • 4、命名空间操作
      • 5、deployment/pod操作
      • 6、扩缩容
      • 7、增加删除label
    • 二、声明式管理
      • 1、声明式管理方式
      • 2、查看资源配置清单
      • 3、解释资源配置清单
      • 4、修改资源配置清单并应用
      • 5、删除资源配置清单

一、陈述式管理

1、陈述式管理方式

  • kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
  • kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为
  • apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
  • kubectl 的命令大全
    kubectl --help
  • k8s官方中文文档:http://docs.kubernetes.org.cn/683.html
  • 对资源的增、删、查操作比较容易,但对改的操作就不容易了

2、Kubernetes相关信息查看

(1)查看版本信息
在这里插入图片描述
(2)查看节点信息
在这里插入图片描述
(3)查看资源对象
在这里插入图片描述
(4)查看集群信息
在这里插入图片描述
(5)配置kubectl自动补全

source <(kubectl completion bash)

(6)查看日志
在这里插入图片描述
(7)查看基本信息

kubectl get [-o wide|json|yaml] [-n namespace]

获取资源的相关信息,-n指定命名空间,-o指定输出格式
resource可以是具体资源名称,如"pod nhinx-xxx";也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅展示几种核心资源,并不完整)

–all-namespaces或-A:表示显示所有命名空间
–show-labels:显示所有标签
-l app:仅显示标签为app的资源
-l app=nginx:仅显示包含app标签,且值为nginx的资源

3、查看节点状态

(1)查看master节点状态

[root@master01 ~]#kubectl get componentstatuses
[root@master01 ~]#kubectl get cs

在这里插入图片描述
(2)查看命名空间

[root@master01 ~]#kubectl get namespace
[root@master01 ~]#kubectl get ns

在这里插入图片描述

4、命名空间操作

(1)查看default命名空间的所有资源

kubectl get all [-n default]

在这里插入图片描述
(2)创建命名空间

[root@master01 ~]#kubectl create ns zz

在这里插入图片描述

(3)删除命名空间

[root@master01 ~]#kubectl  delete ns zz

在这里插入图片描述

5、deployment/pod操作

(1)在命名空间kube-public创建副本控制器(deployment)来启动Pod(nginx-test)

[root@master01 ~]#kubectl create deployment nginx-zz --image=nginx -n kube-public

[root@master01 ~]#kubectl get deploy -n kube-public
NAME       READY   UP-TO-DATE   AVAILABLE   AGE
nginx-zz   0/1     1            0           45s
#get是用于获取资源的命令,deploy是资源类型的名称,-n kube-public是指定命名空间为 kube-public。
[root@master01 ~]#kubectl get pod -n kube-public
NAME                        READY   STATUS             RESTARTS   AGE
nginx-zz-68484475d5-nlklk   0/1     ImagePullBackOff   0          2m8s
#get是用于获取资源的命令,pod是资源类型的名称,-n kube-public是指定命名空间为 kube-public。

在这里插入图片描述

(2)描述某个资源的详细信息

[root@master01 ~]#kubectl describe deployment nginx-zz -n kube-public

在这里插入图片描述

[root@master01 ~]#kubectl describe pod nginx-zz -n kube-public

在这里插入图片描述

(3)查看命名空间kube-public中pod信息

[root@master01 ~]#kubectl get pods -n kube-public

在这里插入图片描述
(4)登录容器
kubectl exec 可以跨主机登录容器,docker exec 只能在容器所在主机登录

[root@master01 ~]#kubectl exec -it nginx-zz-68484475d5-nlklk bash -n kube-public

在这里插入图片描述
(5)删除pod资源

由于存在 deployment/rc 之类的副本控制器,删除 pod 也会重新拉起来

[root@master01 ~]#kubectl get pods -n kube-public
NAME                        READY   STATUS    RESTARTS   AGE
nginx-zz-68484475d5-nlklk   1/1     Running   0          33m

[root@master01 ~]#kubectl delete pod nginx-zz-68484475d5-nlklk  -n kube-public
pod "nginx-zz-68484475d5-nlklk" deleted

[root@master01 ~]#kubectl get pods -n kube-public
NAME                        READY   STATUS              RESTARTS   AGE
nginx-zz-68484475d5-c4t98   0/1     ContainerCreating   0          19s

在这里插入图片描述
(6)若无法删除pod,总是处于terminate状态,则要强行删除pod

grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅的退出,0表示立即终止pod

[root@master01 ~]#kubectl delete pod nginx-zz-68484475d5-c4t98  -n kube-public --force --grace-period=0
[root@master01 ~]#kubectl get pod -n kube-public

在这里插入图片描述

6、扩缩容

(1)扩容

[root@master01 ~]#kubectl scale deployment nginx-zz --replicas=3 -n kube-public

在这里插入图片描述
(2)缩容

[root@master01 ~]#kubectl scale deployment nginx-zz --replicas=1 -n kube-public

在这里插入图片描述
(3)删除副本控制器

[root@master01 ~]#kubectl delete deployment nginx-zz -n kube-public

在这里插入图片描述

7、增加删除label

(1)增加label

[root@master01 ~]#kubectl get deploy --show-labels
NAME    READY   UP-TO-DATE   AVAILABLE   AGE   LABELS
nginx   1/1     1            1           20h   app=nginx
[root@master01 ~]#kubectl label deploy nginx version=nginx1.14

在这里插入图片描述
(2)删除label

[root@master01 ~]#kubectl label deploy nginx version-
[root@master01 ~]#kubectl get deploy --show-labels

在这里插入图片描述
在这里插入图片描述

二、声明式管理

1、声明式管理方式

  • 适合于对资源的修改操作
  • 声明式资源管理方法依赖于资源配置清明文件对资源进行管理
  • 资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)
  • 对资源的观念里,是通过实现定义在同一资源配置清单内,再通过陈述式命令应用到k8s集群里
  • 语法格式:kubectl create/apply/delete -f -o yaml

2、查看资源配置清单

[root@master01 ~]#kubectl get deploy/nginx -o yaml

在这里插入图片描述

[root@master01 ~]#kubectl get service nginx -o yaml

在这里插入图片描述

3、解释资源配置清单

[root@master01 ~]#kubectl explain deployment.metadata

在这里插入图片描述

[root@master01 ~]#kubectl explain service.metadata

在这里插入图片描述

4、修改资源配置清单并应用

(1)修改yaml文件,并用kubectl apply -f xxxx.yaml文件使之生效

注意:当apply不生效时,先使用delete清除资源,再apply创建资源

[root@master01 ~]#kubectl get service nginx -o yaml > nginx-svc.yaml
[root@master01 ~]#vim nginx-svc.yaml 

在这里插入图片描述

(2)删除资源

[root@master01 ~]#kubectl delete -f nginx-svc.yaml 

在这里插入图片描述

(3)新建资源

[root@master01 ~]#kubectl apply -f nginx-svc.yaml 

在这里插入图片描述

(4)在线修改

直接使用kubectl edit service nginx-service在线编辑配置资源清单并保存退出即时生效(如port: 888)

此修改方式不会对yaml文件内容修改

[root@master01 ~]#kubectl edit service nginx

在这里插入图片描述
查看资源
在这里插入图片描述

5、删除资源配置清单

(1)陈述式删除

[root@master01 ~]#kubectl delete service nginx

在这里插入图片描述

(2)声明式删除

[root@master01 ~]#kubectl delete -f nginx-svc.yaml 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/520966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高级篇十三、事务基础知识

第13章_事务基础知识 1、数据库事务概述 事务是数据库区别文件系统的重要特性之一&#xff0c;当我们有了事务会让数据库始终保持一致性&#xff0c;同时我们还能通过事务的机制恢复到某个时间点&#xff0c;这样可以保证已提交到数据库的修改不会因为系统的崩溃而丢失&#…

网络通信-路由交换基础

目录 一、一个简单网络通信&#xff08;1v1&#xff09; 二、通信介质 三、交换机通信原理&#xff08;3v3、5v5&#xff09; 广播的概念 交换机转发消息时&#xff0c;怎么知道该发给哪个设备 四、路由器通信原理&#xff08;500v500、5000v5000&#xff09; 五、消息分…

App Inventor 2 算法之 - 二分算法(Binary Search)实现,快速查找定位

应用介绍 二分算法&#xff08;Binary Search&#xff09;是生活中非常常用的折半算法&#xff0c;能解决快速查找、快速定位的问题&#xff0c;主要用到数学和逻辑代码块。 本示例程序演示了采用普通遍历的方式和二分的方式分别需要几次能够猜中随机给出的数字。 二分算法&a…

k8s-CKS真题-故障排查Sysdig falco

目录 题目环境搭建安装sysdig创建容器创建目录、文件 解题 - sysdig解题 - falco错误模拟环境参考 题目 Task&#xff1a; 使用运行时检测工具来检测 Pod tomcat123 单个容器中频发生成和执行的异常进程。 有两种工具可供使用&#xff1a;sysdigfalco注&#xff1a;这些工具只…

如何有效提高企业优秀人才的留存率?

对于企业而言&#xff0c;有效的员工入职流程应是一个持续的项目。优秀人才使企业持续性发展的基石&#xff0c;那么该如何提高企业优秀人才的留存率呢&#xff1f; 有调查显示新员工入职后短时间内离职的比率日益上升&#xff0c;因此做好员工入职&#xff0c;短时间内增加员工…

msvcp140.dll是什么东西

昨天在打开photoshop软件的时候&#xff0c;突然间就提示msvcp140.dll丢失&#xff0c;无法打开运行。msvcp140.dll是什么东西呢&#xff1f;今天早上用了一个上午的时间&#xff0c;特意搞清楚了msvcp140.dll是什么以及如何修复电脑msvcp140.dll文件丢失问题。下面小编就把整理…

八年软件测试感悟--写给还在迷茫的你

不知不觉已经从事软件测试八年了&#xff0c;2015毕业到进入外包公司外包给微软做软件测试&#xff0c; 到现在加入著名的外企。八年的时间过得真快。 长期的测试工作也让我对软件测试有了比较深入的认识。但是我至今还是一个底层的测试人员&#xff0c;我的看法都比较狭隘&…

热乎的面经——水滴石穿

⭐️前言⭐️ 本文记录博主面试北京某大厂所记录的面经&#xff0c;回答答案仅供参考。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主将持续更新学习记录收获&#xff0c;友友们有任何问题可以在评论区留言 …

公网SSH远程访问家中的树莓派[无公网IP]

文章目录 前言如何通过 SSH 连接到树莓派步骤1. 在 Raspberry Pi 上启用 SSH步骤2. 查找树莓派的 IP 地址步骤3. SSH 到你的树莓派步骤 4. 在任何地点访问家中的树莓派4.1 安装 Cpolar内网穿透4.2 cpolar进行token认证4.3 配置cpolar服务开机自启动4.4 查看映射到公网的隧道地址…

计算机视觉的深度学习 Lecture4:Regularization + Optimization 笔记 EECS 498.008

课件非常好&#xff01; 数值计算梯度 问题是慢&#xff0c;每个都要注意做步长&#xff0c;求除法。 应该用求导方法解决。 SGD通过每次抽取一部分&#xff08;mini-batch&#xff09;来计算梯度&#xff0c;而不是遍历整个数据集来求梯度&#xff0c;大大增大了求梯度速…

18 KVM管理虚拟机-虚拟机生命周期总体介绍

文章目录 18 KVM管理虚拟机-虚拟机生命周期总体介绍18.1 概述18.2 虚拟机状态18.3 状态转换18.4 虚拟机标识 18 KVM管理虚拟机-虚拟机生命周期总体介绍 18.1 概述 为了更好地利用硬件资源&#xff0c;降低成本&#xff0c;用户需要合理地管理虚拟机。本节介绍虚拟机生命周期过…

零基础学网络安全

学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了.2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发.3.有时多 google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答.4.遇到实在搞不懂的,可以先放放,以后再来解决. 一…

spring的事物

这是我第三次接触事物了&#xff0c;mysql一次&#xff0c;以前的也看过一次。 事物的四大特点&#xff1a; 原子性&#xff1a;多条sql保证同时成功&#xff0c;同时失败。 一致性&#xff1a;在事物的开启和结束&#xff0c;数据库的完整性不被破坏。 隔离性&#xff1a;多线…

centos7 配置密钥登录

目录 1.xshell生成公钥 1.工具->新建用户密钥生成导向 2.选择4096下一步​编辑 3.输入用户密钥密码&#xff0c;也可以不输入 4.保存为文件 5.导出私钥文件 2.服务器配置 1.将公钥文件上传至服务器上 3.链接服务器 1.新建连接配置ip 2.设置用户身份验证 3.选择1.5上…

大疆无人机空三建模干货分享(大疆智图集群建模超详细教程)

Part 01 大疆无人机空三建模干货分享(大疆智图集群建模超详细教程) 大疆智图集群简介 大疆在今年5月推出的智图3.0.0及以上版本中加入了集群功能&#xff0c;有集群版许可的用户可以使用此功能。智图集群是由一台主节点分配任务控制多台同局域网内子节点设备进行空三和建模。集…

【Java零基础入门篇】第 ④ 期 - 继承(三)

【Java零基础入门篇】第 ④ 期 - 继承&#xff08;三&#xff09; 博主&#xff1a;命运之光专栏&#xff1a;Java零基础入门 学习目标 1.掌握继承性的主要作用、实现、使用限制&#xff1b; 2.掌握this和super的含义及其用法&#xff1b; 3.掌握方法覆写的操作&#xff1b; 4.…

内网渗透(七十)之域权限维持之重置DSRM密码

重置DSRM密码 目录服务还原模式(DSRM)是Windows域环境中域控的安全模式启动选项。每个域控都有一个本地管理员administrator账户,也就是(DSRM账户)。DSRM的用途是允许管理员在域环境出现故障或崩溃时还原、修复、重建活动目录数据库,使域环境的运行恢复正常。也就是说,DS…

关于安卓毛玻璃实现(三)recyclerview静态毛玻璃

背景 毛玻璃&#xff0c;开发中又爱又恨的一个话题&#xff0c;玩法层出不穷&#xff0c;有动态的&#xff0c;也有静态的。有的是实时模糊&#xff0c;有些只需要模糊一次&#xff0c;本文的毛玻璃实现&#xff0c;就是静态毛玻璃。 开发环境 win 10 as 4 jdk 1.8 代码 &…

在中国,年收入20W是什么水平?答案扎心了(文末附最新招聘)

最近关于“年薪20万算什么水平&#xff1f;”冲上了热搜。对此&#xff0c;许多网友纷纷表示自己的看法&#xff0c;有的认为这个收入属于中高收入人群了。 因为按照最近某招聘网站发布的《中国企业招聘薪酬报告》来看&#xff0c;今年一季度38城企业平均招聘薪酬为10101元&…

用 ChatGPT 读 Vue3 源码,会怎么样?

前言 ChatGPT 最近十分火爆&#xff0c;今天我也来让 ChatGPT 帮我阅读一下 Vue3 的源代码。 都知道 Vue3 组件有一个 setup函数。那么它内部做了什么呢&#xff0c;今天跟随 ChatGPT 来一探究竟。 实战 setup 函数在什么位置呢&#xff0c;我们不知道他的实现函数名称&…