K8S常用kubectl命令汇总(持续更新中)

news2024/11/18 1:32:17

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 1. 命名空间namespace相关
    • 1.1 创建命名空间
    • 1.2 查询命名空间
  • 2. 节点node相关
    • 2.1 查看集群节点
    • 2.2 查看节点健康状态
  • 3. 容器pod相关
    • 3.1 查看pods
    • 3.2 删除pod
    • 3.3 查看pod详细信息
    • 3.4 查看pod描述信息
    • 3.5 查看deployment的日志信息
    • 3.6 查看问题pod
    • 3.7 进入pod
    • 3.8 退出pod
  • 4. 持久化存储pvc相关
    • 4.1 查看pvc
    • 4.2 删除pvc
  • 5. 服务svc相关
    • 5.1 查看svc
    • 5.2 删除svc
  • 6. 查看全部服务
  • 7. 部署服务
    • 7.1 部署所有yml文件
    • 7.2 部署某个yml文件
  • 8. 初始化集群主节点命令
    • 8.1 配置镜像列表
    • 8.2 拉取镜像
    • 8.3 初始化kubeadm
    • 8.4 其他节点加入集群
    • 8.5 生成join命令
    • 8.6 重置kubeadm
      • 8.6.1 重置kubeadm
      • 8.6.2 移除文件


命令中使用到的一些自定义参数表示的含义如下
namespacename 命名空间名称
podname pod的名称
selectorname 指yaml中定义的selector参数的值
pvcname 表示pvc的名称
deploymentname 表示deployment的名称
svcname 表示service的名称

1. 命名空间namespace相关

1.1 创建命名空间

kubectl create namespace namespacename

如创建一个名为ns-sb的命名空间

kubectl create namespace ns-sb

1.2 查询命名空间

查看全部命名空间

kubectl get namespace -A

2. 节点node相关

2.1 查看集群节点

kubectl get nodes

2.2 查看节点健康状态

kubectl get cs

3. 容器pod相关

3.1 查看pods

查看所有pod

kubectl get pod -A

查看指定命名空间中的pod

kubectl get pods -n namespacename

如查看命名空间为ns-sb的所有pod

kubectl get pods -n ns-sb

3.2 删除pod

未设置副本数或者副本数设为0则可用常规删除命令

kubectl delete pod podname -n namespacename

若设置副本数大于等于1时,则需要删除deployment

kubectl delete deployment name -n namespacename

3.3 查看pod详细信息

查看pod的名称、状态、所在集群的ip、所在节点等信息

kubectl get pod -o wide -n namespacename

3.4 查看pod描述信息

查看所有pod的详细信息(包含日志信息)

kubectl describe pod -n namespacename

查看指定pod的详细信息(包含日志信息)

kubectl describe pod podname -n namespacename

3.5 查看deployment的日志信息

查看deployment的日志

kubectl logs deploymentname -n namespacename

3.6 查看问题pod

查看有问题的pod

kubectl get pods -l selectorname -n namespacename

注:selectorname 指yaml中定义的selector参数的值

3.7 进入pod

进入pod

kubectl exec -it podname -n namespacename -- /bin/bash

3.8 退出pod

退出pod

exit

4. 持久化存储pvc相关

4.1 查看pvc

查看全部pvc

kubectl get pvc -A

查看指定命名空间的pvc

kbuectl get pvc -n namespacename

4.2 删除pvc

kubectl delete pvc pvcname -n namespacename

5. 服务svc相关

即查看service
svc是service的缩写,两者都可用

5.1 查看svc

查看全部svc

kubectl get svc -A

查看指定命名空间的svc

kubectl get svc -n namespacename

5.2 删除svc

kubectl delete svc svcname -n namespacename

6. 查看全部服务

查看全部服务,包含可选pvc、deploy、pod、svc等,也可全选,如下

kubectl get pvc,deploy,pod,svc -A

7. 部署服务

7.1 部署所有yml文件

部署所有yml文件

kubectl apply -f .

7.2 部署某个yml文件

如部署当前文件夹gitlab-yaml下的redis.yml文件

kubectl apply -f ./gitlab-yaml/redis.yml

以下为拓展

8. 初始化集群主节点命令

初始化使用的是kubeadm命令

8.1 配置镜像列表

kubeadm config images list

指定版本

kubeadm config images list --kubernetes-version v1.23.0

8.2 拉取镜像

kubeadm config images pull  --image-repository registry.aliyuncs.com/google_containers

8.3 初始化kubeadm

kubeadm init \
  --apiserver-advertise-address=172.30.0.224 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.23.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16 \
  --ignore-preflight-errors=all

–apiserver-advertise-address 集群通告地址(master 机器IP,这里用的万兆网)
–image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址
–kubernetes-version K8s版本,与上面安装的一致
–service-cidr 集群内部虚拟网络,Pod统一访问入口,可以不用更改,直接用上面的参数
–pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致,可以不用更改,直接用上面的参数

8.4 其他节点加入集群

加入集群节点的命令(包含token)在初始化完成时输出的内容中,复制保存使用即可

kubeadm join 172.30.0.224:6443 --token 4uhwg7.ldccrwsxmplqahbc \
        --discovery-token-ca-cert-hash sha256:cf6e896414b3d3169774b38f435d7789a1466c83064c173fc56537ba7e949e81

8.5 生成join命令

如果token过期或忘记加入集群的命令,使用以下命令生成新的加入集群命令(包含token)

kubeadm token create --print-join-command

8.6 重置kubeadm

如果初始化失败,或者需要重新初始化,可执行以下两个命令

8.6.1 重置kubeadm

kubeadm reset

8.6.2 移除文件

移除相关文件,不然会重置失败

sudo rm -fr ~/.kube/  /etc/kubernetes/* var/lib/etcd/*

代理访问dashboard
使用该命令可以将dashboard的服务定位到本机的8001端口

kubectl proxy

会输出Starting to serve on 127.0.0.1:8001
在这里插入图片描述
然后访问代理地址
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

查看访问权限

kubectl auth can-i create deployments --namespace=kubernetes-dashboard

输出yes表示当前用户有权限创建deployments的权限,如果是no则表示没有权限
在这里插入图片描述
删除pod


感谢阅读,祝君暴富!

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

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

相关文章

NGINX的重写与反向代理机制解析

目录 引言 一、重写功能 (一)if指令 1.判断访问使用的协议 2.判断文件 (二)return指令 1.设置返回状态码 2.返回指定内容 3.指定URL (三)set指令 1.手动输入变量值 2.调用其它变量值为自定义变…

web学习笔记(二十二)DOM开始

目录 1.DOM简介 2.DOM树 3.DOM节点 4.查找DOM节点方法汇总 5.查找子结点的属性 5.1父子关系 5.2兄弟关系 6.几个特殊元素的查找 1.DOM简介 DOM(Document Object Model) 也叫页面文档对象模型,是W3C组织推荐的处理可扩展标记语言(HTML…

蓝桥杯第十二届电子类单片机组程序设计

目录 前言 蓝桥杯大赛历届真题_蓝桥杯 - 蓝桥云课(点击查看) 单片机资源数据包_2023(点击下载) 一、第十二届比赛原题 1.比赛题目 2.题目解读 蓝桥杯第十四届电子类单片机组程序设计_蓝桥杯单片机哪一届最难-CSDN博客 二、…

TV-SAM 新型零样本医学图像分割算法:GPT-4语言处理 + GLIP视觉理解 + SAM分割技术

TV-SAM 新型零样本医学图像分割算法:GPT-4语言处理 GLIP视觉理解 SAM分割技术 提出背景TV-SAM 方法论 提出背景 论文:https://arxiv.org/ftp/arxiv/papers/2402/2402.15759.pdf 代码:https://github.com/JZK00/TV-SAM 利用了GPT-4的强大语…

深入理解Spring Security

第1章:Spring Security简介 大家好,我是小黑,在谈到网站安全的时候,Spring Security是个避不开的话题。它就像是个守门员,决定谁能进入我们的网站,又能在网站的哪些角落里走动。简单来说,Sprin…

语音合成(TTS) GPT-SoVITS认知

写在前面 小伙伴推荐,简单了解相对之前试过的其他的TTS项目,GPT-SoVITS的优点简单易用,文档完整,默认的模型效果就很好理解不足小伙伴帮忙指正 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候…

智能驾驶控制规划理论学习02-基于搜索的路径规划算法

目录 一、路径搜索问题 二、图论基础 三、图搜索方法 1、广度优先搜索(BFS) bfs与dfs的区别 bfs的搜索过程 bfs的算法实现 2、迪杰斯特拉算法(Dijkstra) 核心思想 优先级队列 Dijkstra搜索过程 Dijkstra优缺点…

MySQL(基础篇)——函数、约束

一.函数 1.定义 函数是指一段可以直接被另一段程序调用的程序或代码。 2.字符串函数 常见如下: -- 字符串拼接 SELECT CONCAT(hello,MySql) AS CONCAT -- 将字符串全部转为小写 SELECT LOWER(HEllo MYSql) AS LOWER -- 将字符串全部转为大写 SELECT UPPER(Hello…

前端mock数据 —— 使用Apifox mock页面所需数据

前端mock数据 —— 使用Apifox 一、使用教程二、本地请求Apifox所mock的接口 一、使用教程 在首页进行新建项目: 新建项目名称: 新建接口: 创建json: 请求方法: GET。URL: api/basis。响应类型&#xff1…

用Flutter开发App:助力您的移动业务腾飞

一、Flutter简介 Flutter是Google推出的用于构建多平台应用程序的开源UI框架。它使用Dart语言编写,可以编译为原生机器代码,从而提供卓越的性能和流畅的用户体验。 二、Flutter的优势 一套代码,多平台部署:Flutter可以使用一套代…

183896-00-6,Biotin-C3-PEG3-C3-NH2,可以选择性降解靶蛋白

您好,欢迎来到新研之家 文章关键词:183896-00-6,Biotin-C3-PEG3-C3-NH2,Biotin-C3-PEG3-C3-amine,生物素-C3-PEG3-C3-胺 一、基本信息 【产品简介】:Biotin-PEG3-C3-NH2是一种PROTAC linker,…

Redis在中国火爆,为何MongoDB更受欢迎国外?

一、概念 Redis Redis(Remote Dictionary Server)是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。Redis是由Salvatore Sanfilippo于2009年启动开发的,首个版本于同年5月发布。 MongoDB MongoDB…

Apache Bench(ab )压力测试

目录 参数说明示例1:压力测试示例2:测试post接口post数据文件该如何编写? apr_pollset_poll: The timeout specified has expired (70007)apr_socket_recv: Connection reset by peer (104)参考 参数说明 官方文档参考这里。 ab -c 100 -n …

JVM——JVM与Java体系结构

文章目录 1、Java及JVM简介1.1、Java是跨平台的语言1.2、JVM是跨语言的平台 2、Java发展里程碑3、Open JDK和Oracle JDK4、虚拟机与JVM4.1、虚拟机4.2、JVM 5、JVM整体结构6、Java代码执行流程7、JVM的架构模型7.1、基于栈式架构的特点7.2、基于寄存器架构的特点 8、JVM的生命周…

使用pytorch实现一个线性回归训练函数

使用sklearn.dataset 的make_regression创建用于线性回归的数据集 def create_dataset():x, y, coef make_regression(n_samples100, noise10, coefTrue, bias14.5, n_features1, random_state0)return torch.tensor(x), torch.tensor(y), coef 加载数据集,并拆分…

蓝桥杯_定时器的基本原理与应用

一 什么是定时器 定时器/计数器是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向cpu提出中断处理请求,从而实现,定时或者计数功能的外设。 二 51单片机的定时/计数器 单片机外部晶振12MHZ,…

leetcode 重复的子字符串

前要推理 以abababab为例,这里最主要的就是根据相等前后缀进行推导 s [ 0123 ] 如 t【 0123 】 f 【01 23 】 后两个分别是前后缀,第一个是总的字符串,然后可以推导 //首先还是算出…

【JavaEE】网络原理: HTTP协议相关内容

目录 HTTP 是什么 理解HTTP 协议的工作过程 HTTP 协议格式 抓包工具的使用 抓包工具的原理 抓包结果 HTTP请求 HTTP响应 协议格式总结 HTTP 请求 (Request) 认识 URL 关于 URL encode 认识 "方法" (method) get方法 post方法 其他方法 认识请求 &q…

Linux小项目:在线词典开发

在线词典介绍 流程图如下: 项目的功能介绍 在线英英词典项目功能描述用户注册和登录验证服务器端将用户信息和历史记录保存在数据中。客户端输入用户和密码,服务器端在数据库中查找、匹配,返回结果单词在线翻译根据客户端输入输入的单词在字…

李宏毅机器学习入门笔记——第四节

自注意力机制(常见的神经网络结构) 上节课我们已经讲述过 CNN 卷积神经网络 和 spatial transformer 网络。这次讲述一个其他的常用神经网络自注意力机制神经网络。 对于输入的变量长度不一的时候,采用frame的形式,进行裁剪设计。…