是的
x509:由未知机构签署的证书 -- INSIDE CORPORATE NETWORK
如果您发现任何重复项,您应该在那里回复并关闭此页面。
如果您没有发现任何重复项,请删除此部分并继续。
选择一项:错误报告或功能请求
错误报告
kubeadm 版本(使用kubeadm version
):--1.10.4
kubeadm 版本: &version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.4", GitCommit:"5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState:"clean", BuildDate:"606T 59Z", GoVersion:"go1.9.3", 编译器:"gc", 平台:"linux/amd64"}
环境:
kubectl version
):CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
uname -a
):抛出错误 x509:由未知机构签署的证书
需要在没有任何错误的情况下运行 kubeadm init
我在几个文件中配置了代理。
.bash_profile
/etc/环境
/etc/systemd/system/docker.service.d/http-proxy.conf
/etc/systemd/system/docker.service.d/http-proxy.conf
[服务]
环境="HTTP_PROXY=http://
环境="HTTPS_PROXY=https://
环境="NO_PROXY=localhost,127.0.0.1,10.169.150.123"
/etc/环境
导出 http_proxy="http://
导出 https_proxy="https://
导出 HTTP_PROXY="http://
导出 HTTPS_PROXY="https://
export no_proxy="10.169.150.123,127.0.0.1,localhost"
在 Bash 配置文件中
导出 KUBECONFIG=/etc/kubernetes/admin.conf
导出 http_proxy="http://
导出 https_proxy="https://
导出 HTTP_PROXY="http://
导出 HTTPS_PROXY="https://
export no_proxy="10.169.150.123,127.0.0.1,localhost"
cat /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2379-2380 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10250 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10251 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10252 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10255 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
并重新加载防火墙。
还检查了禁用防火墙。
禁用 SELINUX
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[服务]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
环境="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
环境="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
环境="KUBELET_EXTRA_ARGS=--fail-swap-on=false"
执行开始=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICTRAG_ARGS
如果我通过传递版本运行,
[ root@kubem1 ~]# kubeadm init --kubernetes-version=v1.10.4
[init] 使用 Kubernetes 版本:v1.10.4
[init] 使用授权模式:[Node RBAC]
[预检] 运行预检。
[警告 HTTPProxyCIDR]:连接到“10.96.0.0/12”使用代理“https:// * * * * ”。 这可能会导致集群设置出现故障。 确保 Pod 和服务 IP 范围正确指定为代理配置中的例外
[证书] 生成的 ca 证书和密钥。
[certificates] 生成的 apiserver 证书和密钥。
[证书] apiserver 服务证书是为 DNS 名称签名的 [kubem1
[certificates] 生成的 apiserver-kubelet-client 证书和密钥。
[证书] 生成的 sa 密钥和公钥。
[证书] 生成的 front-proxy-ca 证书和密钥。
[证书] 生成的前端代理客户端证书和密钥。
[证书] 生成的 etcd/ca 证书和密钥。
[证书] 生成的 etcd/服务器证书和密钥。
[证书] etcd/server 服务证书为 DNS 名称 [localhost] 和 IP [127.0.0.1] 签名
[证书] 生成的 etcd/peer 证书和密钥。
[证书] etcd/peer 服务证书为 DNS 名称 [kubem1. * * ** ] 和 IP [10.169.150.123]
[证书] 生成的 etcd/healthcheck-client 证书和密钥。
[证书] 生成的 apiserver-etcd-client 证书和密钥。
[证书] 有效的证书和密钥现在存在于“/etc/kubernetes/pki”中
[kubeconfig] 将 KubeConfig 文件写入磁盘:“/etc/kubernetes/admin.conf”
[kubeconfig] 将 KubeConfig 文件写入磁盘:“/etc/kubernetes/kubelet.conf”
[kubeconfig] 将 KubeConfig 文件写入磁盘:“/etc/kubernetes/controller-manager.conf”
[kubeconfig] 将 KubeConfig 文件写入磁盘:“/etc/kubernetes/scheduler.conf”
[controlplane] 将组件 kube-apiserver 的静态 Pod 清单写入“/etc/kubernetes/manifests/kube-apiserver.yaml”
[controlplane] 将组件 kube-controller-manager 的静态 Pod 清单写入“/etc/kubernetes/manifests/kube-controller-manager.yaml”
[controlplane] 将组件 kube-scheduler 的静态 Pod 清单写入“/etc/kubernetes/manifests/kube-scheduler.yaml”
[etcd] 将本地 etcd 实例的静态 Pod 清单写入“/etc/kubernetes/manifests/etcd.yaml”
[init] 等待 kubelet 从目录“/etc/kubernetes/manifests”启动控制平面作为静态 Pod。
[init] 如果必须拉取控制平面映像,这可能需要一分钟或更长时间。
六月 22 04:31:34 kubem1。 * * * * kubelet[7275]: E0622 04:31:34.942572 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: 无法列出 *v1.Pod: Get https ://10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1。 * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:35 kubem1。 * * * * kubelet[7275]: E0622 04:31:35.888104 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: 无法列出 *v1.Node: 获取https:// /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1。 * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:35 kubem1。 * * * * kubelet[7275]: E0622 04:31:35.888256 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: 无法列出 *v1.Service: Get https:// /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0:拨打tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:35 kubem1。 * * * * kubelet[7275]: E0622 04:31:35.943992 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: 无法列出v1.Pod: 获取https: //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:36 kubem1。 * * * * kubelet[7275]: E0622 04:31:36.889648 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: 无法列出 *v1.Node: 获取https:// /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1。 * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:36 kubem1。 * * * * kubelet[7275]: E0622 04:31:36.891490 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: 无法列出 *v1.Service: Get https:// /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0:拨打tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:36 kubem1。 * * * * kubelet[7275]: E0622 04:31:36.945185 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: 无法列出v1.Pod: 获取https: //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:37 kubem1。 * * * * kubelet[7275]: E0622 04:31:37.890407 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: 无法列出 *v1.Node: 获取https:// /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1。 * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:37 kubem1。 * * * * kubelet[7275]: E0622 04:31:37.891696 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: 无法列出 *v1.Service: Get https:// /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0:拨打tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:37 kubem1。 * * * * kubelet[7275]: E0622 04:31:37.946023 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: 无法列出v1.Pod: 获取https: //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:38 kubem1。 * * * * kubelet[7275]: E0622 04:31:38.121910 7275 eviction_manager.go:247] eviction manager: 未能获得汇总统计信息:未能获得节点信息:节点“kubem1. * * * * ”未找到
6 月 22 日 04:31:38 kubem1。 * * * * kubelet[7275]: E0622 04:31:38.892292 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: 无法列出 *v1.Node: 获取https:// /10.169.150.123 :6443/api/v1/nodes?fieldSelector=metadata.name%3Dkubem1。 * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:38 kubem1。 * * * * kubelet[7275]: E0622 04:31:38.894157 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452: 无法列出 *v1.Service: Get https:// /10.169.150.123 :6443/api/v1/services?limit=500&resourceVersion=0:拨打tcp 10.169.150.123:6443:getsockopt:连接被拒绝
6 月 22 日 04:31:38 kubem1。 * * * * kubelet[7275]: E0622 04:31:38.947002 7275 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: 无法列出v1.Pod: 获取https: //10.169.150.123 :6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1. * * * * &limit=500&resourceVersion=0:拨tcp 10.169.150.123:6443:getsockopt:连接被拒绝
还添加了/etc/resolve.conf
[ root@kubem1 ~]# cat /etc/resolv.conf
名称服务器 8.8.8.8
名称服务器 8.8.4.4
我应该在这个文件中添加任何条目吗?
我应该导入任何证书吗?
我在代理环境中
还尝试了以下,
kubeadm 重置
systemctl 守护进程重新加载
systemctl 重启 docker.service
systemctl 停止 kubelet.service
下面的图像无法通过 docker。
码头工人拉 k8s.gcr.io/kube-apiserver-amd64:v1.10.3
码头工人拉 k8s.gcr.io/kube-controller-manager-amd64:v1.10.3
码头工人拉 k8s.gcr.io/kube-scheduler-amd64:v1.10.3
码头工人拉 k8s.gcr.io/etcd-amd64:3.1.12
在这里我可以看到spec.nodeName=kubem1.*****************
,它似乎是一个编辑过的 FQDN。 另一方面,在您的 DNS 配置中,您似乎没有域和搜索指令。
您的网络中甚至允许使用 Google DNS 服务器吗? 您可能需要联系您的本地网络管理员以获取更多信息。
此外,如果docker pull
对您失败,则可能是由于 DNS 问题。 docker pull
失败的错误是什么?
k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list v1.Pod: Get https://10.169.150.123:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1.*****************&limit=500&resourceVersion=0: dial tcp 10.169.150.123:6443: getsockopt: connection refused
我已经编辑了这个以在 github 'spec.nodeName=kubem1 中发布。 * * * * * '
我们的网络中不允许使用 Google DNS。
Docker pull 对其余的图像有效,但拉取“docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.3”不起作用。
如果我需要在配置文件中做任何修改,请告诉我。
/分配@liztio
由于缺乏可靠的复制器说明而关闭此问题。
如果还有问题,请重新打开。
最有用的评论
在这里我可以看到
spec.nodeName=kubem1.*****************
,它似乎是一个编辑过的 FQDN。 另一方面,在您的 DNS 配置中,您似乎没有域和搜索指令。您的网络中甚至允许使用 Google DNS 服务器吗? 您可能需要联系您的本地网络管理员以获取更多信息。
此外,如果
docker pull
对您失败,则可能是由于 DNS 问题。docker pull
失败的错误是什么?