master节点
关闭防火墙
1 | systemctl disable firewalld.service |
安装docker
添加docker源sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装指定版本docker-ceyum install -y --setopt=obsoletes=0 docker-ce-17.03.1.ce-1.el7.centos docker-ce-selinux-17.03.1.ce-1.el7.centos
安装kubeadm kubelet kubectl
1 | >/etc/yum.repos.d/kubrenetes.repo<<EOF |
这里先添加aliyun的源
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
安装kubelet,kubeadm,kubectl
注: 在node节点也许要安装上述程序
拉取镜像
国内环境需要单独拉取镜像
执行kubeadm config images list
,查看有哪些镜像
然后执行1
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;
拉取所需镜像
设置主机名,hosts
1 | hostnamectl --static set-hostname k8s-master |
1 | 192.168.33.11 k8s-master |
开始配置master节点
在master上执行1
kubeadm init --kubernetes-version=v1.14.1 --apiserver-advertise-address=192.168.33.11 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=NumCPU
这一步的preflight check中会提示一些错误,按照提示解决即可,比如关闭swap, 执行swapoff -a
安装完成后的正确输出1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16o start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
▽
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.33.11:6443 --token 4wjdcu.rbbhnqo3v0u7wvnk \
--discovery-token-ca-cert-hash sha256:f91ad7efecc53b99556025ef4ed60c1a72697fd4fcd8ed8e4d30dc5e5f04ad68
安装pod网络
使用flannel
安装pod网络
执行kubectl apply -f kube-flannel.yaml
检查
kubectl get nodes
安装woker节点
worker节点需要安装docker kubelet kubeadm kubectl
和master同理
加入node节点
1 | kubeadm join 192.168.33.11:6443 --token wuys8z.b6c8f95c5ig7yuz0 --discovery-token-ca-cert-hash sha256:f91ad7efecc53b99556025ef4ed60c1a72697fd4fcd8ed8e4d30dc5e5f04ad68 |
注: token我看到的是23小时过期。在master上执行kubeadm token create
创建新的token