使用 kubespray 创建 Kubernetes 集群时主节点出现 kubectl 运行 问题
kubectl running problem in master node while creating Kubernetes cluster using kubespray
我正在尝试使用具有单个主节点和 3 个工作节点的 kubespray 创建 Kubernetes 集群。我从我的控制节点克隆了 github kubespray 存储库和 运行ning ansible 剧本以形成集群。
我正在尝试以下命令:
ansible-playbook \
-i inventory/sample/hosts.ini \
cluster.yml \
--become \
--ask-become-pass
当我运行执行命令时,2 个工作节点获得最终状态正常。但是对于主节点,它显示失败并出现如下错误:
fatal: [mildevkub020]: FAILED! => {
"changed": false,
"msg": "error running kubectl (/usr/local/bin/kubectl apply
--force --filename=/etc/kubernetes/k8s-cluster-critical-pc.yml)
command (rc=1), out='', err='error: unable to recognize
\"/etc/kubernetes/k8s-cluster-critical-pc.yml\": Get
http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080:
connect: connection refused\n'"
}
我正在添加以下错误的屏幕截图:
修改
我删除了旧的 kubespray 存储库并从以下 link、
克隆了新的
https://github.com/kubernetes-sigs/kubespray.git
并更新了我的库存。但仍然出现相同的错误。当我对日志使用 运行“journalctl”命令时,我得到如下结果:
Oct 15 09:56:17 mildevdcr01 kernel: NX (Execute Disable) protection: active
Oct 15 09:56:17 mildevdcr01 kernel: SMBIOS 2.4 present.
Oct 15 09:56:17 mildevdcr01 kernel: DMI: VMware, Inc. VMware Virtual
Platform/440BX Desktop Reference Platform, BIOS 6.00 09/22/2009
Oct 15 09:56:17 mildevdcr01 kernel: Hypervisor detected: VMware
Oct 15 09:56:17 mildevdcr01 kernel: Kernel/User page tables isolation: disabled
Oct 15 09:56:17 mildevdcr01 kernel: e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Oct 15 09:56:17 mildevdcr01 kernel: e820: remove [mem 0x000a0000-0x000fffff] usable
Oct 15 09:56:17 mildevdcr01 kernel: AGP: No AGP bridge found
Oct 15 09:56:17 mildevdcr01 kernel: e820: last_pfn = 0x240000 max_arch_pfn = 0x400000000
Oct 15 09:56:17 mildevdcr01 kernel: MTRR default type: uncachable
Oct 15 09:56:17 mildevdcr01 kernel: MTRR fixed ranges enabled:
Oct 15 09:56:17 mildevdcr01 kernel: 00000-9FFFF write-back
Oct 15 09:56:17 mildevdcr01 kernel: A0000-BFFFF uncachable
Oct 15 09:56:17 mildevdcr01 kernel: C0000-CBFFF write-protect
错误,
fatal: [mildevkub020]: FAILED! => {"attempts": 10, "changed": false, "msg": "error running kubectl (/usr/local/bin/kubectl apply --force --filename=/etc/kubernetes/node-crb.yml) command (rc=1), out='', err='W1016 06:50:31.365172 22692 loader.go:223] Config not found: etc/kubernetes/admin.conf\nerror: unable to recognize \"/etc/kubernetes/node-crb.yml\": Get http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection refused\n'"}
请确保您在集群安装前已遵循所有 requirements。
特别是将 ssh 密钥复制到库存的所有服务器部分。
上次安装后重置环境:
$ sudo ansible-playbook -i inventory/mycluster/hosts.yml reset.yml -b -v \
--private-key=~/.ssh/private_key
记得更改 cluster configuration 文件并对其进行个性化设置。
您可以更改网络插件 - 默认为 Calico。
然后 运行 ansible playbook 再次使用此命令:
$ sudo ansible-playbook -i inventory/sample/hosts.ini cluster.yml -b -v \
--private-key=~/.ssh/private_key
尝试复制/sample文件夹并重命名,然后更改k8s-cluster和hosts文件。
检查主机文件:
切记不要修改k8s-cluster的children,比如把etcd组放到k8s-cluster中,除非你确定要这么做。
k8s-cluster ⊂ etcd => kube-node ∩ etcd = etcd
您可以在此处找到示例清单文件:inventory。
如果问题仍然存在,请执行命令 journalctl 并检查日志显示的内容。
编辑:
正如您提供的更多信息。从你的日志看来你必须
将 VM 硬件版本设置为 VMware 设置中可用的最高版本,并在此系统上安装所有可用更新。
我正在尝试使用具有单个主节点和 3 个工作节点的 kubespray 创建 Kubernetes 集群。我从我的控制节点克隆了 github kubespray 存储库和 运行ning ansible 剧本以形成集群。
我正在尝试以下命令:
ansible-playbook \
-i inventory/sample/hosts.ini \
cluster.yml \
--become \
--ask-become-pass
当我运行执行命令时,2 个工作节点获得最终状态正常。但是对于主节点,它显示失败并出现如下错误:
fatal: [mildevkub020]: FAILED! => {
"changed": false,
"msg": "error running kubectl (/usr/local/bin/kubectl apply
--force --filename=/etc/kubernetes/k8s-cluster-critical-pc.yml)
command (rc=1), out='', err='error: unable to recognize
\"/etc/kubernetes/k8s-cluster-critical-pc.yml\": Get
http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080:
connect: connection refused\n'"
}
我正在添加以下错误的屏幕截图:
修改
我删除了旧的 kubespray 存储库并从以下 link、
克隆了新的https://github.com/kubernetes-sigs/kubespray.git
并更新了我的库存。但仍然出现相同的错误。当我对日志使用 运行“journalctl”命令时,我得到如下结果:
Oct 15 09:56:17 mildevdcr01 kernel: NX (Execute Disable) protection: active
Oct 15 09:56:17 mildevdcr01 kernel: SMBIOS 2.4 present.
Oct 15 09:56:17 mildevdcr01 kernel: DMI: VMware, Inc. VMware Virtual
Platform/440BX Desktop Reference Platform, BIOS 6.00 09/22/2009
Oct 15 09:56:17 mildevdcr01 kernel: Hypervisor detected: VMware
Oct 15 09:56:17 mildevdcr01 kernel: Kernel/User page tables isolation: disabled
Oct 15 09:56:17 mildevdcr01 kernel: e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Oct 15 09:56:17 mildevdcr01 kernel: e820: remove [mem 0x000a0000-0x000fffff] usable
Oct 15 09:56:17 mildevdcr01 kernel: AGP: No AGP bridge found
Oct 15 09:56:17 mildevdcr01 kernel: e820: last_pfn = 0x240000 max_arch_pfn = 0x400000000
Oct 15 09:56:17 mildevdcr01 kernel: MTRR default type: uncachable
Oct 15 09:56:17 mildevdcr01 kernel: MTRR fixed ranges enabled:
Oct 15 09:56:17 mildevdcr01 kernel: 00000-9FFFF write-back
Oct 15 09:56:17 mildevdcr01 kernel: A0000-BFFFF uncachable
Oct 15 09:56:17 mildevdcr01 kernel: C0000-CBFFF write-protect
错误,
fatal: [mildevkub020]: FAILED! => {"attempts": 10, "changed": false, "msg": "error running kubectl (/usr/local/bin/kubectl apply --force --filename=/etc/kubernetes/node-crb.yml) command (rc=1), out='', err='W1016 06:50:31.365172 22692 loader.go:223] Config not found: etc/kubernetes/admin.conf\nerror: unable to recognize \"/etc/kubernetes/node-crb.yml\": Get http://localhost:8080/api?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection refused\n'"}
请确保您在集群安装前已遵循所有 requirements。 特别是将 ssh 密钥复制到库存的所有服务器部分。
上次安装后重置环境:
$ sudo ansible-playbook -i inventory/mycluster/hosts.yml reset.yml -b -v \
--private-key=~/.ssh/private_key
记得更改 cluster configuration 文件并对其进行个性化设置。 您可以更改网络插件 - 默认为 Calico。
然后 运行 ansible playbook 再次使用此命令:
$ sudo ansible-playbook -i inventory/sample/hosts.ini cluster.yml -b -v \
--private-key=~/.ssh/private_key
尝试复制/sample文件夹并重命名,然后更改k8s-cluster和hosts文件。
检查主机文件: 切记不要修改k8s-cluster的children,比如把etcd组放到k8s-cluster中,除非你确定要这么做。
k8s-cluster ⊂ etcd => kube-node ∩ etcd = etcd
您可以在此处找到示例清单文件:inventory。
如果问题仍然存在,请执行命令 journalctl 并检查日志显示的内容。
编辑:
正如您提供的更多信息。从你的日志看来你必须 将 VM 硬件版本设置为 VMware 设置中可用的最高版本,并在此系统上安装所有可用更新。