Kubernetes(二)资源概况

网友投稿 297 2022-09-08

Kubernetes(二)资源概况

文章目录

​​Kubernetes(二)资源概况​​

​​Namespace​​​​Pod​​​​label​​​​deployment​​​​service​​

Kubernetes(二)资源概况

kubernetes中有五种比较重要的资源:pod,namespace,label,deployment,service

Namespace

namespace是k8s中用来实现多套环境资源隔离的,默认情况下,k8s中所有pod都是可以相互访问的,但是在实际中,可能不想让某两个pod相互访问,此时就可以将这两个pod划分到不同的namespace中,形成逻辑隔离

查看所有ns:

kubectl get ns [ns-name]

获取某一ns下的pods

kubectl get pods -n ns-name

获取某一ns的详情

kubectl describe ns ns-name

创建ns

kubectl create ns ns-name

删除ns

kubectl delete ns ns-name

Pod

pod是k8s中最小的资源管理单位,程序必须要运行在容器中,容器必须要运行在Pod中,一个pod可以存在一个或多个容器,k8s中的组件也是以pod的形式运行

创建并运行pod

kubectl run pod-name [tags]

查看pod信息

kubectl get pod -n ns-name

查看pod详情

kubectl describe pod pod-name [tags]

label

Label是k8s中的一个重要概念,用于给资源添加标签,来进行区分和选择,特点:

Label是通过键值对的方式添加到各种资源对象上去,如Node,Pod,Service等一个资源对象可以定义多个标签,一个标签可以打到多个资源对象上去一个label是在对象创建时就自动创建,也可以在对象创建后进行动态的添加和删除使用label selector来筛选标签label

基于等式的选择:label-name = “”基于集合的选择:label-name in []

为pod打标签

kubectl label pod pod-name label-name=label-value -n ns

根据标签获取pod

kubectl get pod label-name=label-value -n ns

更新pod上的标签

kubectl label pod pod-name label-name=label-value -n ns --overwrite

deployment

在k8s中,Pod是最小的控制单元,但是k8s很少直接控制pod,一般通过pod控制器完成pod的控制,确保pod资源符合预期设定,当pod挂了,会对pod进行重启获取重建,deployment就是其中的一种pod

查看deployment信息:

kubectl get deploy -n ns

deployment和pod之间的关联通过label

查看deployment详情:

kubectl describe deploy name -n ns

删除deployment

kubectl delete deploy name

service

虽然每个pod都会有自己单独的ip,但是这个ip会随着pod重建而重新分配一个ip,是变化的,而且这个ip仅仅是集群内部可见,外部无法访问,k8s通过service来解决这个问题,service是同一组pod的外部访问接口,可以用于实现服务发现和负载均衡,通过标签选择器找同一组的pod

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Kubernetes(三)Pod详解
下一篇:Kubernetes(一)组件概况
相关文章

 发表评论

暂时没有评论,来抢沙发吧~