kubernetes安装时常有两种方式(第三方自动化安装除外)1、kubeadm 工具快速部署 2、二进制安装包部署
第一种方式在部署kubernetes1.12及以前版本中默认无法访问官方镜像,所以部署时需要先用docker pull 拉取镜像,再tag成官网镜像名称。官方镜像地址为k8s.gcr.io。好在1.13版本可以手动指定镜像获取地址,改成阿里云镜像后可以方便快速部署。
kubeadm init \
--apiserver-advertise-address=192.168.92.56 \
--image-repository registry.aliyuncs.com/google_containers \ 指定阿里云镜像
--kubernetes-version v1.13.1 \
--pod-network-cidr=10.244.0.0/16
---------------------
详细部署可以参考博客:https://blog.csdn.net/networken/article/details/84991940
第二种方式部署可以参考博客: https://blog.csdn.net/zhenliang8/article/details/84785214
文中有几处小错误:1、启动kube-scheduler 部分写错了,写成了启动kube-apiserver 2、flannel-v0.10.0,解压对应的版本写成了flannel-v0.9.1 ,改正即可
我自己部署过程中遇到的坑:
1、centos系统版本过低,造成etcd 集群部署时三台集群只能在线两台,更新到centos7.6环境测试通过,centos7.0失败。
2、kubernetes 1.12.0部署Ingress 控制器出错。
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
kubectl apply -f mandatory.yaml ,然后 kubectl get pods -n ingress-nginx 提示没有资源。部署多次,修改image地址为阿里云等,下载早些版本
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.20.0/deploy/mandatory.yaml部署都一样
甚至先用docker pull 下载 mandatory.yaml中需要的镜像,始终都没pod 创建,不知道为何。没办法后来用kubernetes 1.13.1版本同样部署成功。