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

一、陈述式管理

1.1、陈述式资源管理方法

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

二、K8S相关信息查看

2.1 查看版本信息

kubectl version

2.2 查看节点信息

kubectl get nodes

2.3 查看资料对象简写

kubectl api-resources

2.4 查看集群信息

kubectl cluster-info

2.5 配置kubectl自动补全

source <(kubectl completion bash)

可通过TAB键实现命令补全,建议将其写入 /etc/profile或是~/.bashrc

2.6 查看日志

journalctl -u kubelet -f

三、 查看基本信息

##命令格式:
kubectl get [-o wide|json|yaml] [-n namespace]

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

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

3.1、 查看master节点状态

kubectl get componentstatuses#componentstatues可以缩写成cs
kubectl get cs

3.2、 查看命名空间

kubectl get namespace#namespace可以缩写成ns
kubectl get ns

获取所有命名空间中的 Pod 列表

kubectl get pod --all-namespaces
kubectl get pod -A#获取所有命名空间中的 Pod 列表

3.3、 查看default命名空间的所有资源

kubectl get all [-n default]

由于deafult为缺省空间,当不指定命名空间时默认查看default命名空间

3.4、创建命名空间

kubectl create ns lyhdb
kubectl get ns

同一命名空间不能有相同的名字,不同命名空间可以有相同的名字

3.5、删除命名空间

kubectl delete namespaces lyhdb
kubectl get ns

可以删除,但是如果这个命名空间下面有资源,资源就都会被删除,再三考虑哦

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

 kubectl create deployment nginx-ab --image=nginx -n kube-public#这个命令 kubectl create deployment nginx-ab --image=nginx -n kube-public 用于在命名空间 kube-public 中创建一个名为 nginx-ab 的 Deployment,并使用 nginx 镜像作为 Deployment 中的容器。kubectl:Kubernetes 命令行工具,用于与 Kubernetes 集群进行交互。
create deployment nginx-ab:创建一个名为 nginx-ab 的 Deployment。
--image=nginx:指定 Deployment 中要使用的容器镜像为 nginx。
-n kube-public:指定要将 Deployment 创建在 kube-public 命名空间中。

kubectl create <pod控制器名> <pod名称> --image=镜像名

                          Deployment:无状态应用部署

                          Statefulset:有状态应用部署

                          Replicaset:副本数量控制器

                          Daemonset:确保所有节点运行同一类 Pod

                          Cronjob:计划性任务

示例二

用kubectl create 创建

用于创建deployment 控制器管理的pod

 用run直接创建

run:用于创建一个自主式/静态 Pod

[root@master01 ~]#kubectl run qqq --image=nginx -n kube-public   ##创建qqq
[root@master01 ~]#kubectl  get pod -n kube-public
[root@master01 ~]#kubectl delete pod qqq -n kube-public          ##删除qqq
[root@master01 ~]#kubectl get pod -n kube-public

3.7、描述某个资源的详细信息

kubectl describe deployment nginx-ab -n kube-publickubectl describe pod nginx-aa-66b8d4497f-cdj44 -n kube-public

3.8、查看命名空间kube-public中的pod信息

kubectl get pods -n kube-public

3.9、kubectl exec可以跨主机登录容器,docker exec 只能在容器所在主机上登录

[root@master01 ~]#kubectl exec -it nginx-ab-5f7467856-69mtq bash -n kube-public

示例二

[root@master01 ~]#kubectl  get pods -n kube-public
[root@master01 ~]#kubectl exec -it nginx-abc-64d49d89f5-lf8vc  bash -n kube-public

kubectl get pods -n kube-public -owide#用于获取在 kube-public 命名空间中运行的所有 Pods 的详细信息,包括它们的名称、状态、IP 地址等。 -n kube-public 参数指定了命名空间为 kube-public,而 -owide 参数指定了输出的格式为 wide,这样可以显示更多的列。#将会列出在 kube-public 命名空间中运行的所有 Pods,并显示它们的详细信息。

3.10、删除(重启)pod资源,由于存在deployment/rc之类的副本控制器,删除pod也会重新拉起来

kubectl delete pod nginx-ab-5f7467856-69mtq -n kube-public

若pod无法删除,总是处于terminate状态,则要强行删除pod

kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0
#grace-period表示过渡存活期,默认30s,在删除pod之前允许POD慢慢终止其上的容器进程,从而优雅退出,0表示立即终止pod

3.11、扩缩容

​kubectl scale deployment nginx-bb --replicas=5 -n kube-public   # 扩容kubectl scale deployment nginx-bb --replicas=2 -n kube-public   # 缩容kubectl  scale pod控制器类型 资源名称 --replicas=副本数  -n 命名空间
##副本数决定扩容还是缩容

3.11.1 扩容

kubectl create deployment nginx-qw --image=nginx -n kube-public
kubectl get pods -n kube-public
kubectl scale  deployment nginx-qw  --replicas=5 -n kube-public      ##扩容5个副本

3.11.2缩容

##在扩容的基础上进行缩容
kubectl  scale  deployment nginx-qw --replicas=2 -n kube-public

3.12、删除副本控制器

kubectl get pods -n kube-public
kubectl delete deployments nginx-qw -n kube-public

kubectl get pods -n kube-public
kubectl delete deployment/nginx-ab -n kube-public
kubectl delete deployment/nginx-abc -n kube-public
kubectl delete deployment/abc -n kube-public
kubectl get pods -n kube-public

3.13、查看标签

kubectl get pod --show-labels  #查看所有资源的标签
kubectl get pod -l app         #指定标签的键查看,只显示标签为app的资源
kubectl get pod -l app -A
kubectl get pod -l app=nginx-deployment #显示包含app标签且值为nginx的资源

kubectl get pod -l app=nginx-deployment
kubectl get pod -l app=nginx-deployment -A

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

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

相关文章

Elasticsearch集群和Logstash、Kibana部署

1、 Elasticsearch集群部署 服务器 安装软件主机名IP地址系统版本配置ElasticsearchElk10.3.145.14centos7.5.18042核4GElasticsearchEs110.3.145.56centos7.5.18042核3GElasticsearchEs210.3.145.57centos7.5.18042核3G 软件版本&#xff1a;elasticsearch-7.13.2.tar.gz 示…

ubuntu18 安装python3.8

在Ubuntu 18.04上安装Python 3.8可以通过以下步骤完成&#xff1a; 1.更新包列表和已安装的包&#xff1a; sudo apt update sudo apt upgrade 2.安装依赖项&#xff1a; sudo apt install -y software-properties-common 3.添加Python 3.8的PPA&#xff08;个人包归档&am…

【Docker系列】 Docker容器具体信息查询

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解

系列文章目录 Python数据类型&#xff1a;编程新手的必修课深入探索Python字符串&#xff1a;技巧、方法与实战Python 函数基础详解Python正则表达式详解&#xff1a;掌握文本匹配的魔法Python文件操作宝典&#xff1a;一步步教你玩转文件读写Python面向对象基础与魔法方法详解…

databricks~Unity Catalog

Unity Catalog hierarchy 包含了用户授权管理信息和元数据信息 workspace with unity catalog hierarchy unity metastore Ref: https://www.youtube.com/playlist?listPLY-V_O-O7h4fwcHcXgkR_zTLvddvE_GfC

[力扣题解] 494. 目标和

题目&#xff1a;494. 目标和 思路 01背包 转换为01背包问题 难点在于看出可以用背包问题解决本题&#xff1b; 题目字面意思是划分出一堆再减去另一堆&#xff0c;得到的结果想要等于target&#xff0c;设定一堆为正&#xff0c;记为left&#xff0c;另一堆为负&#xff0…

ChatGPT类大模型应用入门了解与使用

一 前言 ChatGPT大众热情逐渐褪去&#xff0c;但在后台技术人的探索还处于热火朝天状态。如果我们生活的世界是一杯清水&#xff0c; 那类似ChatGPT的语言大模型技术的横空出世就如滴入水杯的一滴墨汁&#xff0c;第一滴很显眼&#xff0c;但实际上是后续墨汁慢慢扩散渗透才是…

Windows11下使用Qt5.14.2编译QtXlsx驱动详细步骤

原有&#xff1a;由于系统需要将QTableWidget表格中的数据导出、在Windows下最开始使用Excel.Application组件实现了导出功能&#xff0c;后面将代码转换到Ubuntu20.04下进行编译&#xff0c;发现项目.pro文件中的QT axcontainer和代码.h文件中的#include <QAxObject>跟…

基于图鸟UI的资讯名片模版开发与应用

一、引言 在前端技术日新月异的今天&#xff0c;快速、高效、美观的UI组件库和模板成为了开发者们关注的焦点。图鸟UI作为一款集成了基础布局元素、配色体系、图标icon和精选组件的UI框架&#xff0c;为前端开发者提供了极大的便利。本文将以图鸟UI为基础&#xff0c;探讨基于…

接口测试工具有哪些,哪些比较火

接口测试工具可以帮助开发人员和测试人员更高效地进行接口测试&#xff0c;以下是一些常用的接口测试工具&#xff1a; 1. **Postman** Postman 是一款广受欢迎的接口测试工具&#xff0c;它提供了丰富的功能和直观的用户界面&#xff0c;帮助开发人员和测试人员轻松进行 API…

如何让外网访问内网服务?

随着互联网的快速发展&#xff0c;越来越多的企业和个人需要将内网服务暴露给外网用户访问。由于安全和隐私等因素的考虑&#xff0c;直接将内网服务暴露在外网是非常不安全的做法。如何让外网用户安全访问内网服务成为了一个重要的问题。 在这个问题上&#xff0c;天联公司提供…

golang rune类型解析,与byte,string对比,以及应用

Golang中的rune类型是一个32位的整数类型(int32)&#xff0c;它是用来表示Unicode码点的。rune类型的值可以是任何合法的Unicode码点&#xff0c;它通常用来处理字符串中的单个字符。 在Golang中&#xff0c;字符常量使用单引号来表示&#xff0c;例如 a。使用单引号表示的字符…

rust - 使用 cargo-nextest 替代 cargo test

cargo-nextest 是新一代的rust测试程序&#xff0c;能够极大提升测试性能&#xff0c;可以完全替代 cargo test 命令。 1. 安装 cargo install cargo-nextest2. 执行测试 project ├── Cargo.toml ├── LICENSE ├── README.md ├── build.rs ├── core_utils │ …

K-means聚类模型

目录 1.定义 2.K-means聚类模型的优点 3.K-means聚类模型的缺点 4.K-means聚类模型的应用场景 5.对K-means聚类模型未来的展望 6.小结 1.定义 什么是 K-means 聚类模型&#xff1f;K-means 聚类模型是一种无监督学习算法&#xff0c;用于将数据划分为不同的组或簇&#…

Lumines推出RGBL彩色混合LED

Luminus Devices倾心打造了一款崭新的4合1 RGBL&#xff08;红绿蓝绿石灰&#xff09;LED系列&#xff0c;专为舞台与建筑照明领域量身打造&#xff0c;满足对高显色指数&#xff08;CRI&#xff09;与高输出颜色混合的苛刻需求。这一创新之举&#xff0c;无疑是照明技术的一次…

使用HiBurn烧录鸿蒙.bin文件到Hi3861开发板

鸿蒙官方文档的“Hi3861开发板第一个示例程序”中描述了——如何使用DevEco Device Tool工具烧录二进制文件到Hi3861开发板&#xff1b; 本文将介绍如何使用HiBurn工具烧录鸿蒙的.bin文件到Hi3861开发板。 获取HiBurn工具 通过鸿蒙官方文档我们知道DevEco Device Tool是一个V…

SAP--ABAP踩坑日志---日期函数的踩坑-----FIMA_DATE_CREATE

当你需要动态生成日期列的时候,出现了奇怪的BUG怎么办? 用函数循环循环产生获取下一个日期,结果出现了5.30 直接到6.1了 …我的5.31呢??? 解决方案:用这个,不要瞎用函数啊! day_col day_col 1.

Mybatis 与 MybatisPlus 打印sql日志配置

Mybatis 与 MybatisPlus 打印sql日志配置 方法一&#xff1a; Mybatis 配置&#xff1a; mybatis:configuration: ### 开启打印sql配置log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ### 开启驼峰配置 map-underscore-to-camel-case&#xff1a;trueMyb…

docker所在磁盘空间不足 迁移数据

1.查看原始目录docker info | grep "Docker Root Dir" 一般在/var/lib/docker 2.停止docker service docekr stop 3.移动数据 注意 移动前不要创建docker目录&#xff01; mv /var/lib/docker /home/docker 4.进入目录查看是否与原始目录相同&#xff0c;确认一…

LeetCode 题解:112. 路径总和,递归,JavaScript,详细注释

原题链接&#xff1a; 112. 路径总和 解题思路&#xff1a; 如果求根节点到叶子节点的路径上的节点值之和&#xff0c;假设共有3个节点&#xff0c;那么写成计算式是val1 val2 val3 sum那么将计算式转换就可以得到val3 sum - val1 - val2也就是说&#xff0c;问题可以从…