K8S-namespace

因生产环境需要实现不同业务的隔离,可以将不同的业务调度到不同的node节点,实现物理隔离,需要使用标签选择器,也可以将不同业务部署到同一个node节点,使用不同namespace实现业务的逻辑隔离。

定义一个namespace的YAML资源清单

apiVersion: v1
kind: Namespace
metadata:
  name: linux40

创建一个在linux40命名空间下的RS控制器

#apiVersion: extensions/v1beta1
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: frontend
  namespace: linux40
spec:
  replicas: 3
  selector:
    #matchLabels:
    #  app: ng-rs-80
    matchExpressions:
      - {key: app, operator: In, values: [ng-rs-80,ng-rs-81]}  //RS标签选择器支持In/notin正则匹配,RC不支持
  template:
    metadata:
      labels:
        app: ng-rs-80
    spec:
      containers:
      - name: ng-rs-80
        image: nginx
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80

查看是否创建成功

]# kubectl   get pods   -n linux40  //-n 查看指定命名空间下的资源
NAME             READY   STATUS    RESTARTS   AGE
frontend-24fcv   1/1     Running   0          11s
frontend-4cqjz   1/1     Running   0          11s
frontend-hlj6s   1/1     Running   0          11s
posted @ 2021-11-21 16:25  不会跳舞的胖子  阅读(90)  评论(0编辑  收藏  举报