K8S-1.23.17+Ceph+KubeSphere 一主二从部署攻略

这篇具有很好参考价值的文章主要介绍了K8S-1.23.17+Ceph+KubeSphere 一主二从部署攻略。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

K8S部署攻略

 

此教程以一主二从为例,需要三台服务器。

主机最低需求: 4 核 CPU,4 GB 内存,硬盘:20 GBx2 (需保留一个未分区的磁盘)

从机最低需求: 4 核 CPU,8 GB 内存,硬盘:20 GBx2 (需保留一个未分区的磁盘)

 

软件版本:

Ubuntu22.04

Kubesphere:3.4.1

Docker20.10.24

K8s1.23.17

Rook:1.13.6

 

1. 配置Cgroup驱动

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "registry-mirrors": [
    "https://hub-mirror.c.163.com/",
    "https://dockerproxy.com/"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

 

2. 配置docker存储库,安装docker-ce

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get -y update
sudo apt-get -y install docker-ce=5:20.10.24~3-0~ubuntu-jammy
sudo systemctl enable docker && sudo systemctl start docker

 

3. 关闭交换分区

sudo swapoff -a
sudo vi /etc/fstab

注释掉swap行并保存

 

4. 允许 iptables 检查桥接流量

sudo modprobe br_netfilter
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system

 

5. 安装 kubeadm、kubelet 和 kubectl

sudo apt-get update && sudo apt-get install -y apt-transport-https
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - 
sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet=1.23.17-00 kubeadm=1.23.17-00 kubectl=1.23.17-00
sudo systemctl enable kubelet && sudo systemctl start kubelet

 

6. 初始化控制平面节点(仅主节点执行)

sudo kubeadm init \
 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
 --kubernetes-version v1.23.17 \
 --pod-network-cidr=10.244.0.0/16

出现如下信息表示初始化成功,将token(图中最后两行)复制保存,后面会用到,token有效期为24小时

K8S-1.23.17+Ceph+KubeSphere 一主二从部署攻略

执行命令:

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

 

7. 安装 Pod 网络附加组件(仅主节点执行,方式二选一)

方式一:

下载文件:https://files.cnblogs.com/files/blogs/785788/kube-flannel.zip?t=1710498095&download=true

解压上传kube-flannel.yml文件至主节点用户根目录下,执行:

sudo kubectl apply -f kube-flannel.yml

方式二:

sudo kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

执行命令查看安装是否完成

watch kubectl get pod -n kube-system -o wide

输出中检查 CoreDNS Pod 的STATUS直到变成 Running 表示完成(需要几分钟)

 

8. 配置hosts

sudo vi /etc/hosts

配置示例:

192.168.1.100 k8s1
192.168.1.101 k8s2
192.168.1.102 k8s3

 

9. 从节点加入主节点

在从节点执行步骤六保存的token,注意非root用户前面加上sudo

sudo kubeadm join 192.168.1.100:6443 --token **** \
--discovery-token-ca-cert-hash sha256:****

成功输出:

K8S-1.23.17+Ceph+KubeSphere 一主二从部署攻略

失败可以关闭防火墙后重试:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

完毕后,执行kubectl get nodes查看,等待所有节点状态变成Ready(需要几分钟)

 

10. 删除污点(仅主节点执行)

kubectl taint nodes <主节点名,比如k8s1> node-role.kubernetes.io/master:NoSchedule

 

11. 安装Rook-CephFS(仅主节点执行,方式二选一)

方式一:

下载文件:https://files.cnblogs.com/files/blogs/785788/rook-1.13.6.zip?t=1710498602&download=true

解压后把rook整个文件夹,上传到主节点用户根目录。

方式二:

git clone --single-branch --branch v1.13.7 https://github.com/rook/rook.git


执行命令:

cd /rook/deploy/examples
kubectl create -f crds.yaml -f common.yaml -f operator.yaml
kubectl create -f cluster.yaml

待安装完成(需要十分钟左右),使用 kubectl get pods -n rook-ceph 来确认安装进度,除 rook-ceph-osd-prepare-*** 以外,其他都要为Runing

 

12. 创建默认StorageClass,恢复污点(仅主节点执行)

cd /rook/deploy/examples
kubectl create -f filesystem.yaml
kubectl create -f csi/cephfs/storageclass.yaml
Kubectl patch storageclass rook-cephfs -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
kubectl taint nodes <主节点名,比如k8s1> node-role.kubernetes.io=master:NoSchedule

使用:kubectl get sc确认是否成功。

 

13. 安装KubeSphere(仅主节点执行)

kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml

查看安装进度:

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

成功输出:

K8S-1.23.17+Ceph+KubeSphere 一主二从部署攻略

完结撒花!

附件:k8s部署攻略.doc文章来源地址https://www.toymoban.com/news/detail-840371.html

到了这里,关于K8S-1.23.17+Ceph+KubeSphere 一主二从部署攻略的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用kubekey部署k8s集群和kubesphere、在已有k8s集群上部署kubesphere

    环境: centos 7.6、k8s 1.22.17、kubesphere v3.3.0 本篇以kubesphere v3.3.0版本讲解。 kubesphere 愿景是打造一个以 kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一

    2024年02月04日
    浏览(14)
  • kubernetes(k8s)+kubesphere部署

    kubernetes(k8s)+kubesphere部署

    目录 一 装备三台机器linux(centos) 二 准备前置环境并安装kubernetes 1  三台机器都要做如下操作  1.1 关闭防火墙: 1.2 关闭 selinux: 1.3 关闭 swap 1.4 添加主机名与 IP 对应关系 1.5 date 查看时间 (可选) 1.6 卸载系统之前的 docke 命令自行百度不做说明 1.7 安装 Docker-CE  1. 7.1 装

    2024年01月17日
    浏览(22)
  • 【k8s完整实战教程4】使用kubesphere部署项目到k8s

    【k8s完整实战教程4】使用kubesphere部署项目到k8s

    系列文章:这个系列已完结,如对您有帮助,求点赞收藏评论。 读者寄语: 再小的帆,也能远航! 【k8s完整实战教程0】前言 【k8s完整实战教程1】源码管理-Coding 【k8s完整实战教程2】腾讯云搭建k8s托管集群 【k8s完整实战教程3】k8s集群部署kubesphere 【k8s完整实战教程4】使用

    2023年04月18日
    浏览(24)
  • 阿里云部署k8s with kubesphere

    阿里云部署k8s with kubesphere

    创建实例 填入密码即可 云上的防火墙相关设置就是安全组 vpc 专有网络 划分私有ip 子网 vpc 隔离环境域 不同的vpc下 即使相同的子网也不互通 使用交换机继续划分子网 停止 释放 不收钱 服务器 4核8G*1 + 8核16G *2 git 创建凭证 pipeline 发邮箱 (p124) k8s 想要发邮件 admin 账号 登录 平

    2024年02月04日
    浏览(13)
  • 云原生之深入解析K8S中Ceph的部署与功能测试

    云原生之深入解析K8S中Ceph的部署与功能测试

    Ceph 在 k8s 中用做共享存储还是非常方便的,Ceph 是比较老牌的分布式存储系统,非常成熟并且功能也强大,支持三种模式(快存储、文件系统存储、对象存储),那么如何在 k8s 使用 ceph 呢? k8s 环境的部署,请参考:云原生之深入解析K8S 1.24的高可用环境部署。 关于 Ceph 的环

    2024年02月16日
    浏览(33)
  • k8s1.23.15集群二进制部署

    k8s1.23.15集群二进制部署

    一、前言     二进制部署1.23.15版本k8s集群,etcd集群部署与k8s集群节点复用,手动颁发集群证书     主机信息如下 主机名称 ip地址 服务 k8s-master01 10.1.60.125 docker、etcd、kube-apiserver、kube-schduler、kube-controller-manage、kubelet、kube-proxy k8s-node01 10.1.60.126 docker、etcd、kubelet、kube-proxy

    2024年03月13日
    浏览(12)
  • 【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

    【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

    网址: openelb.io OpenELB 是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区发起,目前已作为 CNCF 沙箱项目加入 CNCF 基金会,由 OpenELB 开源社区维护与支

    2024年02月03日
    浏览(16)
  • k8s1.23.15版本二进制部署/扩容及高可用架构详解

    k8s1.23.15版本二进制部署/扩容及高可用架构详解

    前言     众所周知,kubernetes在2020年的1.20版本时就提出要移除docker。这次官方消息表明在1.24版本中彻底移除了dockershim,即移除docker。但是在1.24之前的版本中还是可以正常使用docker的。考虑到可能并不是所有项目环境都紧跟新版换掉了docker,本次就再最后体验一下可支持

    2024年01月16日
    浏览(14)
  • 【云原生-K8s-1】kubeadm搭建k8s集群(一主两从)完整教程及kubernetes简介

    【云原生-K8s-1】kubeadm搭建k8s集群(一主两从)完整教程及kubernetes简介

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入!   Kubernetes(简称:k8s) 是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多

    2024年02月07日
    浏览(12)
  • 一、kubeadm部署Kubernetes(k8s) 1.23.0多主高可用集群

    Kubernetes介绍 kubernetes(k8s)是2015年由Google公司基于Go语言编写的一款开源的容器集群编排系统,用于自动化容器的部署、扩缩容和管理; kubernetes(k8s)是基于Google内部的Borg系统的特征开发的一个版本,集成了Borg系统大部分优势; 官方地址:https://Kubernetes.io 代码托管平台:

    2024年03月25日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包