Skip to content

k3s集群搭建

2169字约7分钟

linuxk3s

2024-11-01

将会介绍k3s集群的搭建方法

k3s集群搭建

通过对比和实际体验下来k3s和k8s区别不大,并且k3s所需要的基础资源比较低,安装简单,易于维护。能够满足日常的开发运维需求,此文档用于介绍k3s的安装方法和基础用法。

k3s搭建流程

主节点搭建

Shell
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

工作节点搭建

myserver 为主节点的ip地址

mynodetoken 通过在主节点运行cat /var/lib/rancher/k3s/server/node-token获取

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

踩坑

由于中国大陆近期对于docker.io的镜像资源的封锁,导致实际安装过程中出现了问多的网络问题。以下是具体遇到的坑。

主节点slb无法启动

运行kubectl get pods -A时,发现几个重要的pod始终无法启动,再通过kubectl describe pod traefik-7d5f6474df-vhwq6 -n kube-system查看具体的信息,最后发现是因为无法拉取镜像导致的。

解决方式

方式一:在本地拉取镜像后上传到服务中,再通过命令加载镜像

docker save -o rancher-mirrored-pause-3.6.tar rancher/mirrored-pause:3.6

scp ...

ctr -n k8s.io images import rancher-mirrored-pause-3.6.tar

方式二:

搭建镜像代理服务(利用了我们的韩国服务器),使用了这个GitHub - bboysoulcn/registry-mirror: 方便地设置和启动各种镜像仓库代理开源项目

修改/etc/rancher/k3s/registries.yaml下的文件(所有节点都需要配置)

重启服务器

Dashboard

由于官方文档年久失修,本次安装采用了GitHub - kubernetes/dashboard: General-purpose web UI for Kubernetes clusters 提供的方式(helm)进行安装,两次命令就搞定,中间也遇到了网络问题,配置私有镜像仓库后消失

使用

新的集群dashboard与之前的方式略有差异,运行以下命令后查看dashboard

Shell
kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-prox 8443:443

并且访问https://localhost:8443/#/workloads?namespace=default访问服务,token通过命令获取

Shell
kubectl describe secrets dashboard-admin -n kube-system

相关操作整理

k3s/k8s常用命令

你好云原生

后续的工作

使用apisix替换当前的ingress,在证书部署方面更好的管理。

Referance

https://docs.k3s.io/zh/quick-start k3s官方文档