centos9安装k8s集群

以下是基于CentOS Stream 9的Kubernetes 1.28.2完整安装流程(containerd版):

一、系统初始化(所有节点执行)

# 关闭防火墙
systemctl disable --now firewalld

# 关闭SELinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

# 临时关闭交换分区
swapoff -a
sed -i '/swap/s/^$.*$$/#\1/g' /etc/fstab

# 永久关闭交换分区
sudo vi /etc/fstab
# 在该行前添加 # 注释掉,或直接删除:
#/dev/mapper/centos-swap swap                    swap    defaults        0 0
# 禁用 systemd 管理的交换分区服务:
sudo systemctl disable --now swap.target
# 验证
sudo swapon --show

# 配置hosts解析
cat >> /etc/hosts <<EOF
192.168.60.130 k8s-master
192.168.60.131 k8s-node1
EOF

# 设置主机名(主节点)
hostnamectl set-hostname k8s-master
# 从节点执行:
hostnamectl set-hostname k8s-node1

# 配置内核参数
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system

# 加载内核模块
modprobe br_netfilter
lsmod | grep br_netfilter

二、安装containerd(所有节点)

# 添加阿里云Docker源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

# 安装containerd
yum install -y containerd.io

# 生成默认配置
containerd config default > /etc/containerd/config.toml

# 修改配置(替换镜像源)
sed -i 's#registry.k8s.io/pause:3.8#registry.aliyuncs.com/google_containers/pause:3.8#' /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

# 启动服务
systemctl enable --now containerd

三、安装Kubernetes组件(所有节点)

# 添加阿里云Kubernetes源
cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

# 安装组件
yum install -y kubelet-1.28.2 kubeadm-1.28.2 kubectl-1.28.2

# 启动kubelet
systemctl enable --now kubelet

四、初始化Master节点(仅在主节点执行)

kubeadm init \
  --apiserver-advertise-address=192.168.60.130 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.28.2 \
  --pod-network-cidr=10.244.0.0/16

# 配置kubectl
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

五、安装网络插件(主节点)

配置进行加速 (可忽略)
sudo mkdir -p /etc/containerd

sudo tee /etc/containerd/config.toml <<-'EOF'
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
    endpoint = ["https://<your-accelerator-url>.mirror.aliyuncs.com"]
EOF

sudo systemctl restart containerd
# 如果ping不通需要更改镜像源,如果可以,直接忽略
ping docker.io

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

`如果出现下载不了 需要更改 将docker.io换成 quay.io`

六、加入Worker节点(从节点执行)

# 使用主节点初始化时输出的join命令,例如:
kubeadm join 192.168.60.130:6443 \
  --token <token> \
  --discovery-token-ca-cert-hash sha256:<hash>

mkdir ~/.kube

cp /etc/kubernetes/kubelet.conf  ~/.kube/config

七、验证集群

# 查看节点状态
kubectl get nodes -o wide

# 查看Pod状态
kubectl get pods -n kube-system

八、node验证

kubectl get pods -n kube-system

9、安装KubeSphere

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# 如果无法访问 charts.kubesphere.io, 可将 charts.kubesphere.io 替换为 charts.kubesphere.com.cn
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.3.tgz --debug --wait

说明
如果您访问 Docker Hub 受限,请在命令后添加如下配置,修改默认的镜像拉取地址。

--set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks

--set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks
如果显示如下信息,则表明 ks-core 安装成功:

NOTES:
Thank you for choosing KubeSphere Helm Chart.

Please be patient and wait for several seconds for the KubeSphere deployment to complete.

1. Wait for Deployment Completion

    Confirm that all KubeSphere components are running by executing the following command:

    kubectl get pods -n kubesphere-system

2. Access the KubeSphere Console

    Once the deployment is complete, you can access the KubeSphere console using the following URL:

    http://192.168.6.10:30880

3. Login to KubeSphere Console

    Use the following credentials to log in:

    Account: admin
    Password: P@88w0rd

NOTE: It is highly recommended to change the default password immediately after the first login.

For additional information and details, please visit https://kubesphere.io.

在这里插入图片描述

10、安装kuboard

sudo docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 80:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://内网IP:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /root/kuboard-data:/data \
  eipwork/kuboard:v3
  # 也可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成镜像下载。
  # 请不要使用 127.0.0.1 或者 localhost 作为内网 IP \
  # Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server \

DANGER
KUBOARD_ENDPOINT 参数的作用是,让部署到 Kubernetes 中的 kuboard-agent 知道如何访问 Kuboard Server;
KUBOARD_ENDPOINT 中也可以使用外网 IP;
Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server;
建议在 KUBOARD_ENDPOINT 中使用域名;
如果使用域名,必须能够通过 DNS 正确解析到该域名,如果直接在宿主机配置 /etc/hosts 文件,将不能正常运行;

访问 Kuboard v3.x
在浏览器输入 http://your-host-ip:80 即可访问 Kuboard v3.x 的界面,登录方式:

用户名: admin
密 码: Kuboard123

在这里插入图片描述

在这里插入图片描述

k8s部署方式
# 因为镜像拉取失败的原因 所以我们这边要改一下再进行部署
 
wget  https://addons.kuboard.cn/kuboard/kuboard-v3.yaml

## 需要改的镜像,在前面加上前缀即可
hub.rat.dev/eipwork/kuboard-agent:v3
hub.rat.dev/eipwork/etcd-host:3.4.16-1
hub.rat.dev/eipwork/kuboard:v3
hub.rat.dev/questdb/questdb:6.0.4
KUBOARD_SERVER_NODE_PORT: '30080'改为KUBOARD_ENDPOINT: http://kuboard-v3 这里不改必报错

在这里插入图片描述

 
kubectl apply  -f  kuboard-v3.yaml

http://10.68.11.23:30080/ 

账号&密码
 
admin  Kuboard123
<think>好的,我现在需要帮助用户找到在CentOS系统上离线部署Kubernetes集群的教程。用户已经提供了几个引用,我需要仔细分析这些引用中的信息,整理出一个清晰的步骤指南,并生成相关问题。 首先,看看用户提供的引用内容。引用[1]提到启用Kubernetes服务时使用systemctl命令,引用[2]和[3]都涉及具体的安装步骤和镜像版本,而引用[4]详细列出了环境准备和各个节点的操作步骤。特别是引用[4]的结构很清晰,分成了环境准备、Master节点执行、Work节点执行等部分,这可能是一个比较完整的教程。 我需要确认这些引用中的步骤是否兼容,比如Kubernetes版本是否一致。例如,引用[3]使用的是v1.20.9,而引用[4]是1.28版本,可能存在差异。用户可能需要明确版本的选择,但根据问题描述,用户可能希望得到通用的步骤,同时需要指出不同版本的注意事项。 接下来,整理步骤时应该包括环境准备、安装前配置、安装containerd、配置节点、初始化集群、加入工作节点、安装网络插件以及验证安装。需要确保每个步骤中的命令正确,并注意离线安装需要提前下载镜像包。 同时,用户可能需要了解如何获取离线安装包和镜像,比如引用[2]提到的项目地址可能提供相关资源。需要提醒用户根据实际版本调整操作,特别是不同Kubernetes版本可能需要的配置差异。 在生成相关问题部分,要考虑用户可能遇到的后续问题,例如如何检查集群状态、处理节点加入失败、升级集群版本、选择网络插件以及资源需求等。这些问题能帮助用户进一步解决实际部署中的困难。 最后,确保回答符合系统级指令的要求,正确使用LaTeX格式,结构清晰,引用标识正确。需要检查是否有遗漏的步骤或者版本冲突的地方,并给出相应的建议,比如推荐使用较新版本的教程作为参考,同时注意兼容性。</think>### CentOS离线环境下Kubernetes集群部署教程 #### 一、环境准备 1. **系统要求** - CentOS 7.9或更高版本(推荐使用最小化安装) - 所有节点需关闭防火墙、SELinux和Swap: ```bash $ sudo systemctl stop firewalld && sudo systemctl disable firewalld $ sudo setenforce 0 && sed -i &#39;s/SELINUX=enforcing/SELINUX=disabled/&#39; /etc/selinux/config $ sudo swapoff -a && sed -i &#39;/ swap / s/^/#/&#39; /etc/fstab ``` 2. **离线资源准备** - 下载Kubernetes离线安装包(如引用[4]中的1.28版本或引用[3]中的1.20.9版本) - 包含以下组件: - `kubeadm`、`kubelet`、`kubectl` - `containerd`或`docker`运行时 - 预加载镜像包(如引用[3]中的13个基础镜像) #### 二、安装配置步骤 1. **所有节点通用操作** - 加载内核模块并配置系统参数: ```bash $ sudo modprobe overlay && sudo modprobe br_netfilter $ echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee /etc/sysctl.d/k8s.conf $ sudo sysctl --system ``` - 安装容器运行时(以containerd为例): ```bash $ tar -zxvf containerd.tar.gz -C /usr/local/bin/ $ sudo systemctl enable containerd ``` 2. **安装Kubernetes组件** - 使用离线RPM包安装三件套: ```bash $ sudo rpm -ivh kubelet-*.rpm kubeadm-*.rpm kubectl-*.rpm $ sudo systemctl enable kubelet ``` 3. **主节点初始化** - 使用kubeadm初始化控制平面: ```bash $ sudo kubeadm init --pod-network-cidr=10.244.0.0/16 \ --image-repository=本地镜像路径 \ --apiserver-advertise-address=<主节点IP> ``` - 记录输出的`kubeadm join`命令供工作节点使用[^4] 4. **网络插件部署** - 加载Calico或Flannel镜像: ```bash $ docker load -i calico-images.tar $ kubectl apply -f calico.yaml ``` #### 三、验证安装 ```bash $ kubectl get nodes # 应显示所有节点状态为Ready $ kubectl get pods -A # 检查核心组件运行状态 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘 明 同学呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值