09-名称空间namespace
名称空间:就是用来隔离k8s集群的资源的,我们通常使用名称空间对企业业务进行划分;有的资源是不支持名称空间的,我们称之为全局资源,而支持名称空间的,我们称之为局部资源;我们可以通过【kubectl api-resources】查看一个资源是否支持名称空间;如果删除了名称空间,则对应的名称空间中的资源也会被删除;温馨提示:相同名称空间下的相同资源,name名称不能重复;
名称空间:就是用来隔离k8s集群的资源的,我们通常使用名称空间对企业业务进行划分;
有的资源是不支持名称空间的,我们称之为全局资源,而支持名称空间的,我们称之为局部资源;
我们可以通过【kubectl api-resources】查看一个资源是否支持名称空间;
如果删除了名称空间,则对应的名称空间中的资源也会被删除;
温馨提示:相同名称空间下的相同资源,name名称不能重复;
一、查看资源是否支持名称空间
[root@k8s231 ~]# kubectl api-resources
二、查看系统的名称空间
· 查看系统中的名称空间列表
[root@k8s231 ~]# kubectl get namespaces
NAME STATUS AGE
default Active 11d
kube-flannel Active 11d
kube-node-lease Active 11d
kube-public Active 11d
kube-system Active 11d
· 单独查看一个名称空间下的对应资源
[root@k8s231 ~]# kubectl get pods -o wide -n kube-system
三、名称空间的管理
1,创建名称空间
· 响应式创建
[root@k8s231 ~]# kubectl create namespace xinjizhiwa
· 声明式创建
[root@k8s231 namespace]# vim namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: xinjizhiwa02
[root@k8s231 namespace]# kubectl apply -f namespace.yaml
2,删除名称空间
[root@k8s231 namespace]# kubectl delete namespaces xinjizhiwa02
四、资源引用名称空间
1,pod资源引用名称空间
· 编辑pod资源清单
[root@k8s231 namespace]# vim pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-namespace
#pod归属于哪个名称空间,不写默认是default
namespace: xinjizhiwa
spec:
containers:
- name: c4
image: nginx:1.20.1-alpine
· 创建pod
[root@k8s231 namespace]# kubectl apply -f pod.yaml
· 查看名名称空间下的pod资源
[root@k8s231 namespace]# kubectl get pods -n xinjizhiwa
NAME READY STATUS RESTARTS AGE
pod-namespace 1/1 Running 0 52s
2,configmap资源引用名称空间
· 编辑configmap资源清单
[root@k8s231 configmap]# vim 01-cm.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: cm01
namespace: xinjizhiwa
data:
xinjizhiwa: "HELLO WORLD"
k8s: "1.23.17"
my.cnf: |
[mysqld]
datadir=/xinjizhiwa/data
basedir=/usr/bin/mysqld/bin/
socket=/tmp/mysql.socket
skip-name-resolve=1
port=3306
[client]
username=admin
password=1
· 创建configmap资源
[root@k8s231 configmap]# kubectl apply -f 01-cm.yaml
· 查看名称空间下的cm资源
[root@k8s231 configmap]# kubectl get cm -n xinjizhiwa
NAME DATA AGE
cm01 3 2m23s
kube-root-ca.crt 1 16m
[root@k8s231 configmap]# kubectl get cm
NAME DATA AGE
kube-root-ca.crt 1 6d20h
更多推荐
所有评论(0)