Centos7.9部署单节点K8S环境

Centos7.9部署单节点K8S环境

通过Centos extras镜像源安装K8S环境,优点是方便快捷,缺点是版本较低,安装后的版本为1.5.2。

1. 准备工作

  1. 关闭selinux
[root@localhost ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

  1. 关闭防火墙
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

2. 安装kubernetes和etcd

  1. yum下载安装

yum install etcd kubernetes -y

如果提示docker组件冲突,需要卸载现有的docker组件:

...
Error: docker-ce-cli conflicts with 2:docker-1.13.1-210.git7d71120.el7.centos.x86_64
Error: docker-ce conflicts with 2:docker-1.13.1-210.git7d71120.el7.centos.x86_64
 You could try using --skip-broken to work around the problem
...
# 卸载环境现有的docker环境
yum remove docker*`
  1. 修改kube-apiserver配置文件
[root@localhost ~]# cat /etc/kubernetes/apiserver
###
# kubernetes system config
#
# The following values are used to configure the kube-apiserver
#

# The address on the local server to listen to.
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"    # #127.0.0.1改成0.0.0.0

# The port on the local server to listen on.
# KUBE_API_PORT="--port=8080"

# Port minions listen on
# KUBELET_PORT="--kubelet-port=10250"

# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"

# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

# default admission control policies
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"   # 修改策略

# Add your own!
KUBE_API_ARGS=""
  1. 启动配置服务

启动服务:

systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy

配置服务自启动:

systemctl enable etcd
systemctl 
### 安装和配置Kubernetes (K8s) 集群 #### 准备工作 为了在 CentOS 7.9 上成功安装并配置 Kubernetes 集群,需先准备三台服务器作为集群节点。每台机器应具备至少4核CPU、8GB内存以及40GB硬盘空间,并运行 CentOS 7.9 操作系统。 - **主节点**: `k8s-master`,内网 IP 地址为 `172.21.180.114` - **从节点1**: `k8s-node1`,内网 IP 地址为 `172.21.180.115` - **从节点2**: `k8s-node2`,内网 IP 地址为 `172.21.180.116` 这些硬件条件能够满足大多数中小型应用的需求[^1]。 #### 初始化环境设置 确保所有节点的时间同步服务已开启,并关闭防火墙和服务隔离策略(如 SELinux),以便各组件间正常通信。此外,在所有节点上执行以下命令来禁用 swap 分区: ```bash swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab ``` 这一步骤对于保证 K8s 的稳定性和性能至关重要。 #### 安装 Docker 和 kubeadm 工具包 更新 yum 软件源至最新状态后,依次安装所需的容器引擎 Docker 及 kubeadm 等工具集。具体操作可参照官方文档说明完成相应版本的选择与部署。 #### 创建主控节点 在选定为主节点的服务器上初始化集群: ```bash kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 此指令会启动必要的控制平面进程并将当前主机设为首Leader节点。完成后按照提示信息配置 `.kube/config` 文件路径指向 `/root/.kube/config` 并将其复制给普通用户使用。 接着加载网络插件Flannel以支持 Pod间的跨子网通讯功能: ```bash kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 此时可以通过查看Pod列表验证集群是否健康运转: ```bash kubectl get pods --all-namespaces ``` 如果一切顺利,则表示主节点已经就绪等待加入其他成员节点。 #### 加入工作节点到集群 获取用于添加新节点的令牌字符串并通过 SSH 登录目标机器执行相应的 join 命令实现自动注册过程。注意每次仅限于单次有效期限内的token连接请求;过期则需要重新生成新的凭证数据。 #### 安装 Dashboard UI 组件 为了让管理员更直观地管理集群资源状况,建议安装可视化界面——Dashboard。下载推荐配置文件并提交给 API Server 处理即可快速启用该特性: ```bash kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml ``` 最后确认所有 Pods 正常运行无误之后即宣告整个流程结束[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lldhsds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值