目的

  1. 在所有节点上安装 Docker 和 kubeadm;
  2. 部署 Kubernetes Master;
  3. 部署容器网络插件;
  4. 部署 Kubernetes Worker;
  5. 部署 Dashboard 可视化插件;
  6. 部署容器存储插件。


配置yum源

  1. vi /etc/yum.repos.d/xes.repo # 这里可能需要替换
  2. 加入以下内容
  3. [kubernetes]
  4. name=Kubernetes
  5. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
  6. enabled=1
  7. gpgcheck=0

安装docker

  1. yum -y install docker

查看docker安装成功

  1. docker version

启动docker

  1. sudo systemctl start docker

下载所需要的镜像

  1. for i in `kubeadm config images list`; do
  2. imageName=${i#k8s.gcr.io/}
  3. docker pull registry.aliyuncs.com/google_containers/$imageName
  4. docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
  5. docker rmi registry.aliyuncs.com/google_containers/$imageName
  6. done;

配置host

  1. vi /etc/hosts
  2. 127.0.0.1 ymaster # 这里修改为hostname

更改kubelet的参数

  1. vi /etc/sysconfig/kubelet
  2. 改为如下参数
  3. KUBELET_EXTRA_ARGS=--cgroup-driver=systemd

kubeadm init

可能报错

docker service is not enabled, please run ‘systemctl enable docker.service’
kubeadm join 10.90.101.26:6443 —token 7ztts3.mx7semovplpine98 \
—discovery-token-ca-cert-hash sha256:9db8a4e337aa5652342c3e3823e85d510522828461bfc6280fb52c7b4301be58

这个时候systemctl enable docker.service 就好了

也可能还会报错

master主节点初始化报错 /proc/sys/net/ipv4/ip_forward contents are not set to 1

解决方法

echo 1 > /proc/sys/net/ipv4/ip_forward

也可能还会报错
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR ImagePull]: failed to pull image k8s.gcr.io/coredns/coredns:v1.8.0: output: Trying to pull repository k8s.gcr.io/coredns/coredns
Get https://k8s.gcr.io/v1/_ping: dial tcp 142.251.8.82:443: connect: connection timed out

解决方法

先下载下来到本地。然后
docker pull coredns/coredns:v1.8.0

然后替换调tag 格式 docker tag imageid 目标
docker tag 8d147537fb7d k8s.gcr.io/coredns/coredns:v1.8.0

也许还会一直被卡住

在 kubeadm join 10.90.101.26:6443 —token 7ztts3.mx7semovplpine98 \
—discovery-token-ca-cert-hash sha256:9db8a4e337aa5652342c3e3823e85d510522828461bfc6280fb52c7b4301be58 后面加–-v=2 查看具体的报错信息

查看master的node信息是not ready

需要安装网络插件

  1. kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml

也有可能还有个原因就是6443 端口没有开放,需要在安全组先添加端口

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

参考