Kubernetes ——Namespace+ pod详解

一、Namespace1)Namespace概述Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。Namespace常用来隔离不同的用户,比如Kubernetes自带的服务一般运行在kube-syst
摘要由CSDN通过智能技术生成

一、Namespace

1)Namespace概述
Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。

Namespace常用来隔离不同的用户,比如Kubernetes自带的服务一般运行在kube-system namespace中。

Kubernetes中的名称空间与docker中的名称空间不同。K8s中的名称空间只是做了一个逻辑上的隔离。

2)Namespace常用的命令
(1)查询

[root@master ~]# kubectl get namespaces
//查看K8s中存在的名称空间
NAME              STATUS   AGE
default           Active   6d21h
kube-node-lease   Active   6d21h
kube-public       Active   6d21h
kube-system       Active   6d21h
//namespace包含两种状态”Active”和”Terminating”。在namespace删除过程中,namespace状态被设置成”Terminating”。
[root@master ~]# kubectl describe namespaces default 
//查看default名称空间的详细信息
[root@master ~]# kubectl get pod --namespace=default 
[root@master ~]# kubectl get pod -n default 
//查看default名称空间中的pod资源(两者都可以)
[root@master ~]# kubectl get pod
//如果不指定,则默认也是查看default名称空间中的资源

(2)创建、删除
使用命令行创建

[root@master ~]# kubectl create namespace beijing
//创建一个名称空间,名称为beijing
//创建完成后,可以通过“kubectl get namespaces”命令查看到
[root@master ~]# kubectl delete namespace beijing
//删除新创建的名称空间

使用yaml文件创建

[root@master ~]# vim namespace.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: test
[root@master ~]# kubectl apply -f namespace.yaml 
[root@master ~]# kubectl delete -f namespace.yaml 

注意:
(1)删除一个名称空间时会自动删除所有属于该namespace的资源;
(2)default和kube-system名称空间不可以被删除;
(3)namespace资源对象仅用于资源对象的隔离,并不能隔绝不同名称空间的Pod之间的通信。如果需要隔离Pod之间的通信可以使用网络策略资源这项功能;

二、Pod详解

1)什么是Pod?
在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是管理,创建,计划的最小单元.

一个Pod就相当于一个共享context的配置组,在同一个context下,应用可能还会有独立的cgroup隔离机制,一个Pod是一个容器环境下的“逻辑主机”,它可能包含一个或者多个紧密相连的应用,这些应用可能是在同一个物理主机或虚拟机上。

Pod 的context可以理解成多个linux命名空间的联合:

PID 命名空间(同一个Pod中应用可以看到其它进程);
网络 命名空间(同一个Pod的中的应用对相同的IP地址和端口有权限);
IPC命名空间(同一个Pod中的应用可以通过VPC或者POSIX进行通信);
UTS 命名空间(同一个Pod中的应用共享一个主机名称);

Pod和相互独立的容器一样,Pod是一种相对短暂的存在,而不是持久存在的,正如我们在Pod的生命周期中提到的,Pod被安排到节点上,并且保持在这个节点上直到被终止

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值