如何在特定命名空间中创建 K8S 部署?
Posted
技术标签:
【中文标题】如何在特定命名空间中创建 K8S 部署?【英文标题】:How to create K8S deployment in specific namespace? 【发布时间】:2020-04-03 07:47:47 【问题描述】:我正在使用kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml
创建部署。
我想在我的命名空间examplenamespace
中创建部署。
我该怎么做?
【问题讨论】:
【参考方案1】:有三种可能的解决方案。
-
在
kubectl
命令中指定命名空间:
kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml -n my-namespace
-
在您的
yaml
文件中指定命名空间:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
namespace: my-namespace
-
更改
~/.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 知道将在哪个命名空间下部署/创建适当的资源
【讨论】:
以上是关于如何在特定命名空间中创建 K8S 部署?的主要内容,如果未能解决你的问题,请参考以下文章