k8s核心资料基本操作

部署运行你感兴趣的模型镜像

Namespace

Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。

默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。

可以通过kubernetes的授权机制,将不同的namespace交给不同租户进行管理,这样就实现了多租户的资源隔离。此时还能结合kubernetes的资源配额机制,限定不同租户能占用的资源,例如CPU使用量、内存使用量等等,来实现租户可用资源的管理。

kubernetes在集群启动之后,会默认创建几个namespace

[root@master ~]# kubectl get namespace NAME STATUS AGE default Active 45h # 所有未指定Namespace的对象都会被分配在default命名 空间 kube-node-lease Active 45h # 集群节点之间的心跳维护,v1.13开始引入 kube-public Active 45h # 此命名空间下的资源可以被所有人访问(包括未认证用 户) kube-system Active 45h # 所有由Kubernetes系统创建的资源都处于这个命名空间

ClusterIP的缺陷:只能在集群内部使用。

NodePort:可以外部访问,但是要加映射的端口。

LoadBalance:负载均衡是云平台用的比较多的

pod创建时组件之间的交互:把命令,访问的入口不管是命令行还是web界面,访问的入口是API server,API server会把他相关信息写到键值对的数据库,这个数据库叫做etcd;

Scheduler会有个监控的组件,会时刻关注API Server和etcd,这个Scheduler会根据相关性请求会判断pod被调度到哪个节点。然后哪些节点符合我们的调度规则,告诉API Server,然后把我们目标调度节点写入etcd里面,然后etcd会通知这个节点Kubelet读取。(Kubelet是管理整个pod生命周期的)

标识:应该是当前环境下下拉一个pod,然后会创建一个container runtime容器运行。

!!!k8s不是容器,他是容器的一种编排工具

我们先把他删了吧,前面只是为了演示文件效果,我们起前面一样名字的话不太好‘

创建并运行

kubernetes没有提供单独运行Pod的命令,都是通过Pod控制器来实现的

# 命令格式: kubectl run (pod控制器名称) [参数] # --image 指定Pod的镜像 # --port 指定端口 # --namespace 指定namespace [root@master ~]# kubectl run nginx --image=nginx:1.17.1 --port=80 --namespace dev

我们先删掉了dev的命名空间

然后我们把这个外面的控制器也删了

把这个默认的也删掉

然后就没有这个pod了

我们先生成一个名称空间

然后我们来运行

然后就创建好了

我们可以看详细信息

这个只能在集群内部访问这个,在集群内部任何一个节点都可以去访问

注意,这就没有了(版本的问题)

这是因为当前Pod是由Pod控制器创建的,控制器会监控Pod状况,一旦发现Pod死亡,会立即重建

此时要想删除Pod,必须删除Pod控制器

这就彻底没有了

Label

命令方式

# 为pod资源打标签 [root@master ~]# kubectl label pod nginx-pod version=1.0 -n dev pod/nginx-pod labeled # 为pod资源更新标签 [root@master ~]# kubectl label pod nginx-pod version=2.0 -n dev --overwrite pod/nginx-pod labeled # 查看标签 [root@master ~]# kubectl get pod nginx-pod -n dev --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-pod 1/1 Running 0 10m version=2.0 # 筛选标签 [root@master ~]# kubectl get pod -n dev -l version=2.0 --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-pod 1/1 Running 0 17m version=2.0 [root@master ~]# kubectl get pod -n dev -l version!=2.0 --show-labels No resources found in dev namespace. #删除标签 [root@master ~]# kubectl label pod nginx-pod version- -n dev pod/nginx-pod labeled

我们又设置一个成了

更新标签

Deployment

是控制器,是最小控制单元

我们先删掉

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值