CentOS7 部署K8S集群

虚拟机: Oracle VM Virtualbox
操作系统:CentOS Linux release 7.6.1810 (Core)
查看操作版本命令:cat /etc/redhat-release

部署规划

192.168.1.164     k8s-master
192.168.1.189     k8s-node1
192.168.1.203     k8s-node2

备注:第1步~第8步,所有的节点都要操作,第9、10步Master节点操作,第11步Node节点操作。
如果第9、10、11步操作失败,可以通过 kubeadm reset 命令来清理环境重新安装。

1.关闭防火墙

$ systemctl stop firewalld
$ systemctl disable firewalld.service     禁止防火墙开机自启

备注:必须关闭

2.关闭selinux

$ setenforce 0

3.关闭swap

$ swapoff -a       临时关闭
$ free             可以通过这个命令查看swap是否关闭了
$ vim /etc/fstab   永久关闭

备注:必须关闭

4.添加主机名与IP对应的关系

$ vim /etc/hosts

添加如下内容:

192.168.1.164     k8s-master
192.168.1.189     k8s-node1
192.168.1.203     k8s-node2

5.将桥接的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

6.安装Docker

1)下载并安装
若有问题,可查看链接centos7安装配置docker

$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7

注:此处最好下载该指定版本docker-ce-18.06.1.ce-3.el7,因为后文下载k8s对于此处docker版本有要求。如后文下载k8s版本为v1.20.2,对应docker版本只能为18.09以及之前的版本,所以此处下载指定版本。

2)设置开机启动

$ systemctl enable docker
$ systemctl start docker

注:此处最好设置docker的驱动程序,防止后文在执行kubeadm init集群初始化时出现
Warning:detected “cgroupfs” as the Docker cgroup driver. The recommended driver is “systemd”.
的问题。

$ vi /etc/docker/daemon.json

添加以下内容:

 {
   
   
### 安装环境准备 在 CentOS 7部署 Kubernetes 集群之前,需要确保所有节点满足以下基本要求: - 所有节点必须关闭防火墙,例如使用 `systemctl stop firewalld` 和 `systemctl disable firewalld` 命令[^3]。 - 关闭 SELinux,可以通过编辑 `/etc/selinux/config` 文件,将 `SELINUX=enforcing` 改为 `SELINUX=disabled`[^3]。 - 禁用交换分区,可以通过执行 `swapoff -a` 来临时禁用,并且注释掉 `/etc/fstab` 中的 swap 行来永久禁用[^3]。 ### 安装 Kubernetes 组件 为了安装 Kubernetes,首先需要添加 Kubernetes 的 yum 源到系统中。创建一个名为 `/etc/yum.repos.d/kubernetes.repo` 的文件,并添加如下内容: ``` [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg ``` 接着,在所有节点上安装必要的软件包: ``` yum install -y kubelet kubeadm kubectl ``` 安装完成后,启用并启动 `kubelet` 服务: ``` systemctl enable kubelet && systemctl start kubelet ``` ### 初始化 Kubernetes 集群 在主节点上初始化集群,使用 `kubeadm init` 命令。此命令会输出一系列步骤,用于将其他节点加入集群。记录下输出中的 `kubeadm join` 命令及其参数,因为稍后需要用到它们来添加工作节点[^4]。 ### 配置 Kubernetes 网络 初始化完成后,需要安装一个网络插件以便 Pod 可以跨节点通信。一个常用的插件是 Flannel。使用 `kubectl` 应用 Flannel 的配置文件: ``` kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` ### 添加工作节点到集群 使用之前记录的 `kubeadm join` 命令,将工作节点加入到集群中。确保在每个工作节点上运行该命令。 ### 验证集群状态 一旦所有节点都已加入集群,可以使用以下命令验证集群的状态: ``` kubectl get nodes ``` 这将显示集群中所有节点的状态,确保它们都处于 `Ready` 状态。 ### 启动/停止 etcd 服务 对于 etcd 服务的管理,可以使用 systemctl 来启动、停止或重启服务: ``` systemctl start etcd systemctl stop etcd systemctl restart etcd ``` ### 查看 etcd 集群运行状态 可以通过 etcdctl 工具来检查 etcd 集群的健康状况: ``` etcdctl cluster-health ``` ### 查看 etcd 成员信息 要查看 etcd 集群中的成员信息,可以使用以下命令: ``` etcdctl member list ``` 以上步骤涵盖了在 CentOS 7部署 Kubernetes 集群的基本流程。请根据实际环境调整配置,并确保遵循最佳实践以保障集群的安全性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值