centos7上使用kubeadm安装k8s集群

            之前为熟悉k8s各组件的部署和配置,手动安装了k8s集群,过程较为繁琐。且安装的版本较低(docker:Version:1.13.1;Kubernetes v1.5.2)。由于最近在学习k8s的包管理工具helm,需要依赖较高版本的kubectl,所以使用kubeadm重新搭建了一套k8s集群。过程和大家分享下。
            新集群版本(docker:Version:18.06.1-ce;Kubernetes v1.18.0)

开始:
k8s-master:192.168.50.223
k8s-node01:192.168.50.224

一:安装前准备
1、master和node都:
yum update
后重启服务器
2、关闭防火墙和selinux,配置hosts
3、将桥接的IPv4流量传递到iptables的链:
$ cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
$ sysctl --system

二:安装
1、配置yum源(master和node)
由于墙的原因,这里都使用阿里云的开源镜像站
docker源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
k8s源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
2、安装docker-ce 和 k8s各组件(master和node)
yum -y install docker-ce-18.06.1.ce-3.el7
修改docker镜像默认存放目录(默认为/var/lib/docker)
3、安装kubelet、kubeadm(master和node)
指定版本:yum install -y kubelet-1.18.0 kubeadm-1.18.0
master安装kubectl:yum install -y kubectl-1.18.0

4、初始化master:
kubeadm init --apiserver-advertise-address=192.168.50.223 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
centos7上使用kubeadm安装k8s集群
如上即为master初始化成功
生成配置文件
mkdir /root/.kube
cp /etc/kubernetes/admin.conf /root/.kube/config
执行kubectl get node即可查看到相关节点。此时节点状态为NotReady,是因为没有安装网络插件
5、安装网络插件(master和node)
这里使用的flannel
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
下载配置文件后kubectl apply -f kube-flannel.yml
访问不到的话见踩坑笔记
网络插件安装完成后kube-system里各pod都处于running状态
centos7上使用kubeadm安装k8s集群

6、向k8s集群添加node节点(node)
执行:kubeadm join 192.168.75.142:6443 --token xxx --discovery-token-ca-cert-hash xxx
kubeadm init的执行结果会输出添加node的命令,如果没有记录可以执行
kubeadm token create --print-join-command
查看命令

7、之后新加node节点
配置docker-ce、k8s的yum源
安装docker-ce、kubeadm、kubelet、kubectl
安装flaneel,执行:kubectl apply -f kubectl-flannel.yml
执行kubeadm join xxx

猜你喜欢

转载自blog.51cto.com/firemelon/2490752