k8s集群搭建-集群工具安装
·

计划逐步安装
-
集群工具(k8s和集群镜像),在每台虚拟机服务器中分别安装
-
docker (20.10.7版本)
-
kubeadm (1.23.6)
-
kubelet (1.23.6)
-
kubectl (1.23.6)
-
-
搭建Master
-
搭建Node
一、集群工具安装
1.1 安装docker
# 1 切换镜像源
[rootmaster ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
# 2 查看当前镜像源中支持的docker版本
[root@master ~]# yum list docker-ce --showduplicates
# 3 安装最新版本的docker-ce(稳定度以及配置方便的考量)
[root@master ~]# yum install --setopt=obsoletes=0 docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6 -y
# 4 添加一个配器文件
# Docker在认情况下使用的Cgroup Driver为cgroupfs,而kubernetes推荐使用systemd来代替cgroupfs
# 配置docker默认仓库
[root@master ~]# mkdir /etc/docker
[root@master ~]# cat <<EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors":["https://kn0t2bca.mirror.aliyuncs.com"]
}
EOF
# 5 启动docker
[root@master ~]# systemctl restart docker
# 6 设置开机自启动
systemctl enable docker
1.2 安装k8s
# 编辑/etc/yum.repos.d/kubernetes.repo,添加下面的配器 #由于kubernetes的镜像源在国外,速度比较慢,这里切换成国内的镜像源 [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg #安装kubeadm、kubelet和kubectl yum install kubeadm-1.23.6 kubelet-1.23.6 kubectl-1.23.6 -y #配置kubelet的cgroup 代理模型ipvs #编辑/etc/sysconfig/kubelet,添加下面的配置 KUBELET_CGROUP_ARGS="--cgroup-driver=systemd" KUBE_PROXY_MODE="ipvs" # 4 设器kubelet开机自启(k8s启动时会自动启动kubelet,此处设置开机自启即可) [root@master ~]# systemctl enable kubelet
二、搭建Master和Node
下面的动作开始分化,要区分在master节点还是node节点完成
2.1 搭建Master
下面的操作只需要在 master 节点上执行即可(借助于kubeadmin会自动下载、快速安装k8s相关组件)
前提需要先下载k8s相关docker镜像资源
#创建集群 [root@master ~]# kubeadm init \ --kubernetes-version=v1.23.6 \ --pod-network-cidr=10.244.0.0/16 \ --service-cidr=10.96.0.0/12 \ --image-repository registry.aliyuncs.com/google_containers \ --apiserver-advertise-address=192.168.28.134 #Your Kubernetes control-plane has initialized successfully! 看到类似文案说明master创建成功 #执行 kubectl get nodes 仅展现一个master节点 #创建必要文件 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config #todo配置网络 should now deploy a pod network to the cluster #todo Then you can join any number worker nodes by running the following on each as root
2.2 修改profile配置,增加变量
vi /etc/profile #加入以下变量 export KUBECONFIG=/etc/kubernetes/admin.conf source /etc/profile
2.3 搭建Node
下面的操作只需要在 node 节点上执行即可
# 将node1和node2加入master kubeadm join 192.168.28.134:6443 --token.... #如果网络插件没有安装,执行 kubectl get nodes提示Not Ready #查看kube-system名称空间下的所有pod列表,发现其他pod都正常, coredns处于pending挂起状态 [root@master ~]# kubectl get pod -n kube-system NAME READY STATUS RESTARTS AGE coredns-6d8c4cb4d-8jnnr 0/1 Pending 0 150m coredns-6d8c4cb4d-nj5c8 0/1 Pending 0 150m etcd-master 1/1 Running 1 (148m ago) 150m kube-apiserver-master 1/1 Running 1 (148m ago) 150m kube-controller-manager-master 1/1 Running 1 (148m ago) 150m kube-proxy-9jwl2 1/1 Running 1 (148m ago) 149m kube-proxy-gclbb 1/1 Running 1 (148m ago) 150m kube-proxy-l8d8x 1/1 Running 1 (148m ago) 149m kube-scheduler-master 1/1 Running 1 (148m ago) 150m
2.4 安装网络插件
kubernetes支持多种网络插件,比如flannel、calico、canal等等,任选一种使用即可,本次选择calico
下面操作依旧只在 master 节点执行即可
# 获取calico的配器文件
[root@master ~]#wget https://docs.projectcalico.org/v3.23/manifests/calico.yaml --no-check-certificate
#修改calico.yml文件
CALICO_IPV4POOL_CIDR的配置项需要修改成初始化k8s集群时的service-cidr值
10.96.0.0/12
#批量修改calico.yaml文件,把docker.io/的镜像路径替换掉
sed -i 's#docker.io/##g' calico.yaml
#为了加快速度,可以在1主2从上执行批量下载docker镜像
images=(
calico/cni:v3.23.5
calico/node:v3.23.5
calico/kube-controllers:v3.23.5
)
for imageName in ${images[@]} ; do
docker pull $imageName
done
#使用配置文件启动calico
[root@master ~]# kubectl apply -f calico.yaml
# 稍等片刻,再次查看集群节点的状态
[root@master ~]# kubectl get nodes
# 查看集群信息
kubectl cluster-info
更多推荐

所有评论(0)