【发布时间】:2020-04-03 07:47:47
【问题描述】:
我正在使用kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml 创建部署。
我想在我的命名空间examplenamespace 中创建部署。
我该怎么做?
【问题讨论】:
我正在使用kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml 创建部署。
我想在我的命名空间examplenamespace 中创建部署。
我该怎么做?
【问题讨论】:
有三种可能的解决方案。
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"
【讨论】:
通过将-n namespace 添加到您已有的命令中。它也适用于其他类型的资源。
kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml -n namespacename
【讨论】:
首先你需要创建这样的命名空间
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 知道将在哪个命名空间下部署/创建适当的资源
【讨论】: