2017-07-29 109 views
0

我试图安装2个节点的kubernetes集群(v1.7.2)。并使用编织作为cni。当加入其他的节点,kubeadm主机名的抱怨kubeadm v1.7.2主机名“”无法达成

[[email protected] ~]# kubeadm join --token c5ba8a.6bcb25f017648271 10.41.30.50:6443 
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters. 
[preflight] Running pre-flight checks 
[preflight] WARNING: hostname "" could not be reached 
[preflight] WARNING: hostname "" lookup : no such host 
[preflight] Some fatal errors occurred: 
    hostname "" a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*') 
[preflight] If you know what you are doing, you can skip pre-flight checks with `--skip-preflight-checks` 

我使用CentOS的7.3

Linux ctdpc001572.ctd.internal.com 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 

安装百胜包

Loaded plugins: fastestmirror, langpacks, versionlock 
Loading mirror speeds from cached hostfile 
Installed Packages 
kubeadm.x86_64                     1.7.2-0                      @kubernetes 
kubectl.x86_64                     1.7.2-0                      @kubernetes 
kubelet.x86_64                     1.7.2-0                      @kubernetes 
kubernetes-cni.x86_64                   0.5.1-0                      @kubernetes 
Available Packages 
kubernetes.x86_64                    1.5.2-0.7.git269f928.el7                  extras  
kubernetes-client.x86_64                  1.5.2-0.7.git269f928.el7                  extras  
kubernetes-master.x86_64                  1.5.2-0.7.git269f928.el7                  extras  
kubernetes-node.x86_64                   1.5.2-0.7.git269f928.el7                  extras  
kubernetes-unit-test.x86_64                  1.5.2-0.7.git269f928.el7                  extras  

步骤:

$ yum install -y docker kubelet kubeadm kubectl kubernetes-cni 
$ systemctl enable docker && systemctl start docker 
$ systemctl enable kubelet && systemctl start kubelet 
$ systemctl stop firewalld; systemctl disable firewalld 
$ kubeadm init --apiserver-advertise-address=10.41.30.50 
$ mkdir $HOME/.kube 
$ cp /etc/kubernetes/admin.conf $HOME/.kube/config 

#set IPALLOC_RANGE to 172.40.0.0/16 in https://git.io/weave-kube-1.6 
$ kubectl apply -f weave-kube-1.6.yaml 

#schedule pods on master 
$ kubectl taint nodes --all node-role.kubernetes.io/master- 

#disable access control 
$ kubectl create clusterrolebinding permissive-binding \ 
    --clusterrole=cluster-admin \ 
    --user=admin \ 
    --user=kubelet \ 
    --group=system:serviceaccounts 

# joining other node 
$ kubeadm join --token c5ba8a.6bcb25f017648271 10.41.30.50:6443 

当运行

kubeadm join --token c5ba8a.6bcb25f017648271 10.41.30.50:6443 --skip-preflight-checks 

我看到织KUBE荚以下错误:

2017/07/29 16:36:39 error contacting APIServer: Get https://10.96.0.1:443/api/v1/nodes: dial tcp 10.96.0.1:443: i/o timeout; trying with fallback: http://localhost:8080 
2017/07/29 16:36:39 Could not get peers: Get http://localhost:8080/api/v1/nodes: dial tcp [::1]:8080: getsockopt: connection refused 
Failed to get peers 

回答

0

添加IP路由手动上其他节点解决了这个问题。 :汗 - 微笑:

route add 10.96.0.1 gw <your real master IP> 
0

看起来像你的奴才节点的主机名非法。 主机名称不能包含' - ',而你的DNS-1123 在/ etc/hostname和/ etc/hosts中将其更改为正确。 这将是好的。

+0

DNS-1123错误消息表示RFC 1123这不是我的DNS名称。 –

0

运行此命令

kubeadm join --skip-preflight-checks --token TOKEN HOST:PORT 
+0

已经在描述中提到了。 –