You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes创建v1.Endpoints报错:需指定命名空间,咨询配置方案

Kubernetes Endpoints创建报错:Namespace is required 解决方法

运行你提供的Ansible Playbook时出现的Failed to create object: Namespace is required for v1.Endpoints错误,原因是Endpoints是Kubernetes的命名空间级资源,必须明确指定其归属的命名空间。

可选的命名空间选择

你可以根据部署需求选择以下两种命名空间:

  • default命名空间:Kubernetes默认的命名空间,无需提前创建,适合快速测试或无特殊资源分类需求的场景。
  • 自定义命名空间:比如glusterfs、storage这类专门用于存储资源的命名空间,更利于资源的分类管理,但需要提前创建该命名空间。

修改后的Playbook示例

在Endpoints的metadata字段中添加namespace即可解决问题,以下是指定default命名空间的修改版本:

- hosts: 'masters'
  remote_user: kube
  become: yes
  become_user: kube
  vars:
    ansible_python_interpreter: /usr/bin/python3
  tasks:
    - name: "Create gluster endpoints on kubernetes master"
      kubernetes.core.k8s:
        state: present
        definition:
          apiVersion: v1
          kind: Endpoints
          metadata:
            name: glusterfs-cluster
            namespace: default  # 可替换为你需要的自定义命名空间
            labels:
              storage.k8s.io/name: glusterfs
              storage.k8s.io/part-of: mine
              storage.k8s.io/created-by: username
          subsets:
            - addresses:
                - ip: 10.0.0.4
                  hostname: gluster1
                - ip: 10.0.0.5
                  hostname: gluster2
                - ip: 10.0.0.6
                  hostname: gluster3
                - ip: 10.0.0.7
                  hostname: gluster4
              ports:
                - port: 1

注意事项

如果选择自定义命名空间,需确保该命名空间已存在:

  • 可以用Ansible的kubernetes.core.k8s模块提前创建,或者通过kubectl create namespace <命名空间名称>命令手动创建。
  • 后续部署Heketi、StorageClass等相关资源时,要与该Endpoints的命名空间保持一致,避免跨命名空间访问问题。

内容的提问来源于stack exchange,提问作者noname

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:48:20