我一直在尝试根据以下教程https://kubernetes.io/docs/setup/independent/install-kubeadm/
运行一个基本的Kubernetes集群。我从最新的ubuntu 16.04系统开始安装了docker。
wget -qO- https://get.docker.com/ | sed 's/docker-ce/docker-ce=18.06.3~ce~3-0~ubuntu/' | sh
之后,我安装了kubelet / Kubeadm和kubectl模块
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
确保交换等已关闭sudo swapoff -a
使用sudo kubeadm init
[init] Using Kubernetes version: v1.13.3
...
To start using your cluster
...
mkdir ...
You can now join any ...
...
我制作.kube文件夹并进行配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl cluster-info
然后显示
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.xxx.xxx:6443 was refused - did you specify the right host or port?
尝试几次后,我曾经收到:
sudo kubectl cluster-info
Kubernetes master is running at https://10.117.xxx.xxx:6443
KubeDNS is running at https://10.117.xxx.xxx:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
但是一秒钟后,它又回到了被拒绝的状态
sudo kubectl cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.xxx.xxx:6443 was refused - did you specify the right host or port?
我尝试使用sudo和不使用sudo ...,sudo kubectl get nodes
也拒绝工作。
The connection to the server 10.117.xxx.xxx:6443 was refused - did you specify the right host or port?
我想念它无法连接吗?
ping 10.117.xxx.xxx
可以正常工作,甚至到该地址的ssh
都可以使用,并且是同一服务器。
修改
sudo systemctl restart kubelet.service
显示群集已联机,但由于某些原因在几分钟之内就脱机。
kubectl cluster-info
Kubernetes master is running at https://10.117.0.47:6443
KubeDNS is running at https://10.117.0.47:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
...
kubectl cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.0.47:6443 was refused - did you specify the right host or port?
edit2
完全重置并使用以下init ...
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
之后
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
允许我安装Pod Network附加组件,但期限很短。
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.extensions/kube-flannel-ds-amd64 created
daemonset.extensions/kube-flannel-ds-arm64 created
daemonset.extensions/kube-flannel-ds-arm created
daemonset.extensions/kube-flannel-ds-ppc64le created
daemonset.extensions/kube-flannel-ds-s390x created
kubectl cluster-info
Kubernetes master is running at https://10.117.xxx.xxx:6443
KubeDNS is running at https://10.117.xxx.xxx:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
➜ ~ kubectl cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.xxx.xxx:6443 was refused - did you specify the right host or port?
edit3
删除所有docker映像,容器等...,然后使用sudo systemctl restart kubelet.service
执行重新启动似乎可以解决几分钟,但随后所有docker容器被杀死并删除而没有任何信号。我该如何查看这些容器的日志记录,也许找出它们被杀死的原因?
答案 0 :(得分:1)
我不知道“ Kubernetes”的详细信息,但是我可以解释您所看到的。
拒绝连接不是拒绝权限。这意味着:“我通过该IP地址和端口与服务器联系,并且该端口上没有服务器在运行。”
所以....您将不得不转到远程系统(您一直在呼叫10.117.xxx.xxx的系统),并仔细检查服务器是否正在运行。以及在哪个端口上。
例如,“ netstat -a”工具将列出所有打开的端口和连接。您应该将监听服务器视为
tcp 0 0 0.0.0.0:9090 0.0.0.0:* LISTEN
在我的情况下,它正在侦听9090端口。您正在寻找带有6443的条目。它可能不会存在,因为那是“拒绝连接”已经告诉您的内容。您需要启动应该提供该服务的服务器进程,并注意错误。如果您在终端上没有看到错误,请检查/ var / log / syslog中的错误。
答案 1 :(得分:0)
控制节点上的kube-apiserver容器可能未启动,或者docker未启动。您可以通过以下方式模仿6443连接被拒绝:
-来自控制节点:
sudo systemctl停止docker
kubectl获得豆荚
-回复:
它找不到位于端口6443上的API……嗯……因此,这表明该特定错误与API和运行它的Docker容器有关。因此,如果docker关闭,或者任何阻止我访问docker的东西被中断,它将引发此类错误。
让我们备份它:
sudo systemctl启动docker
花几分钟时间来启动所有kubernetes系统容器,请记住,您在控制节点上没有任何应用程序容器,通常只有kube系统的东西。
这不会影响您的工作程序节点或它们上的容器,对他们来说,这就像与api断开连接,仅此而已,除非它们需要api上的关键功能,否则它们将保持正常运行。
kubectl获得豆荚
-回复:
NAME READY STATUS重启年龄 busybox 1/1运行中0 42h
答案 2 :(得分:0)
重启后出现同样的错误。 def execute():
x = 'this is imam'
print("this is imam")
#perform some task after first print then print next function
y = 'this akarsh'
print('this akarsh')
#perform some task after first print then print next function
z = 'this is abhi'
print('this is abhi')
result = [x,y,x]
return result
为我工作