赞
踩
角色 | CPU核数 | 内存 | 系统盘 | 数量 |
---|---|---|---|---|
部署机 | 4 | 8G | 100G | 1 |
Master | 4 | 8G | 100G | 3 |
Worker | 16 | 64G | 系统盘: 100G 数据盘: 300G(/var/lib/docker) | 4 |
存储机 | 2 | 4G | 3T | 1 |
需求项 | 具体要求 | 参考(以CentOS7.6为例) |
---|---|---|
操作系统 | CentOS/RHEL 7.4 - 7.9 Minimal EulerOS 2.5(x86_64) EulerOS 2.8(arm64) | cat /etc/redhat-release |
CPU 架构 | 支持 x86_64 和 aarch64 | uname -m |
kernel 版本 | >=Linux 3.10.0-957.el7.x86_64 | uname -sr |
swap | 关闭。如果不满足,系统会有一定几率出现 io 飙升,造成 docker 卡死。kubelet 会启动失败(可以设置 kubelet 启动参数 --fail-swap-on 为 false 关闭 swap 检查) | swapoff -a sed -i '/ swap / s/^ |
防火墙 | 关闭。Kubernetes 官方要求 | systemctl stop firewalld && systemctl disable firewalld |
SELinux | 关闭 | setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config |
时区 | 所有服务器时区必须统一,建议设置为 Asia/Shanghai | timedatectl set-timezone Asia/Shanghai |
- # 以 root 用户 ssh 登录目标服务器, 执行如下命令
- curl -sSL https://github.com/KubeOperator/KubeOperator/releases/latest/download/quick_start.sh -o quick_start.sh
- bash quick_start.sh
- 地址: http://<ko服务器_ip>:80
- 用户名: admin
- 密码: kubeoperator@admin123
如果部署 Kubernetes 集群时需要 K8S 节点采用 x86_64 和 arm64 混合部署,则需要添加两个不同 CPU 架构的仓库
手动模式创建集群,需要提前设置好主机凭据
NTP Server: 时间同步服务器,默认可以为空。也可以自建或使用公共 NTP Server
主机列表可以看到已添加主机的详细信息,包括 IP、CPU、内存、操作系统等
Yum 仓库
vxlan 和 ipip 网络模式
host-gw 和 bgp 网络模式
cilium Overlay
cilium Native Routing
根据不同的节点角色选择目标主机(手动模式)
选择已授权部署计划,设置 Worker 节点数量(自动模式)
集群创建过程中为 Initializing 状态,点击可查看集群安装进度并支持查看当前任务的实时日志(支持手动暂停任务日志输出)
服务端安装
使用 yum 安装 NFS 安装包。
$ sudo yum install nfs-utils
注意
只安装 nfs-utils 即可,rpcbind 属于它的依赖,也会安装上。
服务端配置
设置 NFS 服务开机启动
$ sudo systemctl enable rpcbind $ sudo systemctl enable nfs
启动 NFS 服务
$ sudo systemctl start rpcbind $ sudo systemctl start nfs
防火墙需要打开 rpc-bind 和 nfs 的服务
$ sudo firewall-cmd --zone=public --permanent --add-service={rpc-bind,mountd,nfs} success $ sudo firewall-cmd --reload success
配置共享目录
服务启动之后,我们在服务端配置一个共享目录
- $ sudo mkdir /home/data/nfs
- $ sudo chmod 755 /home/data/nfs
根据这个目录,相应配置导出目录
$ sudo vi /etc/exports
添加如下配置
- /home/data/nfs/ 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)
-
- /home/data/nfs/: 共享目录位置。
- 192.168.0.0/24: 客户端 IP 范围,* 代表所有,即没有限制。
- rw: 权限设置,可读可写。
- sync: 同步共享目录。
- no_root_squash: 可以使用 root 授权。
- no_all_squash: 可以使用普通用户授权。
:wq 保存设置之后,重启 NFS 服务。
$ sudo systemctl restart nfs
可以检查一下本地的共享目录
- $ showmount -e localhost
- Export list for localhost: /home/data/nfs 192.168.0.0/24
这样,服务端就配置好了,接下来配置客户端,连接服务端,使用共享目录。
使用Kubeoperator在集群内直接添加存储提供商
存储类中选择刚刚创建的提供商,创建存储类
- kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.0/kubesphere-installer.yaml
-
- kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.0/cluster-configuration.yaml
1.在可以访问到需要备份的k8s集群的机器上下载并解压velero,并将velero命令添加到linux
- wget https://github.com/vmware-tanzu/velero/releases/download/v1.5.4/velero-v1.5.4-linux-amd64.tar.gz
- tar -zxvf velero-v1.5.4-linux-amd64.tar.gz
- cp velero-v1.5.4-linux-amd64/velero /usr/local/bin
2.创建好minio需要使用的认证,这里以velero自带的测试minio部署文件为例
- cd velero-v1.5.4-linux-amd64
- kubectl apply -f examples/minio/00-minio-deployment.yaml
- vi credentials-velero
- [default]
- aws_access_key_id = minio
- aws_secret_access_key = minio123
3.在需要迁移的k8s集群上安装velero服务端
- velero install \
- --provider aws \
- --plugins velero/velero-plugin-for-aws:v1.0.0 \
- --bucket velero \
- --secret-file ./credentials-velero \
- --use-restic \
- --use-volume-snapshots=false \
- --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://minio.velero.svc:9000
4.在需要备份的k8s集群上创建任意带持久化存储卷的服务进行备份测试(可自行使用helm创建)这里以备份backup-test命名空间下所有资源为例
velero backup create test-volum --include-namespaces=backup-test --default-volumes-to-restic
5.查看备份状态
velero backup get|grep test-volum
6.在需要迁移的集群上备份恢复
velero restore create --from-backup test-volum
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。