龙空技术网

kubernetes(K8S)集群部署(二)使用 Kubeadm 搭建集群环境

运维那些事 278

前言:

眼前你们对“yum安装kubernetes18”大概比较注意,小伙伴们都需要学习一些“yum安装kubernetes18”的相关知识。那么小编同时在网络上汇集了一些关于“yum安装kubernetes18””的相关资讯,希望你们能喜欢,小伙伴们一起来学习一下吧!

基础环境初始化参考以下链接

一、安装docker、kubeadm、kubelet、kubectl程序(三台主机都需要安装)

1.docker程序安装

#安装yum-utils软件用于提供yum-config-manager程序[root@master1 ~]# yum install -y yum-utils#使用yum-config-manager创建docker存储库(阿里)[root@master1 ~]# yum-config-manager --add-repo 查看当前镜像源中支持的docker版本[root@master1 ~]# yum list docker-ce --showduplicatesdocker-ce-18.06.3.ce-3.el7 #该版本为特定版#安装特定版docker-ce,安装时需要使用--setopt=obsoletes=0参数指定版本,否则yum会自动安装高版本[root@master1 ~]# yum -y install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.el7#查看docker版本信息[root@master1 ~]# docker --version#创建/etc/docker目录,并在/etc/docker目录下添加一个配置文件[root@master1 ~]# mkdir /etc/docker#Docker默认使用的Cgroup Driver为默认文件驱动,而k8s默认使用的文件驱动为systemd,k8s要求驱动类型必须要一致,所以需要将docker文件驱动改成systemd[root@master1 ~]# cat <<EOF > /etc/docker/daemon.json{"registry-mirrors": [";],"exec-opts": ["native.cgroupdriver=systemd"]}EOF#启动docker程序[root@master1 ~]# systemctl start docker#设置docker随机自启[root@master1 ~]# systemctl enable docker

2.安装kubernetes程序

#创建阿里kubernetes仓库[root@master1 ~]# cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=安装kubeadm、kubelet、kubectl程序[root@master1 ~]# yum -y install --setopt=obsoletes=0 kubeadm-1.19.16-0 kubelet-1.19.16-0 kubectl-1.19.16-0#配置kubelet的cgroup,编辑/etc/sysconfig/kubelet文件[root@master1 ~]# vim /etc/sysconfig/kubeletKUBELET_EXTRA_ARGS="--cgroup-driver=systemd"KUBELET_PROXY_MODE="ipvs"#设置kubelet随机自启[root@master1 ~]# systemctl enable kubelet

3.下载集群镜像

#在安装kubernetes集群前,必须要准备好集群需要的镜像,所需的镜像可以通过下面命令查看[root@master1 ~]# kubeadm config images listk8s.gcr.io/kube-apiserver:v1.19.16k8s.gcr.io/kube-controller-manager:v1.19.16k8s.gcr.io/kube-scheduler:v1.19.16k8s.gcr.io/kube-proxy:v1.19.16k8s.gcr.io/pause:3.2k8s.gcr.io/etcd:3.4.13-0k8s.gcr.io/coredns:1.7.0#定义镜像列表,应为此镜像在kubernetes仓库中,由于网络原因无法下载[root@master1 ~]# images=(kube-apiserver:v1.19.16kube-controller-manager:v1.19.16kube-scheduler:v1.19.16kube-proxy:v1.19.16pause:3.2etcd:3.4.13-0coredns:1.7.0)#从阿里镜像仓库下载镜像[root@master1 ~]# for imageName in ${images[@]};dodocker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageNamedocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageNamek8s.gcr.io/$imageNamedocker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageNamedone#查看镜像(标签以变成k8s标签)[root@master1 ~]# docker imagesREPOSITORYk8s.gcr.io/kube-proxyk8s.gcr.io/kube-schedulerk8s.gcr.io/kube-apiserverk8s.gcr.io/kube-controller-managerk8s.gcr.io/corednsk8s.gcr.io/etcdk8s.gcr.io/pause

4.kubernetes集群初始化

Master节点创建集群(该操作只在master主机执行)

[root@master1 ~]# kubeadm init \--kubernetes-version=v1.19.16 \--pod-network-cidr=10.244.0.0/16 \--service-cidr=10.96.0.0/12 \--apiserver-advertise-address=172.16.102.11#--pod-network-cidr 参数使用10.244.0.0/16,是因为选择了flannel组件,如果选其他组件,该参数要做相应的改变;#--service-cidr 参数为service的虚拟IP地址另外指定IP地址段;#出现 Your Kubernetes master has initialized successfully! 信息且没有ERROR信息,则初始化成功[root@master1 ~]# mkdir -p $HOME/.kube[root@master1 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config[root@master1 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config#使普通用户使用kubectl (在初始化集群时的打印信息中含有,配置kubeconfig路径):$ mkdir -p $HOME/.kube$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config$ sudo chown $(id -u):$(id -g) $HOME/.kube/config$ sudo chmod 666 /etc/kubernetes/admin.conf

5.node节点加入集群

[root@node1 ~]# kubeadm join 172.16.102.11:6443 --token cod9jx.5gnmixcwr282pwvz \    --discovery-token-ca-cert-hash sha256:42c52beff870af1d9519e989aaf425db6ea0f33a2eb60f1360aa0ffa409eecfb [root@node2 ~]# kubeadm join 172.16.102.11:6443 --token cod9jx.5gnmixcwr282pwvz \    --discovery-token-ca-cert-hash sha256:42c52beff870af1d9519e989aaf425db6ea0f33a2eb60f1360aa0ffa409eecfb 

6.master节点查看node节点信息

[root@master1 ~]# kubectl get nodesNAME   STATUS   ROLES  AGE   VERSIONmaster Ready master 9m1s  v1.19.16node1  Ready <none> 3m26s v1.19.16node2  Ready <none> 5s    v1.19.16提示:如果哪个节点出现问题,可以使用下列命令重置当前节点kubeadm reset

至此集群环境部署完毕

标签: #yum安装kubernetes18