统信UOS搭建kubernetes(k8s)教程

一.虚拟机安装UOS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自行拟定虚拟机名称与安装位置
在这里插入图片描述
在这里插入图片描述
内存建议给大点:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
固定IP地址
在这里插入图片描述
设置完之后可以ping一下百度,看网络是否联通
在这里插入图片描述
开启root权限:进入设置切换到开发者模式
在这里插入图片描述
直到如下显示:
在这里插入图片描述
输入sudo passwd root设置root密码,然后输入su,输入刚刚设置的密码进入root模式

二.基本环境配置

step1.关闭防火墙

# systemctl stop firewalld
# systemctl disable firewalld

若提示防火墙未装载,直接进行下一步

step2.关闭swap分区

# swapoff -a  # 临时
# sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久

输入reboot重启系统,关闭swap的操作才能生效

step3.将桥接的IPv4流量传递到iptables的链

# cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# sysctl --system  # 生效

step4.时间同步

# apt install ntpdate -y
# ntpdate time.windows.com

若报错无法定位软件包,则执行apt-get update命令进行更新资源

step5.安装Docker

二进制手动安装:

# wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
# tar xf docker-20.10.9.tgz
# chmod +x docker/*
# cp docker/* /usr/bin/

创建一个文本docker.service,输入以下内容:

# vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target

启动docker

root@master:/# systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
root@master:/# docker --version
Docker version 20.10.9, build c2ea9bc

设置开机启动:

#  systemctl enable docker

step6.配置Docker

打开

vi /etc/docker/daemon.json

输入:

{
"registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com",
    "https://quay-mirror.qiniu.com",
    "https://b9pmyelo.mirror.aliyuncs.com"
  ]
}
root@master:/# systemctl daemon-reload
root@master:/# systemctl restart docker

step7.安装 kubelet kubeadm kubectl

# 安装基础环境
# apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
# curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 执行配置k8s阿里云源  
vim /etc/apt/sources.list.d/kubernetes.list
#加入以下内容
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
# 执行更新
apt-get update -y
# 安装kubeadm、kubectl、kubelet  
apt-get install -y kubelet=1.23.1-00 kubeadm=1.23.1-00 kubectl=1.23.1-00
# 阻止自动更新(apt upgrade时忽略)。所以更新的时候先unhold,更新完再hold。
apt-mark hold kubelet kubeadm kubectl

step8.初始化master节点

在master节点中创建:

vi kubeadm-config.yaml

输入以下内容:
将下面的 advertiseAddress: 192.168.67.143修改为当前master节点的ip地址

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.67.143
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  imagePullPolicy: IfNotPresent
  name: master
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: 1.23.1
networking:
  dnsDomain: cluster.local
  serviceSubnet: 10.96.0.0/12
scheduler: {}
---
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: cgroupfs

安装master组件:
可以先执行kubeadm config images pull,看能否链接到国外镜像,如不能,则转用阿里云镜像
(1)通过指令kubeadm config images list首先查看kubeadm config 依赖的镜像有哪些:

k8s.gcr.io/kube-apiserver:v1.23.17
k8s.gcr.io/kube-controller-manager:v1.23.17
k8s.gcr.io/kube-scheduler:v1.23.17
k8s.gcr.io/kube-proxy:v1.23.17
k8s.gcr.io/pause:3.6
k8s.gcr.io/etcd:3.5.1-0
k8s.gcr.io/coredns/coredns:v1.8.6

(2)总共7个,根据镜像名称,依次从阿里云拉取:

root@master:/# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.17
root@master:/# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.17
root@master:/# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.17
root@master:/# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.17
root@master:/# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
root@master:/# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0
root@master:/#  docker pull coredns/coredns:1.8.6

注意最后一个镜像,去掉版本前的“v”,可通过docker pull coredns/coredns:1.8.6直接拉取
通过docker image ls查看下载好的镜像:

root@master:/# docker image ls
REPOSITORY                                                                    TAG        IMAGE ID       CREATED         SIZE
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver            v1.23.17   62bc5d8258d6   5 months ago    130MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy                v1.23.17   f21c8d21558c   5 months ago    111MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager   v1.23.17   1dab4fc7b6e0   5 months ago    120MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler            v1.23.17   bc6794cb54ac   5 months ago    51.9MB
registry.cn-hangzhou.aliyuncs.com/google_containers/etcd                      3.5.1-0    25f8c7f3da61   21 months ago   293MB
coredns/coredns                                                               1.8.6      a4ca41631cc7   22 months ago   46.8MB
registry.cn-hangzhou.aliyuncs.com/google_containers/pause                     3.6        6270bb605e12   23 months ago   683kB

(3)将拉取下来的images重命名为kubeadm config所需的镜像名字

root@master:/# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.17 k8s.gcr.io/kube-apiserver:v1.23.17
root@master:/# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.17 k8s.gcr.io/kube-proxy:v1.23.17
root@master:/# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.17 k8s.gcr.io/kube-controller-manager:v1.23.17
root@master:/# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.17  k8s.gcr.io/kube-scheduler:v1.23.17
root@master:/# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0 k8s.gcr.io/etcd:3.5.1-0
root@master:/# docker tag coredns/coredns:1.8.6 k8s.gcr.io/coredns/coredns:v1.8.6 
root@master:/# docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6

初始化:
先通过systemctl status kubelet和systemctl status docker查看kubectl和docker是否运行,如果没有,则输入systemctl start kubelet启动对应服务
执行kubeadm init --config kubeadm-config.yaml

在这里插入图片描述

直到显示successfully表示初始化成功,,记下红色框中的内容
复制粘贴这3条指令执行

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

下面这条指令记录下来即可,在node节点输入该指令加入集群

kubeadm join 192.168.67.149:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:e4601dc7967a267a69456af1807a0bfb9a2b0910f43b45706b38fe1c029ef55a

节点加入成功后会显示如下:
在这里插入图片描述
此时返回master节点,输入kubectl get node发现节点为NotReady
在这里插入图片描述

此时在master节点部署 Calico,输入

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

等待一段时间后,再次查看,发现节点已经处于Ready状态了
在这里插入图片描述

<think>好的,我现在需要帮助用户了解如何在龙芯架构下的UOS上安装虚拟机。首先,我得确认用户提到的“龙芯架构”是指龙芯的LoongArch架构,而UOS是基于LoongArch的版本。接下来,我需要考虑在LoongArch架构下可用的虚拟化方案。 首先,常见的虚拟机软件如VirtualBox、VMware可能不支持LoongArch架构,因此可能需要寻找其他支持该架构的工具。QEMU是一个支持多种架构的模拟器和虚拟化工具,可能是一个可行的选择。不过,QEMU在系模拟和硬件虚拟化方面有不同的模式,需要确认LoongArch是否支持KVM加速,这会影响虚拟机的性能。 然后,我需要检查UOS的软件源中是否有QEMU和相关工具。通常,可以通过包管理器来安装,比如apt或yum,但具体包名可能有所不同。用户需要先更新系并安装必要的软件包,比如qemu-system-loongarch64或者其他相关组件。 接下来,安装步骤可能包括:1. 更新系;2. 安装QEMU;3. 配置虚拟网络;4. 创建虚拟磁盘;5. 启动虚拟机并安装客户机系。这里需要注意的是,客户机系的镜像必须支持LoongArch架构,否则无法运行。例如,UOS可能有适用于LoongArch的镜像文件,用户需要提前获取。 另外,如果LoongArch支持KVM,用户需要检查CPU虚拟化支持是否开启,并加载相应的内核模块,如kvm-loongarch。这会提升虚拟机的性能。如果KVM不可用,可能需要使用纯软件模拟,这会导致性能下降。 在创建虚拟磁盘时,用户需要使用qemu-img命令生成磁盘镜像文件。然后,使用qemu-system命令启动虚拟机,指定CPU类型、内存大小、磁盘镜像和安装镜像。安装过程中需要按照客户机系的指引进行操作,类似于物理机安装。 安装完成后,用户可能需要配置网络和共享文件夹,以便主机和虚拟机之间传输文件。此外,性能调优也是需要考虑的,比如启用KVM加速、调整内存和CPU核心数等。 潜在的问题可能包括:软件包不可用、镜像兼容性问题、硬件虚拟化支持不足等。需要建议用户查阅UOS的官方文档,或联系技术支持获取帮助。另外,社区资源如论坛和开源项目可能提供额外的支持。 总结步骤时,要确保逻辑清晰,分步骤说明,并提醒用户注意架构兼容性和性能优化。同时,强调目前龙芯生态可能存在的限制,建议用户根据实际需求选择合适的虚拟化方案。</think>在龙芯架构(LoongArch)的UOS上安装虚拟机,需根据架构兼容性选择合适的工具。以下是分步指南及注意事项: --- ### **1. 确认虚拟化方案** 由于龙芯架构的生态特殊性,常见的虚拟机软件(如VirtualBox、VMware)可能不兼容。推荐使用 **QEMU**(支持多架构模拟)结合 **KVM**(硬件加速)的方案: - **QEMU**:开源虚拟化工具,支持LoongArch架构。 - **KVM**:需确认龙芯CPU是否支持虚拟化扩展(需内核版本≥5.19)。 --- ### **2. 安装前准备** - **系更新** ```bash sudo apt update && sudo apt upgrade -y ``` - **安装必要工具** ```bash sudo apt install qemu-system qemu-utils virt-manager libvirt-daemon-system -y ``` - **验证KVM支持** 检查内核模块是否加载: ```bash lsmod | grep kvm ``` 若输出包含 `kvm_loongarch`,则支持KVM加速。 --- ### **3. 创建虚拟机** #### **步骤1:准备系镜像** - 下载支持LoongArch的镜像(如UOS龙芯版、Loongnix系)。 #### **步骤2:创建虚拟磁盘** ```bash qemu-img create -f qcow2 uos_vm.qcow2 20G ``` #### **步骤3:启动虚拟机安装** ```bash qemu-system-loongarch64 \ -m 4096 -smp 4 \ -machine virt \ -cpu la464 \ -bios /path/to/loongarch_bios.bin \ -drive file=uos_vm.qcow2,format=qcow2 \ -cdrom /path/to/uos-loongarch.iso \ -device virtio-gpu-pci \ -device usb-kbd \ -device usb-mouse \ -netdev user,id=net0 -device virtio-net-pci,netdev=net0 ``` **参数说明**: - `-m 4096`: 分配4GB内存。 - `-smp 4`: 使用4个CPU核心。 - `-machine virt`: 指定虚拟化平台。 - `-bios`: 需提供龙芯架构的BIOS文件(通常位于`/usr/share/qemu/`)。 - `-cdrom`: 指定系安装镜像路径。 --- ### **4. 完成安装** - 根据安装向导操作,类似物理机安装流程。 - 安装完成后,移除 `-cdrom` 参数从硬盘启动。 --- ### **5. 可选优化** - **图形化管理**:使用 `virt-manager` 连接libvirt管理虚拟机。 - **网络桥接**:配置桥接网络使虚拟机获得独立IP。 - **共享文件夹**:通过9p文件系实现主机与虚拟机文件共享: ```bash -fsdev local,id=fs1,path=/host/share,security_model=mapped \ -device virtio-9p-pci,fsdev=fs1,mount_tag=host_share ``` 在虚拟机内挂载: ```bash mount -t 9p host_share /mnt -o trans=virtio ``` --- ### **注意事项** 1. **镜像兼容性**:确保虚拟机镜像为LoongArch架构编译。 2. **性能问题**:若无KVM加速,纯模拟性能较低。 3. **资源限制**:龙芯平台虚拟化生态仍在完善中,建议优先使用物理机部署关键服务。 --- ### **常见问题** - **Q:启动报错 `CPU模型不支持`** 检查QEMU版本及 `-cpu` 参数(需支持`la464`或`loongarch64`)。 - **Q:如何验证虚拟化是否生效?** 在虚拟机内执行: ```bash lscpu | grep Virtualization ``` 建议参考UOS官方文档或社区论坛(如龙芯俱乐部)获取最新适配方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值