java怎么拦截某个对象
297
2022-09-08
Kubernetes(二)资源概况
文章目录
Kubernetes(二)资源概况
NamespacePodlabeldeploymentservice
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~