【问题标题】:How to create K8S deployment in specific namespace?如何在特定命名空间中创建 K8S 部署?
【发布时间】:2020-04-03 07:47:47
【问题描述】:

我正在使用kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml 创建部署。

我想在我的命名空间examplenamespace 中创建部署。

我该怎么做?

【问题讨论】:

    标签: kubernetes kubernetes-pod


    【解决方案1】:

    有三种可能的解决方案。

    1. kubectl 命令中指定命名空间:
    kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml -n my-namespace
    
    1. 在您的 yaml 文件中指定命名空间:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: my-deployment
        namespace: my-namespace
    
    1. 更改~/.kube/config 中的默认命名空间:
    apiVersion: v1
    kind: Config
    clusters:
    - name: "k8s-dev-cluster-01"
      cluster:
        server: "https://example.com/k8s/clusters/abc"
        namespace: "my-namespace"
    

    【讨论】:

      【解决方案2】:

      通过将-n namespace 添加到您已有的命令中。它也适用于其他类型的资源。

      kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml -n namespacename
      

      【讨论】:

        【解决方案3】:

        首先你需要创建这样的命名空间

        kubectl create ns nameOfYourNamespace
        

        然后你在你的命名空间下创建你的部署

        kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml -n examplenamespace
        

        在 ns 处

        kubectl create ns nameOfYourNamespace
        

        代表命名空间

        -n

        kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml -n examplenamespace
        

        代表--命名空间


        因此,您首先创建命名空间,以便 Kubernetes 知道命名空间处理的内容。

        然后,当您要应用更改时,添加代表 --namespace 的 -n 标志,以便 Kubernetes 知道将在哪个命名空间下部署/创建适当的资源

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-26
          • 2020-10-01
          • 2020-01-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-24
          • 1970-01-01
          相关资源
          最近更新 更多