因生产环境需要实现不同业务的隔离,可以将不同的业务调度到不同的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 magePullPolicy: IfNotPresentimagePullPolicy: 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