问题遇到的现象和发生背景
我在docker desktop启动了三个centos容器,打算用这三个centos搞一个k8s集群,使用的是kubeadm,在执行kubeadm init时卡住。
centos容器(作k8s master节点)启动命令:
docker run -itd --name hadoop01 -p 2201:22 --privileged=true --net bigdata --ip 172.20.0.2 mycentos:latest /sbin/init
master节点的ip是容器启动时指定的,连接到一个自建bridge网络,名为bigdata
k8s初始化命令:
kubeadm init --apiserver-advertise-address=172.20.0.2 --kubernetes-version v1.19.8 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
查看kubelet状态:
发现kubelet一直在重启,使用journalctl -xefu kubelet查看详情
操作环境、软件版本等信息
docker desktop的版本是4.23.0
centos7
centos7中装的docker是最新版本
centos7中的k8s版本是v1.19.8
尝试过的解决方法
网上没找到答案,很疑惑为什么连接172.20.0.2:6443被拒绝?
/etc/hosts文件如下
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.20.0.2 4f48341b0b98
172.20.0.2 k8s-master
172.20.0.3 k8s-node01
173.20.0.4 k8s-node02
ifconfig如下:
[root@4f48341b0b98 ~]# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:5e:db:72:be txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.0.2 netmask 255.255.0.0 broadcast 172.20.255.255
ether 02:42:ac:14:00:02 txqueuelen 0 (Ethernet)
RX packets 21572 bytes 2261620 (2.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 25929 bytes 3235118 (3.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 3466 bytes 173912 (169.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3466 bytes 173912 (169.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0