kubernets-基本使用

news/2025/2/15 18:58:06/文章来源:https://www.cnblogs.com/xqingh/p/18717205

作者:雪庆华
原创作品,严禁转载!

1.资源清单的结构

apiVersion:资源的API版本号。固定的,但定义时必须声明。
kind:资源的类型。固定的,但定义时必须声明。	
metadata:元数据资源,用于描述资源的信息。包括但不限于: name,labels,namespace,annotations。
spec:期望资源的运行状态。
status:资源的实际状态,由K8S组件自行维护。书写时可忽略

2.资源清单使用案例

2.1.创建工作目录
[root@master231 ~]# mkdir -pv /huazai/manifests/pods
[root@master231 ~]# cd /huazai/manifests/pods2.2.编写资源清单 
[root@master231 pods]# cat 01-pods-xiuxian.yaml
# 声明资源的版本号
apiVersion: v1
# 声明资源的类型
kind: Pod
# 声明资源的元数据信息
metadata:# 声明资源的名称name: huazai-v1-xiuxian
# 定义资源的期望状态
spec:# 定义容器的相关配置containers:# 定义容器的名称- name: c1# 定义镜像的名称image: registry.cn-hangzhou.aliyuncs.com/huazai007-k8s/apps:v1
#这又有个坑,说明文档没有写必填镜像,但是如果不填就会报错2.3.创建资源 方式一
[root@master231 pods]# kubectl create -f 01-pods-xiuxian.yaml  
pod/huazai-v1-xiuxian created
[root@master231 pods]# 
[root@master231 pods]# kubectl create -f 01-pods-xiuxian.yaml   # 非"幂等性"
Error from server (AlreadyExists): error when creating "01-pods-xiuxian.yaml": pods "huazai-v1-xiuxian" already exists方式二(推荐)
[root@master231 pods]# kubectl apply -f 01-pods-xiuxian.yaml   
# "幂等性",如果资源存在则尝试更新,如果不存在则创建。
pod/huazai-v1-xiuxian unchanged
[root@master231 pods]# 
[root@master231 pods]# kubectl apply -f 01-pods-xiuxian.yaml 
pod/huazai-v1-xiuxian unchanged2.4.查看资源1 查看Pod资源列表
[root@master231 pods]# kubectl get pods 
NAME                        READY   STATUS    RESTARTS   AGE
huazai-v1-xiuxian   1/1     Running   0          5m27s2 以长格式显示资源列表
[root@master231 pods]# kubectl get pods -o wide
NAME                        READY   STATUS    RESTARTS   AGE     IP           NODE        NOMINATED NODE   READINESS GATES
huazai-v1-xiuxian   1/1     Running   0          5m34s   10.100.2.5   worker233   <none>           <none>相关资源说明:NAME资源的名称。READY:以"/"为分隔符,右侧的数字表示Pod有多少个容器。左侧的数字表示Pod内有多少个容器处于运行状态。STATUS:资源是否处于就绪状态,目前认为"Running"就表示资源处于正常运行状态。RESTARTS:Pod内容器的重启次数总和。AGE:表示该资源创建的时间统计。IP:表示Pod的IP地址。NODE:表示Pod调度到哪个worker node节点。2.5.删除资源
[root@master231 pods]# kubectl delete -f 01-pods-xiuxian.yaml 
pod "huazai-v1-xiuxian" deleted[root@master231 pods]# kubectl get pods -o wide
No resources found in default namespace.

3. 基于标签的增删改查

1.资源没有标签 
[root@master231 pods]# cat 02-pods-xiuxian-labels.yaml
apiVersion: v1
kind: Pod
metadata:name: huazai-v1-xiuxian-labels# 给资源打标签,标签的key和value都可以自定义#labels:#  school: huazai#  class: v1
spec:containers:- name: c1image: registry.cn-hangzhou.aliyuncs.com/huazai007-k8s/apps:v1
[root@master231 pods]# 
[root@master231 pods]# kubectl apply -f 02-pods-xiuxian-labels.yaml
pod/huazai-v1-xiuxian-labels created
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
NAME                               READY   STATUS    RESTARTS   AGE   LABELS
huazai-v1-xiuxian-labels   1/1     Running   0          12s   <none>
[root@master231 pods]#2.编写资源清单
[root@master231 pods]# cat 02-pods-xiuxian-labels.yaml
apiVersion: v1
kind: Pod
metadata:name: huazai-v1-xiuxian-labels# 给资源打标签,标签的key和value都可以自定义labels:school: huazaiclass: v1
spec:containers:- name: c1image: registry.cn-hangzhou.aliyuncs.com/huazai007-k8s/apps:v1
[root@master231 pods]# 3.给资源打标签
[root@master231 pods]# kubectl apply -f 02-pods-xiuxian-labels.yaml
pod/huazai-v1-xiuxian-labels configured
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
NAME                               READY   STATUS    RESTARTS   AGE   LABELS
huazai-v1-xiuxian-labels   1/1     Running   0          73s   class=v1,school=huazai
[root@master231 pods]# 4.基于标签匹配Pod,从而删除Pod
[root@master231 pods]# kubectl get pods --show-labels
NAME                               READY   STATUS    RESTARTS   AGE     LABELS
huazai-v1-xiuxian-labels   1/1     Running   0          4m13s   class=v1,school=huazai
[root@master231 pods]# 
[root@master231 pods]# kubectl delete pods -l class=v1
pod "huazai-v1-xiuxian-labels" deleted
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
No resources found in default namespace.
[root@master231 pods]# 5.基于名字删除
[root@master231 pods]# kubectl apply -f 02-pods-xiuxian-labels.yaml 
pod/huazai-v1-xiuxian-labels created
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
NAME                               READY   STATUS    RESTARTS   AGE   LABELS
huazai-v1-xiuxian-labels   1/1     Running   0          5s    class=v1,school=huazai
[root@master231 pods]# 
[root@master231 pods]# cat 02-pods-xiuxian-labels.yaml 
apiVersion: v1
kind: Pod
metadata:name: huazai-v1-xiuxian-labels# 给资源打标签,标签的key和value都可以自定义#labels:#  school: huazai#  class: v1
spec:containers:- name: c1image: registry.cn-hangzhou.aliyuncs.com/huazai007-k8s/apps:v1
[root@master231 pods]# 
[root@master231 pods]# kubectl apply -f 02-pods-xiuxian-labels.yaml 
pod/huazai-v1-xiuxian-labels configured
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
NAME                               READY   STATUS    RESTARTS   AGE   LABELS
huazai-v1-xiuxian-labels   1/1     Running   0          71s   <none>
[root@master231 pods]# 6.基于资源的名称删除Pod
[root@master231 pods]# kubectl get pods --show-labels
NAME                               READY   STATUS    RESTARTS   AGE     LABELS
huazai-v1-xiuxian-labels   1/1     Running   0          2m31s   <none>
[root@master231 pods]# 
[root@master231 pods]# kubectl delete pod huazai-v1-xiuxian-labels 
pod "huazai-v1-xiuxian-labels" deleted
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
No resources found in default namespace.
[root@master231 pods]# 

4.响应式管理Pod资源

1.创建Pod资源
[root@master231 pods]# kubectl run xiuxian --image=registry.cn-hangzhou.aliyuncs.com/huazai007-k8s/apps:v1
pod/xiuxian created2.查看Pod资源
[root@master231 pods]# kubectl get pods -o wide
NAME      READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES
xiuxian   1/1     Running   0          3s    10.100.2.8   worker233   <none>           <none>
[root@master231 pods]# 
[root@master231 pods]# curl 10.100.2.83.给资源打标签 
[root@master231 pods]# kubectl get pods --show-labels
NAME      READY   STATUS    RESTARTS   AGE     LABELS
xiuxian   1/1     Running   0          2m25s   run=xiuxian
[root@master231 pods]# 
[root@master231 pods]# kubectl label pod xiuxian class=v1 school=huazai
pod/xiuxian labeled
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
NAME      READY   STATUS    RESTARTS   AGE     LABELS
xiuxian   1/1     Running   0          2m35s   class=v1,run=xiuxian,school=huazai4.修改资源的标签 
[root@master231 pods]# kubectl get pods --show-labels
NAME      READY   STATUS    RESTARTS   AGE     LABELS
xiuxian   1/1     Running   0          3m16s   class=v1,run=xiuxian,school=huazai
[root@master231 pods]# 
[root@master231 pods]# 
[root@master231 pods]# kubectl label pod xiuxian school=laonanhai --overwrite 
pod/xiuxian labeled
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
NAME      READY   STATUS    RESTARTS   AGE     LABELS
xiuxian   1/1     Running   0          4m43s   class=v1,run=xiuxian,school=laonanhai
[root@master231 pods]# 5.删除Pod资源
[root@master231 pods]# kubectl get pods --show-labels
NAME       READY   STATUS    RESTARTS   AGE     LABELS
xiuxian    1/1     Running   0          5m32s   class=v1,run=xiuxian,school=laonanhai
xiuxian2   1/1     Running   0          2s      run=xiuxian2
[root@master231 pods]# 
[root@master231 pods]# 
[root@master231 pods]# kubectl delete pod --all
pod "xiuxian" deleted
pod "xiuxian2" deleted
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods --show-labels
No resources found in default namespace.
[root@master231 pods]# 

5.将多个资源合并为一个资源清单

[root@master231 pods]# cat 05-pods-all-in-one-file.yaml
apiVersion: v1
kind: Pod
metadata:name: xiuxian-v1labels:apps: v1
spec:hostNetwork: truenodeName: worker232containers:- image: registry.cn-hangzhou.aliyuncs.com/huazai007-k8s/apps:v1 name: xiuxian# 此处的"---"表示一个文件的结束
---apiVersion: v1
kind: Pod
metadata:name: xiuxian-v2labels:apps: v2
spec:hostNetwork: truenodeName: worker233containers:- image: registry.cn-hangzhou.aliyuncs.com/huazai007-k8s/apps:v2name: xiuxian
[root@master231 pods]# 
[root@master231 pods]# 
[root@master231 pods]# kubectl apply -f 05-pods-all-in-one-file.yaml
pod/xiuxian-v1 created
pod/xiuxian-v2 created
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods -o wide --show-labels
NAME         READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES   LABELS
xiuxian-v1   1/1     Running   0          6s    10.0.0.232   worker232   <none>           <none>            apps=v1
xiuxian-v2   1/1     Running   0          6s    10.0.0.233   worker233   <none>           <none>            apps=v2
[root@master231 pods]# 
[root@master231 pods]# kubectl delete pods -l apps
pod "xiuxian-v1" deleted
pod "xiuxian-v2" deleted
[root@master231 pods]# 
[root@master231 pods]# kubectl get pods -o wide --show-labels
No resources found in default namespace.
[root@master231 pods]# 

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

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

相关文章

肖哥弹架构【CSDN2024年度博客之星总评选】求拉票

2024年度博客之星进入拉票环节 1、投票地址 肖哥弹架构:CSDN投票地址 https://www.csdn.net/blogstar2024/detail/287 。 各位读者们、兄弟姐妹们。多多投票,你的支持就是我的动力。感谢! 2、投票二维码3、投票时间段 2月14日-2月20日 每日有相同票数的投票机会 ,4、2024…

风车IM通讯源码【已搭建验证】

风车IM即时通讯聊天系统源码_聊天APP_附APP_带安装教程 风车im 是一款独立服务器部署的即时通讯解决方案,可以帮助你快速拥有一套自己的移动社交、 企业办公、多功能业务产品。独立部署!加密通道!牢牢掌握通讯信息! 源码下载:https://www.yundazhe.cn/757.html 本文在【云…

绿色通道(单调队列dp)

崩溃了,debug半天发现是变量名重复了 #include<iostream> #include<cstring> #define int long long using namespace std; const int N=1e5; int q[N]; int f[N]; int w[N]; int sum=0; signed main(){int n,ti;cin>>n>>ti;for(int i=1;i<=n;i++…

Transformer模型在J6平台上的高效支持

背景 相对于传统 CNN 模型来说,Transformer 模型的最大的一个特点就是灵活性。这个灵活性主要体现在模型中穿插大量的数据重排操作,即 Reshape 和 Transpose。如下图 1 所示,对于一个典型的 Attention 结构来说,Reshape 和 Transpose 操作的数量大概可以占到所有操作的一半…

3.1 IMU板级硬件设计----硬件设计指南

本系列文章是笔者总结多年工作经验,结合理论与实践进行整理备忘的笔记。希望能在帮助自己温习整理避免遗忘的同时,也能帮助其他需要参考的朋友。笔者会不定期进行查漏补缺。如有谬误,欢迎大家进行指正。 一、设计要点 1.IMU的贴片位置远离大电流路径、射频信号,通信信号走线…

leetcode hot 01

解题思路:如果两个链表在某一点相交,那么那一点之后的node也都会相同,长度也相同。所以,我们先遍历获取对应每一条链表的长度,然后让长的链表先走两个链表长度之差的距离,然后再同时起步,每个节点进行对比,能不能找到相同的。 /*** Definition for singly-linked list.…

【APP逆向33】root监测与跳过(基础版,Java层hook)

前言:有些App在root过的手机上运行不了,会弹出安全提示,我们在逆向时必须跳过才能进行下一步操作,root监测主要有两种方式,1.JAVA层(hook跳过) 2.so层(需要定制安卓系统,AOSP)1.下面我们来看一个root监测在JAVA层的,现象2.反编译后,查找关键字3.hook跳过Java.perform(f…

P1364 医院设置——图最短路径问题(Floyd算法)

题目描述 设有一棵二叉树,如图:其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为 \(1\)。如上图中,若医院建在 \(1\) 处,则距离和 \(=4+12+2\times20+2…

本地部署deepseek后,部署可视化界面

首先下载doctor Docker: Accelerated Container Application Development 下载教程和上次教程相同,如果希望下载到其他盘可以使用命令下载 start /w "" "Docker Desktop Installer.exe" install --accept-license --installation-dir="D:\docker&qu…

9.7.3 损失函数

回忆一下,super(MaskedSoftmaxCELoss, self).forward就相当于直接计算损失函数,这是nn.Module的普遍做法 nn.CrossEntropyLoss的输入要求如下unweighted_loss的形状是(batch_size, num_steps),也就是对应每一个样本的每一步的直接的交叉熵损失

65R180-ASEMI逆变器专用MOS管65R180

65R180-ASEMI逆变器专用MOS管65R180编辑:ll 65R180-ASEMI逆变器专用MOS管65R180 型号:65R180 品牌:ASEMI 封装:TO-220F 最大漏源电流:21A 漏源击穿电压:650V 批号:最新 RDS(ON)Max:180mΩ 引脚数量:3 沟道类型:超洁MOS管 芯片尺寸:MIL 漏电流: 恢复时间:ns 芯片…