泰山200鲲鹏920ARM架构Ubuntu +k3s+kuboard搭建

内容纲要

IBMC安装pve

泰山服务器只能安装proxmox-ve_7.4-1-arm.iso的镜像

PVE安装ARM Ubuntu

与普通VM安装方式的区别

  1. 操作系统
    不要选中任何镜像,因为PVE默认创建的光驱在IDE 2的位置,ARM光驱启动需要在SCSI

  1. 系统
    2.1 显卡选中默认,或者串口终端都可以(需要新建一个串口)
    2.2 主板选中i440fx
    2.3 BIOS选中OVMF (UEFI),但不要选中EFI Disk
    2.4 SCSI选中Controller,VirtIO SCSI

  2. 硬盘
    删除(如果你创建了硬盘,也需要删除,因为EFI最好还是在${storage_id}:0位置,否则可能会导致虚拟机启动时不能够直接进入,需要输入代码: fs0:\EFI\debian\grubaa64.efi 才能启动虚拟机)

  3. CPU

    4.1 类型只能选默认

    4.2 其他默认,或者打开NUMA都行

  4. 内存

    随意

  5. 网络

    默认的VirtIO即可

  6. 回到面板选中创建的虚拟机,选中硬件

    7.1 删除光盘镜像

    7.2 如果你创建了硬盘,也需要删除,因为EFI最好还是在${storage_id}:0位置,否则可能会导致虚拟机启动时不能够直接进入,需要输入代码: fs0:\EFI\debian\grubaa64.efi 才能启动虚拟机

  7. 重新添加光盘镜像

    注意,总线选择SCSI,位置2(其实其他位置也可以,不过2比较好)

  8. 去到Host主机的Shell页面

    9.1 修改虚拟机配置

    nano /etc/pve/qemu-server/100.conf

    顶部加入arch: aarch64,并删除vmgenid

    9.2 创建EFI引导盘

    qm set ${vmid} -efidisk0 ${storage_id}:0,format=raw
    # 比如
    # qm set 100 -efidisk0 local-lvm:0,format=raw

    9.3 最终参考如下

  9. 回到面板选中创建的虚拟机,选中硬件

    新增硬盘,类型选择SCSI即可,位置1

  10. 回到面板选中创建的虚拟机,选中硬件

    移动硬盘到首位,光盘第二

  11. 启动虚拟机,正常安装流程

PVE安装ARM Centos

前面8个步骤与Ubuntu的安装一致,centos从第9步开始

  1. 去到Host主机的Shell页面

    9.1 修改虚拟机配置

    qm set 105 -arch aarch64
    nano /etc/pve/qemu-server/100.conf

    修改配置文件

    arch: aarch64
    bios: ovmf
    boot: order=scsi0;net0;scsi2
    cores: 8
    efidisk0: local-lvm:vm-105-disk-0,size=64M
    memory: 8196
    meta: creation-qemu=6.2.0,ctime=1664187142
    name: kylin001
    net0: virtio=CA:76:0E:59:4A:B9,bridge=vmbr0
    numa: 0
    ostype: l26
    scsi0: local-lvm:vm-105-disk-1,backup=0,size=60G
    scsi2: bash:iso/Kylin-Server-10-SP2-Release-Build09-20210524-arm64.iso,media=cdrom,size=4100816K
    scsihw: virtio-scsi-pci
    serial0: socket    ##添加
    smbios1: uuid=104ec11d-7100-4feb-b953-f058f7e7f622
    sockets: 1    ##添加
    vga: serial0   ##添加
    vmgenid: 80eb3ab7-5964-4d7a-8cd8-6cd5a8ce4363 ##删除

    9.2 创建EFI引导盘

    qm set ${vmid} -efidisk0 ${storage_id}:0,format=raw
    # 比如
    # qm set 100 -efidisk0 local-lvm:0,format=raw
  2. 回到面板选中创建的虚拟机,选中硬件

    新增硬盘,类型选择SCSI即可,位置1

  3. 回到面板选中创建的虚拟机,选中硬件

    移动硬盘到首位,光盘第二

  4. 启动虚拟机,正常安装流程

    • 注意需求对网络进行设置, IP设置为dhcp的时候还需要设置子网掩码和网关,安装完成后dhcp才能获取到IP
    • 使用pve自带的shell面板是需要打开xtrem.js的控制台

Ubuntu安装Docker

2.更新apt

sudo apt-get update

3.安装基本软件

sudo apt-get install curl wget apt-transport-https ca-certificates software-properties-common

4.添加docker密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

对比:

sudo apt-key fingerprint 0EBFCD88

5.添加源

sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

其中$(lsb_release -cs) 为系统函数,可自动获取当前ubuntu版本,arm64对应的是cpu版本。

6.更新apt,安装docker

sudo apt-get update
sudo apt-get install docker-ce

查看docker状态:

systemctl status docker

添加阿里镜像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://bhfjayzb.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

安装K3s

更新源:

apt-get update

关闭防火墙

ufw disable

关闭selinux

# 未安装可以不管
setenforce 0

vim /etc/selinux/conifg

SELINUX=disabled

设置网络(不设置可能出现节点之间dns失效):

tee /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

modprobe br_netfilter

配置 iptables:

iptables -P FORWARD ACCEPT

vim /etc/rc.local
/usr/sbin/iptables -P FORWARD ACCEPT

永久关闭 swap 分区:sed -i 's/.*swap.*/#&/' /etc/fstab

官方网址: https://docs.k3s.io/zh/quick-start

安装脚本

K3s 提供了一个安装脚本,可以方便地将其作为服务安装在基于 systemd 或 openrc 的系统上。该脚本可在 https://get.k3s.io 获得。要使用这种方法安装 K3s,只需运行:

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
  • 每台主机必须具有唯一的主机名。如果你的计算机没有唯一的主机名,请传递 K3S_NODE_NAME 环境变量,并为每个节点提供一个有效且唯一的主机名。

运行此安装后:

  • K3s 服务将被配置为在节点重启后或进程崩溃或被杀死时自动重启。
  • 将安装其他实用程序,包括 kubectlcrictlctrk3s-killall.sh 和 k3s-uninstall.sh
  • kubeconfig 文件将写入到 /etc/rancher/k3s/k3s.yaml,由 K3s 安装的 kubectl 将自动使用该文件。

单节点 Server 安装是一个功能齐全的 Kubernetes 集群,它包括了托管工作负载 pod 所需的所有数据存储、control plane、kubelet 和容器运行时组件。除非你希望向集群添加容量或冗余,否则没有必要添加额外的 Server 或 Agent 节点。

要安装其他 Agent 节点并将它们添加到集群,请使用 K3S_URL 和 K3S_TOKEN 环境变量运行安装脚本。以下示例演示了如何添加 Agent 节点:

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -

K3S_URL 参数会导致安装程序将 K3s 配置为 Agent 而不是 Server。K3s Agent 将注册到在 URL 上监听的 K3s Server。K3S_TOKEN 使用的值存储在 Server 节点上的 /var/lib/rancher/k3s/server/node-token 中。

  • 每台主机必须具有唯一的主机名。如果你的计算机没有唯一的主机名,请传递 K3S_NODE_NAME 环境变量,并为每个节点提供一个有效且唯一的主机名。

kuboard 安装(只能在amd64的服务器安装)

注意版本问题,直接使用eipwork/kuboard:v3镜像的默认版本是3.3.20,但是3.5.20才对arm进行了适配,所以需要单独指定版本

sudo docker run -d \
  -p 80:80 \
  --restart=unless-stopped \
  --name=kuboard \
  -e KUBOARD_ENDPOINT="http://10.7.89.101:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /root/kuboard-data:/data \
  eipwork/kuboard:v3.5.2.0

kuboard 集群导入

THE END
分享
二维码
< <上一篇
下一篇>>