我有一个单节点k8s集群。我有两个 namespace ,分别称为n1n2。我想在相同的端口,但在不同的命名空间中部署相同的镜像。

我该怎么做呢?

命名空间yamls:

apiVersion: v1
kind: Namespace
metadata:
  name: n1

and

apiVersion: v1
kind: Namespace
metadata:
  name: n2

服务Yamls:
apiVersion: v1
kind: Service
metadata:
  name: my-app-n1
  namespace: n1
  labels:
    app: my-app-n1
spec:
  type: LoadBalancer
  ports:
  - name: http
    port: 80
    targetPort: http
    protocol: TCP
  selector:
    app: my-app-n1

and

apiVersion: v1
kind: Service
metadata:
  name: my-app-n2
  namespace: n2
  labels:
    app: my-app-n2
spec:
  type: LoadBalancer
  ports:
  - name: http
    port: 80
    targetPort: http
    protocol: TCP
  selector:
    app: my-app-n2

部署Yamls:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-n1
  labels:
    app: my-app-n1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app-n1
  template:
    metadata:
      labels:
        app: my-app-n1
    spec:
      containers:
      - name: waiter
        image: waiter:v1
        ports:
        - containerPort: 80

and

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-n2
  labels:
    app: my-app-n2
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app-n2
  template:
    metadata:
      labels:
        app: my-app-n2
    spec:
      containers:
      - name: waiter
        image: waiter:v1
        ports:
        - containerPort: 80
waiter:v1与此仓库对应:https://hub.docker.com/r/adamgardnerdt/waiter

我肯定可以做到这一点,因为命名空间应该代表不同的环境?例如。非产品与产品因此,可以肯定地我可以将其相同地部署到两个不同的“环境”(又称为“命名空间”)中吗?

最佳答案

对于Service,您已经指定了 namespace ,这是正确的。

对于部署,还应指定命名空间,否则它们将进入默认命名空间。

示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-n1
  namespace: n1
  labels:
    app: my-app-n1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app-n1
  template:
    metadata:
      labels:
        app: my-app-n1
    spec:
      containers:
      - name: waiter
        image: waiter:v1
        ports:
        - containerPort: 80

关于kubernetes - 将相同的镜像部署到两个不同的 namespace 相同的端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56986465/

10-16 17:03