如何在特定名称空间中创建K8S部署?

时间:2019-12-10 07:05:21

标签: kubernetes kubernetes-pod

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

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

我该怎么做?

3 个答案:

答案 0 :(得分:3)

通过将-n namespace添加到您已经拥有的命令中。它还可以与其他类型的资源一起使用。

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

答案 1 :(得分:2)

有三种可能的解决方案。

  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 :(得分:1)

首先,您需要像这样创建命名空间

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

代表--namespace


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

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