搭建Kubernetes (K8s) 集群----Centos系统

打印 上一主题 下一主题

主题 858|帖子 858|积分 2574

前期准备

准备3台Linux虚拟机(CentOS系统),参考
https://carry.blog.csdn.net/article/details/144578009
https://carry.blog.csdn.net/article/details/144578009搭建Docker情况,参考
https://carry.blog.csdn.net/article/details/107404319
https://carry.blog.csdn.net/article/details/107404319设置好镜像加快器:


  • 阿里云 Docker 镜像加快器

    • 网址:https://cr.console.aliyun.com/
    • 在阿里云控制台中创建加快器,并按照提示设置你的 daemon.json 文件。

  • DaoCloud 镜像加快器

    • 网址:https://www.daocloud.io/mirror
    • 提供简单易用的加快器,注册后即可得到加快器地址。

  • 网易云镜像加快器

    • 网址:https://c.163.com/hub
    • 网易云提供的镜像加快器,速度也很不错。

  • 腾讯云 Docker 镜像加快器

    • 网址:https://cloud.tencent.com/product/acr
    • 腾讯云提供的加快器,注册并绑定你的账号即可使用。

  • 中科大镜像加快器

    • 网址:https://mirrors.ustc.edu.cn/
    • 提供了包罗Docker在内的多种开源软件的镜像加快。

编辑 daemon.json
  1. {
  2.   "registry-mirrors": ["https://<your-aliyun-accelerator-address>"]
  3. }
复制代码
# 重启docker
systemctl daemon-reload
systemctl restart docker

一:设置主机名

每个节点分别设置对应主机名
  1. hostnamectl set-hostname master
  2. hostnamectl set-hostname node1
  3. hostnamectl set-hostname node2
复制代码
二:添加 hosts

Host本身通过ifconfig查看,我本身的3台是192.168.153.128、192.168.153.130、192.168.153.131

vim /etc/hosts

  1. 192.168.153.128 master
  2. 192.168.153.130 node1
  3. 192.168.153.131 node2
复制代码
三:所有节点关闭 SELinux、防火墙 、禁用swap

  1. # 关闭 SELinux
  2. setenforce 0
  3. sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  4. # 关闭防火墙
  5. systemctl stop firewalld
  6. systemctl disable firewalld
  7. # 禁用swap,编辑 /etc/fstab 文件,注释包含swap的行
  8. sudo vi /etc/fstab
复制代码
四:添加 k8s 安装源

  1. vi ks.sh
  2. # 添加一下内容
  3. cat <<EOF > kubernetes.repo
  4. [kubernetes]
  5. name=Kubernetes
  6. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
  7. enabled=1
  8. gpgcheck=0
  9. repo_gpgcheck=0
  10. gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  11. EOF
  12. mv kubernetes.repo /etc/yum.repos.d/
  13. # 运行shel
  14. /bin/bash ks.sh
复制代码
五:通过 yum 安装指定版本的 Kubernetes 组件(kubelet、kubectl 和 kubeadm)

  1. yum install -y kubelet-1.22.4 kubectl-1.22.4 kubeadm-1.22.4
  2. # 启动
  3. systemctl enable kubelet
  4. systemctl start kubelet
复制代码
安装完成后,可以通过以下命令验证安装的版本:
  1. kubelet --version
  2. kubectl version --client
  3. kubeadm version
复制代码
六:初始化集群

1. 初始化 Kubernetes 集群

起首,使用 kubeadm init 命令初始化主节点集群
  1. kubeadm init \
  2.   --image-repository registry.aliyuncs.com/google_containers \
  3.   --kubernetes-version v1.22.4 \
  4.   --service-cidr=10.1.0.0/16 \
  5.   --pod-network-cidr=10.244.0.0/16
复制代码


  • --image-repository registry.aliyuncs.com/google_containers:指定使用阿里云的镜像堆栈,制止从国外镜像源拉取时速度慢。
  • --kubernetes-version v1.22.4:指定 Kubernetes 的版本,确保与之前安装的版本一致。
  • --service-cidr=10.1.0.0/16:指定服务的网络地址范围,默认是 10.96.0.0/12,根据现实情况选择一个不辩论的 CIDR 范围。
  • --pod-network-cidr=10.244.0.0/16:指定 Pod 的网络地址范围,这里使用的是 Flannel 的默认网络范围。
2. 保存 kubeadm join 命令

初始化完成后,kubeadm 会输出一个 kubeadm join 命令,这个命令用于将其他工作节点加入集群。记得把这个命令保存下来。
如果忘记了,可以通过以下命令重新获取:
  1. kubeadm token create --print-join-command
复制代码
返回值:
  1. kubeadm join xxxxx:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:9e71e3f4d0246c5e2117a8c62c51ac4f78f82f1ff32d404a9f22c24a562b9b71
复制代码
3. 设置 kubectl 访问集群

为了可以大概在主节点上使用 kubectl 命令管理 Kubernetes 集群,你必要将 admin.conf 文件复制到你的用户目录下的 .kube/config 中。
  1. mkdir -p $HOME/.kube
  2. cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  3. chown $(id -u):$(id -g) $HOME/.kube/config
复制代码


  • mkdir -p $HOME/.kube:创建 .kube 目录(如果不存在的话)。
  • cp -i /etc/kubernetes/admin.conf $HOME/.kube/config:复制 Kubernetes 设置文件到用户目录。
  • chown $(id -u)(id -g) $HOME/.kube/config:确保设置文件的权限是当前用户所有。
4. 其他节点设置

如果你有其他节点必要访问 Kubernetes 集群,可以将主节点上的 /etc/kubernetes/admin.conf 文件复制到其他节点的 ~/.kube/config 路径下。这样,其他节点也能使用 kubectl 访问集群。
在其他节点上实行以下命令:
  1. mkdir -p $HOME/.kube
  2. scp user@master:/etc/kubernetes/admin.conf $HOME/.kube/config
  3. chown $(id -u):$(id -g) $HOME/.kube/config
复制代码
5. 安装网络插件

在集群初始化后,你必要安装一个网络插件来实现 Pod 之间的通信。常见的网络插件有 Flannel、Calico、Weave 等。这里选择 Flannel,所有节点实行以下命令:
  1. kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
复制代码
完成网络插件安装后,节点之间的通信将建立,集群也就可以正常运行了。
6. 加入工作节点

在工作节点上实行 kubeadm join 命令,将节点加入集群,token就是上面第2步生成的。例如:
  1. kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
复制代码
这样,工作节点就会加入到你的 Kubernetes 集群中了。
7. 验证集群状态

集群初始化和节点加入完成后,可以通过以下命令验证集群状态,好比在主节点实行:
  1. kubectl get nodes
复制代码

所有节点的状态都是ready代表节点都正常

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

耶耶耶耶耶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表