重庆城市建设网站,微信服务平台开发,免费申请网站空间,电商网站建设相关书籍推荐官方文档#xff1a;K3s - 轻量级 Kubernetes | K3s
官方描述#xff0c;可运行在 systemd 或者 openrc 环境上#xff0c;那就往精简方向走#xff0c;使用 alpine 做系统。与 RHEL、Debian 的区别#xff0c;主要在防火墙侧#xff1b;其他基础配置需求类似#xff0…官方文档K3s - 轻量级 Kubernetes | K3s
官方描述可运行在 systemd 或者 openrc 环境上那就往精简方向走使用 alpine 做系统。与 RHEL、Debian 的区别主要在防火墙侧其他基础配置需求类似脚本指令一致。 下载安装包【离线安装】Releases · k3s-io/k3s (github.com) 国内源清华源 k3s k3sk3s-airgap-images-amd64.tar.gz 拉取官方安装脚本 curl -o install.sh https://get.k3s.io准备基础环境 集群环境需要克隆多台设备。 修改主机名配置 hosts 文件 # 修改主机名每个节点不同
echo master01 /etc/hostname
# 配置静态解析所有节点相同
cat /etc/hosts EOF
172.16.60.101 master01
172.16.60.102 master02
172.16.60.103 master03
172.16.60.111 worker01
172.16.60.112 worker02
EOF【重要】引导配置因为 alpine 自身引导与其他发行版不同以下为独有配置。 编辑配置文件夹 /etc/update-extlinux.conf 末尾添加 default_kernel_opts... cgroup_enablecpuset cgroup_memory1 cgroup_enablememory更新配置并重启 update-extlinux
reboot安装搭建
单节点部署all in one 下发应用将 k3s、k3s镜像包、安装脚本下发到各台设备。 安装 k3s 应用 # 部署应用会自动添加可执行权限
install k3s /usr/local/bin/k3s镜像加载 mkdir -p /var/lib/rancher/k3s/agent/images
cp k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/离线安装 # 脚本权限配置
chmod x install.sh
# 使用离线安装包默认初始化使用的是 sqlite
INSTALL_K3S_SKIP_DOWNLOADtrue ./install.sh根据官方文档附加参数初始化对定制友好server | K3s--node-ip 指定本机IP同理可绑定其他控制节点或者工作节点IP # 指定网段并使用 etcd 初始化
INSTALL_K3S_SKIP_DOWNLOADtrue \
sh install.sh server \
--node-ip 172.16.60.101 \
--cluster-init检查 # 检查镜像
crictl images
# 查看 pod
kubectl get pods -A加入工作节点 server 节点查看生成的 token /var/lib/rancher/k3s/server/node-token 将离线应用上传到工作节点k3s、k3s镜像、k3s脚本 工作节点加入token 即上面获取的这个 # 脚本赋权
chmod x install.sh
# 执行节点加入节点标识 agent
INSTALL_K3S_SKIP_DOWNLOADtrue \
K3S_URLhttps://172.16.60.101:6443 \
K3S_TOKENK1041f78ac262a8437b79db9557132330054c977edd98e662e9963574f1d8d6b751::server:e439183f4e6296937662f108f7b3363f \
./install.sh agent检查 # 查看服务工作节点
rc-service k3s-agent status
# 查看运行状态服务节点
kubectl get nodes扩容控制节点 如果是快速初始化使用的是 sqlite 需要转换为 etcd # 停止服务
rc-service k3s stop
# 使用 --cluster-init 转换
INSTALL_K3S_SKIP_DOWNLOADtrue ./install.sh --cluster-init master02 启动服务节点标识 server INSTALL_K3S_SKIP_DOWNLOADtrue \
K3S_URLhttps://172.16.60.101:6443 \
K3S_TOKENK1041f78ac262a8437b79db9557132330054c977edd98e662e9963574f1d8d6b751::server:e439183f4e6296937662f108f7b3363f \
./install.sh servermaster03 启动服务 INSTALL_K3S_SKIP_DOWNLOADtrue \
K3S_URLhttps://172.16.60.101:6443 \
K3S_TOKENK1041f78ac262a8437b79db9557132330054c977edd98e662e9963574f1d8d6b751::server:e439183f4e6296937662f108f7b3363f \
./install.sh server检查状态在 master01 操作 kubectl get nodes在所有节点均能执行 kubectl 命令只需将 master01 的config文件分发到其他节点 # master 节点
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
# 将 config 配置分发给其他节点
scp ~/.kube/config rootmaster02:~/.kube/
scp ~/.kube/config rootworker01:~/.kube/