Kubeadm初始化Kubernetes集群
不得不说的话:2019年1月4日,注定让我难忘,也注定要改变些什么!我所做的事只是为了在2019年的7月份可以找到一份工作,不至于我毕业就失业了。我爱运维吗?不爱!为什么一直在这条路上,无非是上了贼船还由得我选吗?
今天早上9点不到就开始了学习:Kubeadm初始化Kubernetes集群 我看到过前辈们在这块知识点上费了很多时间,所以我做好了用一天的时间来完成这块知识点。视频时间1小时24分整。我目前知道的是有三种方法可以部署kubernetes集群,前辈也和我建议过用二进制部署的方法即符合公司要求也可以少踩很多坑。可我想既然视频买了,书也买了,总不能不学一下吧,于是我决定先跟视频和书走一遍再二进制部署一遍再ansible部署一遍。事实证明,真的踩了许多坑,踩坑是高兴的,因为我做好了准备
中午想去吃饭,可看到错误还在那里,怎么也迈不动腿,随性坐下继续排错。今天啊从早上9点不到到下午17点52分,上了一趟厕所,其余的时间都在部署。终于成功了,心中很是开心。下面的路还有太多未知的坑,我愿意一个一个的来踩。
下面给出我在本次部署中的所有代码,不是懒得整理,我放出来只是想告诉我自己,这就是我今天所做的一切!!!
主机名 | IP | 作用 |
master | 10.0.0.100 | master节点 |
node01 | 10.0.0.101 | node节点 |
node02 | 10.0.0.102 | node节点 |
kubeamd
1.master, nodes:安装kubelet, kubeadm, docker
2.master:kubeadm init
3.nodes:kubadm join
https://github.com/kubernetes/kubeadm/blob/master/docs/design/design_v1.10.md
前提:时间一致;防火墙关闭,SElinx 关闭;
master
[code]79 vim /etc/hosts 80 date 81 yum install ntpdate -y 82 vim /etc/crontab 83 hwclock --systohc 84 history 85 systemctl statue filld 86 service iptables status 87 systemctl status firewalld 88 getenforce 89 cd /etc/yum.repos.d/ 90 ls 91 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 92 vim docker-ce.repo 93 vim kubernetes.repo 94 yum repolist 95 scp kubernetes.repo docker-ce.repo node01:/etc/yum.repos.d/ 96 scp kubernetes.repo docker-ce.repo node02:/etc/yum.repos.d/ 97 yum install docker-ce 98 yum install docker-ce kubelet kubeadm kubectl 99 vim kubernetes.repo 100 cd - 101 wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 102 ls 103 rpm --import yum-key.gpg 104 yum install docker-ce kubelet kubeadm kubectl 105 ll 106 wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 107 rpm --import rpm-package-key.gpg 108 wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 109 rpm --import rpm-package-key.gpg 110 yum install docker-ce kubelet kubeadm kubectl 111 history 112 vim /usr/lib/systemd/system/docker.service 113 cd /usr/lib/systemd/system/ 114 cp docker.service{,.cp} 115 vim docker.service 116 systemctl daemon-reload 117 systemctl start docker 118 docker info 119 vim docker.service 120 systemctl daemon-reload 121 systemctl restart docker 122 docker info 123 vim /etc/sysctl.conf 124 cp /etc/sysctl.conf{,.cp} 125 vim /etc/sysctl.conf 126 systemctl restart docker 127 docker info 128 vim /etc/sysctl.conf 129 sysctl -p 130 docker info 131 cat /proc/sys/net/bridge/bridge-nf-call-ip6tables 132 cat /proc/sys/net/bridge/bridge-nf-call-iptables 133 rpm -ql kubelet 134 cat /etc/systemd/system/kubelet.service 135 cat /etc/sysconfig/kubelet 136 systemctl start kubelet 137 systemctl status kubelet 138 cat /var/log/messages 139 systemctl stop kubelet 140 systemctl enable kubelet 141 systemctl enable docker 142 kubeadm init 143 kubeadm init --help 144 kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=10.244.0/16 --service-cidr=10.96.0.0/12 145 /etc/systemd/system/kubelet.service 146 kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 147 free -m 148 vim /etc/sysconfig/kubelet 149 cp /etc/sysconfig/kubelet{,.cp} 150 vim /etc/sysconfig/kubelet 151 kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ingnore-preflight-errors=Swap 152 kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap 153 cd ~ 154 scp rpm-package-key.gpg node01:/root 155 scp rpm-package-key.gpg node02:/root 156 scp yum-key.gpg node02:/root 157 scp yum-key.gpg node01:/root 158 docker image ;s 159 docker image ls 160 kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap 161 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 162 docker 163 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 164 dig @114.114.114.114 registry-1.docker.io 165 yum install -y dig 166 yum install bind-utils 167 dig @114.114.114.114 registry-1.docker.io 168 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 169 vim /etc/hosts 170 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 171 vim /etc/hosts 172 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 173 history 174 cd /usr/lib/systemd/system/ 175 vim docker.service 176 systemctl restart docker 177 systemctl stop docker 178 systemctl daemon-reload 179 systemctl restart docker 180 docker info 181 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 182 docker image ls 183 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 184 docker image ls 185 vim docker.service 186 history 187 docker image ls 188* docker tag /mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1 189 docker tag mirrorgooglecontainers/kube-controller-manager-amd64:v1.13.1 k8s.gcr.io/kube-controller-manager:v1.13.1 190 docker image ls 191 docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.13.1 k8s.gcr.io/kube-scheduler:v1.13.1 192 docker image ls 193 docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.13.1 k8s.gcr.io/kube-proxy:v1.13.1 194 docker image ls 195 docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1 196 docker tag docker.io/mirrorgooglecontainers/etcd-amd64:3.2.24 k8s.gcr.io/etcd:3.2.24 197 docker tag docker.io/coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6 198 docker image ls 199 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 200 docker image ls 201 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 202 dig @114.114.114.114 registry-1.docker.io 203 vim /etc/hosts 204 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 205 vim /etc/hosts 206 dig @114.114.114.114 registry-1.docker.io 207 vim /etc/hosts 208 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 209 systemctl restart docker 210 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 211 docker image ls 212 vim /etc/hosts 213 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 214 vim docker.service 215 ll 216 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 217 ping 47.106.109.149 218 ssh root@47.106.109.149 219 rsync -avz -e 'ssh -p22' root@47.106.109.149:/root/my.gz 220 docker image ls 221 rz 222 ll 223 docker load -i my.gz 224 docker image ls 225 docker tag mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1 226 docker image ls 227 docker image --h 228 docker image rm mirrorgooglecontainers/kube-proxy-amd64 229 docker image rm mirrorgooglecontainers/kube-proxy-amd64:v1.13.1 230 docker image ls 231 docker image rm mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 232 docker image ls 233 docker image rm mirrorgooglecontainers/kube-controller-manager-amd64:v1.13.1 234 docker image ls 235 docker image rm mirrorgooglecontainers/kube-scheduler-amd64:v1.13.1 236 docker image ls 237 docker image rm coredns/coredns:1.2.6 238 docker image ls 239 docker image rm mirrorgooglecontainers/etcd-amd64:3.2.24 240 docker image ls 241 docker image rm mirrorgooglecontainers/pause:3.1 242 docker image ls 243 docker save -o k8s-1.13.1.gz k8s.gcr.io/kube-proxy:v1.13.1 k8s.gcr.io/kube-controller-manager:v1.13.1 k8s.gcr.io/kube-scheduler:v1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1 k8s.gcr.io/coredns:1.2.6 k8s.gcr.io/etcd:3.2.24 k8s.gcr.io/pause:3.1 244 ll 245 sz k8s-1.13.1.gz 246 history 247 cd ~ 248 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 249 kubectl get 250 kubectl get -h 251 kubectl get cs 252 kubectl get componentstatus 253 kubectl get nodes 254 vim /etc/hosts 255 kubectl get nodes 256 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 257 kubectl get pods 258 docker image ls 259 kubectl get pods 260 kubectl get nodes 261 docker image ls 262 docker search flannel 263 docker image ls 264 kubectl describe node master 265 kubectl get pod -n kube-system -o wide 266 kubectl get nodes 267 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 268 kubectl get nodes 269 docker image ls 270 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 271 kubectl get pods -n kube-system 272 echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile 273 source /etc/profile 274 echo $KUBECONFIG 275 sysctl net.bridge.bridge-nf-call-iptables=1 276 vim kube-flannel.yaml 277 kubectl apply -f kube-flannel.yaml 278 kubectl get pods --all-namespaces -o wide 279 docker image ls 280 history 281 docker image ls 282 docker pull quar.io/coreos/flannel:v0.10.0-adm64 283 kubectl get pods 284 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 285 vim /etc/hosts 286 docker image ls 287 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml 288 docker imkage ls 289 systemctl restart docker\ 290 systemctl restart docker 291 docker image ls 292 docker pull quay.io/coreos/flannel:v0.10.0-amd64 293 docker info 294 docker image ls 295 rz 296 docker load -i flannel.tar 297 docker image ls 298 kubectl get nodes 299 kubectl get pods -n kube-system 300 kubectl get ns 301 scp /etc/sysconfig/kubelet node01:/etc/sysconfig/ 302 systemctl start docker 303 docker info 304 systemctl enable docker kublet 305 systemctl enable docker kubelet 306 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 307 history 308 scp /etc/sysconfig/kubelet node02:/etc/sysconfig/ 309 kubectl get nodes 310 history 79 vim /etc/docker/daemon.json 80 history 81 systemctl restart docker 82 docker pull mirrorgooglecontainers/kube-controller-manager-amd64:v1.13.1 83 docker image ls 84 docker pull mirrorgooglecontainers/kube-scheduler-amd64:v1.13.1 85 docker image ls 86 docker pull mirrorgooglecontainers/kube-scheduler-amd64:v1.13.1 87 docker image ls 88 docker pull mirrorgooglecontainers/kube-proxy-amd64:v1.13.1 89 docker image ls 90 docker pull mirrorgooglecontainers/pause:3.1 91 docker image ls 92 docker pull mirrorgooglecontainers/etcd-amd64:3.2.24 93 docker image ls 94 docker pull coredns/coredns:1.2.6 95 docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.13.1 96 vim /etc/hosts 97 docker image ls 98 mkdir -p $HOME/.kube 99 cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 100 kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap 101 history 102 ss -tnl 103 docker image ls 104 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 105 docker image ls 106 kubectl get pods 107 kubectl get nodes 108 kubectl get pod --all-namespaces -o wide 109 docker image ls 110 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 111 ll 112 rm -rf yum-key.gpg.1 113 ll 114 docker image ls 115 docker info 116 docker image ls 117 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 118 kubectl get pods 119 ss -tnl 120 kubectl get pods 121 docker images ls 122 docker image ls 123 kubectl get pods 124 docker image ls 125 kubectl get pods 126 docker image ls 127 kubectl get pods 128 kubectl get nodes 129 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 130 kubectl get pods 131 docker image ls 132 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 133 docker image ls 134 cd /var/lib/systemd/ 135 ll 136 cd .. 137 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 138 docker image ls 139 kubectl get nodes 140 kubectl get pod --all-namespaces -o wide 141 docker image ls 142 docker pull nginx 143 docker image ls 144 docker image rm nginx 145 docker image ls 146 kubectl get cs 147 docker pull quay.io/coreos/flannel:v0.10.0-ppc64le 148 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 149 vim /etc/docker/daemon.json 150 scp /usr/lib/systemd/system/docker.service node01:/usr/lib/systemd/systemd/ 151 scp /usr/lib/systemd/system/docker.service node01:/usr/lib/systemd/systemd/docker.service 152 kubectl get nodes 153 kubectl get pods -n kube-system 154 kubectl get pods -n kube-system -o wide 155 kubectl get nodes 156 history
node01
[code]79 vim /etc/hosts 80 date 81 yum install ntpdate -y 82 vim /etc/crontab 83 hwclock --systohc 84 history 85 rpm --import rpm-package-key.gpg 86 yum install dockerce kubelet kubeadm 87 yum install docker-ce 88 history 89 docker image ls 90 vim /etc/hosts 91 cd /usr/ 92 cd lib 93 cd systemd/ 94 cd system 95 ll 96 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 97 systemctl start docker 98 docker info 99 systemctl enable docker kubelet 100 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 101 echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables 102 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 103 docker image ls 104 rz 105 ll 106 mv k8s-1.13.1.gz ~ 107 cd ~ 108 ll 109 docker load -i k8s-1.13.1.gz 110 docker image ls 111 rz 112 docker load -i flannel.tar 113 docker image ls 114 docker image rm k8s.gcr.io/kube-scheduler:v1.13.1 115 docker image ls 116 docker image rm k8s.gcr.io/kube-controller-manager:v1.13.1 117 docker image rm k8s.gcr.io/kube-apiserver:v1.13.1 118 docker image rm k8s.gcr.io/coredns:1.2.6 119 docker image rm k8s.gcr.io/etcd:3.2.24 120 docker image ls 121 history 122 docker image ls 123 docker save -o k8s.1.13.1.node.tar k8s.gcr.io/kube-proxy:v1.13.1 quay.io/coreos/flannel:v0.10.0-amd64 k8s.gcr.io/pause:3.1 124 ll 125 rz flannel.tar 126 sz flannel.tar 127 scp flannel.tar node02:~ 128 history
node02
[code]79 vim /etc/hosts 80 date 81 crontab -e 82 yum install ntpdate -y 83 vim /etc/crontab 84 date 85 hwclock --systohc 86 hwclock 87 vim /etc/crontab 88 rpm --import rpm-package-key.gpg 89 yum install dockerce kubelet kubeadm 90 yum install docker-ce 91 history 92 systemctl start docker 93 systemctl enable docker kubelet 94 echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables 95 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 96 echo $? 97 ll 98 yum install dockerce kubelet kubeadm 99 docker image ls 100 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 101 systemctl start docker 102 docker info 103 systemctl enable docker kubelet 104 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 105 echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables 106 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 107 cd /etc/kubernetes/ 108 ll 109 rm -f kubelet.conf 110 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 111 ll 112 rm -rf * 113 ll 114 cd .. 115 cd kubernetes/ 116 ll 117 cd /etc/sysconfig/ 118 ll 119 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 120 kubeadm reset 121 kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf --ignore-preflight-errors=Swap 122 cd ~ 123 ll 124 docker load -i flannel.tar 125 docker image ls 126 ll 127 docker imager ls 128 docker image ls 129 rz 130 ll 131 docker image ls 132 docker load -i k8s-1.13.1.gz 133 docker image rm k8s.gcr.io/kube-scheduler:v1.13.1 134 docker image rm k8s.gcr.io/kube-controller-manager:v1.13.1 135 docker image rm k8s.gcr.io/kube-apiserver:v1.13.1 136 docker image rm k8s.gcr.io/coredns:1.2.6 137 docker image ls 138 docker image rm k8s.gcr.io/etcd:3.2.24 139 docker image ls 140 history
kubeadm join 10.0.0.100:6443 --token ew86kc.3ggc6sml79d453tk --discovery-token-ca-cert-hash sha256:e730e1bf71edd7e18eabf4b2bb65397cb65fdb2d4657df269eb85beb320eb2cf
我排错过程中借助的其中两篇博文
https://www.geek-share.com/detail/2755793060.html
https://blog.csdn.net/zhydream77/article/details/81909939
注:所需部署 Kubernetes 1.13.1的全部软件我都有,有需要请评论说出,我免费给!
---2019年1月4日
- 10分钟搭建Kubernetes容器集群平台(kubeadm)
- kubernetes kubeadm部署高可用集群
- kubeadm安装kubernetes1.9.2集群
- kubeadm 搭建 kubernetes 集群
- 使用 kubeadm 创建一个 kubernetes 集群
- 国内使用 kubeadm 在 Centos 7 搭建 Kubernetes 集群
- kubeadm 搭建 kubernetes 集群
- kubeadm部署kubernetes-1.12.0 HA集群-ipvs
- 离线使用 kubeadm 创建 kubernetes 1.9.2 集群
- kubernetes1.5新特性:新版本kubeadm
- kubernetes集群中部署kube-ui
- Kubernetes 1.4 基础篇:kubeadm方式安装