使用Ansible创建命名空间。导出NAMESPACE=awx。

3

你好!

我尝试创建一些用于部署 "AWX Operator" 和 Kubernetes 的playbook,使用安装手册安装 AWX Operator

我有以下命令:

export NAMESPACE=awx
kubectl create ns ${NAMESPACE}

我创建了任务:

- name: Echo export NAMESPACE awx
  shell: "export NAMESPACE=awx"
  environment:
    NAMESPACE: awx

- name: my_env_var 
  shell: "kubectl create ns NAMESPACE"

但是我遇到了一个错误:

fatal: [jitsi]: FAILED! => {"changed": true, "cmd": "kubectl create ns NAMESPACE", "delta": "0:00:00.957414", "end": "2021-10-22 13:25:16.822714", "msg": "non-zero return code", "rc": 1, "start": "2021-10-22 13:25:15.865300", "stderr": "The Namespace \"NAMESPACE\" is invalid: metadata.name: Invalid value: \"NAMESPACE\": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')", "stderr_lines": ["The Namespace \"NAMESPACE\" is invalid: metadata.name: Invalid value: \"NAMESPACE\": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')"], "stdout": "", "stdout_lines": []}

你能帮我提供一些意见吗?谢谢。

1个回答

1
你在这个错误中已经写了所有的内容 :)

命令存在问题

kubectl create ns NAMESPACE

您想创建一个名为NAMESPACE的命名空间,这是错误的。您不能在命名空间名称中使用大写字母。 您可以从此消息中获得提示:
Invalid value: \"NAMESPACE\": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc'

如何解决它?您需要更改这一行:
shell: "kubectl create ns NAMESPACE"

您需要正确设置命名空间,不要使用大写字母。

示例:

shell: "kubectl create ns my-namespace"

shell: "kubectl create ns my-name"

shell: "kubectl create ns whatever-you-want"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接