kubesphere在ARM架构环境下的应用部署及分析

一、安装前准备


##关闭防火墙或者开放必要的[防火墙端口](https://v3-0.docs.kubesphere.io/docs/installing

systemctl disable firewalld

systemctl stop firewalld

systemctl status firewalld

## 查看并关闭swap分区

swapoff -a

echo "vm.swappiness=0" >> /etc/sysctl.conf

sysctl -p /etc/sysctl.conf

sed -i 's$/dev/mapper/centos-swap$#/dev/mapper/centos-swap$g' /etc/fstab

free -m

## 查看Selinux状态

Getenforce

二、修改配置文件

sudo vim /etc/docker/daemon.json

添加仓库地址

"registry-mirrors":["https://docker.m.daocloud.io"]

配置信息

更改Docker的默认镜像仓库

{

"log-opts": {

"max-size":"5m",

"max-file":"3"

},

  "exec-opts": ["native.cgroupdriver=systemd"],

  "insecure-registries":["harbor77.com"],

  "data-root": "/userdata/lib/docker",

  "registry-mirrors": [

       "https://docker.registry.cyou",

       "https://docker-cf.registry.cyou",

       "https://dockercf.jsdelivr.fyi",

       "https://docker.jsdelivr.fyi",

       "https://dockertest.jsdelivr.fyi",

       "https://mirror.aliyuncs.com",

       "https://dockerproxy.com",

       "https://mirror.baidubce.com",

       "https://docker.nju.edu.cn",

       "https://docker.mirrors.sjtug.sjtu.edu.cn",

       "https://docker.mirrors.ustc.edu.cn",

       "https://mirror.iscas.ac.cn",

       "https://docker.rainbond.cc",  

       "https://docker.m.daocloud.io",

       "https://82m9ar63.mirror.aliyuncs.com"

    ]

}

然后在终端重新启动一下docker

systemctl daemon-reload

systemctl restart docker

三、开始安装

curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.7 sh -

chmod +x kk

./kk create cluster --with-kubernetes v1.22.12 --with-kubesphere v3.3.2

删除之前板子上的K8S版本

./kk delete cluster --with-kubernetes v1.22.12

./kk delete cluster --with-kubesphere v3.4.1

四、安装说明

  1. 经测试安装kk=3.0.7 --with-kubernetes v1.21.4 --with-kubesphere v3.3.2,可以安装成功,问题是项目外部发布时,对外端口设置后不生效,外部无法访问
  2. 经测试安装kk=3.0.13 --with-kubernetes v1.22.12 --with-kubesphere v3.3.2,安装失败
  3. 经测试安装kk=3.0.13 --with-kubernetes v1.22.12 --with-kubesphere v3.4.1,安装成功,无法访问,断电重启后(请谨慎操作,一般不用),pod启动失败

查看容器状态

初步怀疑是以下问题

目前不断电进行测试,根据容器报错,想办法先解决这个问题

删除容器,从新构建

kubectl delete pod default-http-backend-5bf68ff9b8-fbl8b -n kubesphere-controls-system

kubectl delete pod calico-node-8q2mv -n kube-system

查看容器状态

kubectl get pod -A -owide

结论:

经测试,发现磁盘不足,最终导致安装失败

  1. 经测试安装--with-kubernetes v1.22.12 --with-kubesphere v3.2.1,结果:安装失败
  2. 测试安装kk=3.0.7,   ./kk create cluster --with-kubernetes v1.22.12 --with-kubesphere v3.3.2 安装成功

安装成功

ARM64 环境部署 Kubesphere 和 K8s 可按以下步骤进行: ### 前提条件 - 确保有可用的 ARM64 架构服务器或虚拟机,且服务器之间网络互通。 - 服务器需要安装 Docker 容器运行时。可以使用以下命令安装 Docker: ```bash curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh ``` - 关闭防火墙和 SELinux(对于 CentOS 等系统): ```bash sudo systemctl stop firewalld sudo systemctl disable firewalld sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config ``` ### 部署 K8s 可以使用 Kubeadm 来部署 K8s 集群,以下是具体步骤: 1. **安装 Kubeadm、Kubelet 和 Kubectl** ```bash sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl ``` 2. **初始化 K8s 控制平面节点** ```bash sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.23.6 --image-repository=registry.aliyuncs.com/google_containers ``` 初始化完成后,按照提示执行以下命令来配置 kubectl: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 3. **安装网络插件** 这里以 Flannel 为例: ```bash kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 4. **添加工作节点** 在工作节点上执行在控制平面节点初始化时生成的 `kubeadm join` 命令。 ### 部署 Kubesphere 在 K8s 集群部署完成后,可部署 Kubesphere: 1. **执行相关 YAML 文件** ```bash kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/kubesphere-installer.yaml ``` 2. **检查部署状态** ```bash kubectl get pod -n kubesphere-system ``` 确保所有的 Pod 都处于 `Running` 状态。 3. **等待安装完成** 可以通过以下命令查看安装日志: ```bash kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f ``` ### 访问 Kubesphere 安装完成后,可以通过浏览器访问 Kubesphere 的 Web 界面,默认的用户名和密码是 `admin/P@88w0rd`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值