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 
### 安装和配置Kind及Kubernetes集群 #### 准备工作 为了在CentOS 7.9上成功部署Kind(Kubernetes IN Docker)及其管理下的Kubernetes集群,需先完成一些必要的准备工作。 确保操作系统已更新至最新版本并安装了Docker。对于SELinux设置,在某些情况下可能会影响容器化应用的行为,因此建议将其临时设为宽松模式以减少潜在冲突`setenforce 0`[^1]。不过需要注意的是,出于安全考虑不推荐长期禁用SELinux。 #### 安装Kind工具 通过官方渠道获取最新的Kind二进制文件来执行安装操作: ```bash curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 chmod +x ./kind mv ./kind /usr/local/bin/kind ``` 验证安装是否成功的命令如下所示: ```bash kind version ``` #### 创建Kubernetes集群 定义一个自定义的配置文件用于创建多节点集群(例如名为config.yaml),其中至少包含一个控制平面节点(master)和一个工作节点(worker): ```yaml # config.yaml kind: Cluster apiVersion: kind.x- role: control-plane image: kindest/node:v1.25.3@sha256:eafbfabfddcdeaae4daaefdefbdfacdcfebc8caedfdffadfa - role: worker image: kindest/node:v1.25.3@sha256:eafbfabfddcdeaae4daaefdefbdfacdcfebc8caedfdffadfa ``` 利用上述配置启动新的Kubernetes集群实例: ```bash kind create cluster --name my-cluster --config=config.yaml ``` 等待几分钟直到所有Pod都变为运行状态后可以继续下一步骤。 #### 验证集群状况 一旦集群建立完毕,则可通过kubectl命令行工具检查当前环境中的节点信息以及它们的状态。由于尚未部署CNI(Container Network Interface),此时的工作节点可能会显示为"NotReady"[^2]: ```bash kubectl get nodes ``` #### 设置网络插件 为了让Pod之间能够互相通信,还需要选择合适的CNI方案比如Flannel或Calico, 并按照相应文档指导完成其部署过程。这一步完成后重新查询节点列表应该能看到所有的成员均已就绪。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lldhsds

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

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

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

打赏作者

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

抵扣说明:

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

余额充值