目的
- 在所有节点上安装 Docker 和 kubeadm;
- 部署 Kubernetes Master;
- 部署容器网络插件;
- 部署 Kubernetes Worker;
- 部署 Dashboard 可视化插件;
- 部署容器存储插件。
配置yum源
vi /etc/yum.repos.d/xes.repo # 这里可能需要替换
加入以下内容
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
安装docker
yum -y install docker
查看docker安装成功
docker version
启动docker
sudo systemctl start docker
下载所需要的镜像
for i in `kubeadm config images list`; do
imageName=${i#k8s.gcr.io/}
docker pull registry.aliyuncs.com/google_containers/$imageName
docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.aliyuncs.com/google_containers/$imageName
done;
配置host
vi /etc/hosts
127.0.0.1 ymaster # 这里修改为hostname
更改kubelet的参数
vi /etc/sysconfig/kubelet
改为如下参数
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
需要安装网络插件
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