K3S搭建指导书

离线安装

1.安装

url地址

Releases · k3s-io/k3s · GitHub

下载文件名

k3s-airgap-images-amd64.tar (离线安装镜像包)

K3s (二进制文件 )

install.sh (执行脚本,在source code压缩包里面)

执行步骤:

注意:使用 INSTALL_K3S_SKIP_DOWNLOAD 环境变量运行 K3s 脚本时,K3s 将使用脚本的本地版本和二进制文件

#拷贝镜像包(每个节点)
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-$ARCH.tar /var/lib/rancher/k3s/agent/images/
#拷贝K3s二进制文件(每个节点)
sudo cp ./k3s /usr/local/bin/
#单节点启动service
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh
#启动agent
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://<SERVER_IP>:6443 K3S_TOKEN=<YOUR_TOKEN> ./install.sh
#Server 的 Token 通常位于 /var/lib/rancher/k3s/server/token。

注意: Kubernetes 1.20 之后 ,k3s使用containerd代替docker下载镜像,使用k3s ctr --help查看使用命令。

2.重启服务

systemctl daemon-reload
systemctl restart k3s

containerd 配置

1.containerd加速器配置和私仓

cat >> /etc/rancher/k3s/registries.yaml <<EOF
mirrors:
  docker.io:
    endpoint:
      - "https://xxxxx.mirror.aliyuncs.com"
      - "http://hub-mirror.c.163.com"
      - "https://docker.mirrors.ustc.edu.cn"
      - "https://registry.docker-cn.com"
mirrors:
  "docker.io":
    endpoint:
      - "https://fogjl973.mirror.aliyuncs.com"
      - "https://registry-1.docker.io"
mirrors:
  "10.169.6.71:8082":
    endpoint:
      - "http://10.169.6.71:8082"
EOF

Containerd 目前没有直接配置镜像加速的功能,但 containerd 中可以修改 docker.io 对应的 endpoint,所以可以通过修改 endpoint 来实现镜像加速下载。因为 endpoint 是轮训访问,所以可以给 docker.io 配置多个仓库地址来实现 加速地址+默认仓库地址

Containerd 配置文件末尾追加了如下配置 :

root@ubuntu:~# cat /var/lib/rancher/k3s/agent/etc/containerd/config.toml
[plugins.cri.registry.mirrors]
​
[plugins.cri.registry.mirrors."docker.io"]
  endpoint = ["https://7bezldxe.mirror.aliyuncs.com", "https://registry-1.docker.io"]

2.containerd代理配置

  • 创建或编辑文件

touch /etc/systemd/system/containerd.service.d/http-proxy.conf
  • 配置代理

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7090"
Environment="HTTPS_PROXY=http://127.0.0.1:7090"
Environment="NO_PROXY=localhost"
  • 环境变量配置代理

export HTTP_PROXY=http://127.0.0.1:7090
export HTTPS_PROXY=http://127.0.0.1:7090
export NO_PROXY=localhost

3.containerd常见命令

  • 下载镜像

k3s ctr images pull xxx

4.containerd导入镜像,docker导出镜像

  • docker导出镜像

docker save k8s.gcr.io/pause -o pause.tar
  • containerd导入镜像

k3s ctr -n <namespace> images import pause.tar

5.k3s 进入pod

k3s ctr t exec --exec-id $RANDOM -t c3557d012242b97724663417d967fa88e86a05d22c7e9b81004705ce3d5b0b15 /bin/bash

6.service暴露到Kubernetes集群之外

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
k3s是一个轻量级的Kubernetes发行版,它可以在嵌入式系统上进行部署。在嵌入式设备上搭建k3s的高可用环境需要考虑到数据库的高可用性。 k3s默认使用SQLite作为嵌入式数据库,但SQLite不支持高可用性。因此,我们需要使用其他支持高可用性的数据库来替换。常见的选择是使用MySQL或PostgreSQL作为嵌入式数据库。 要搭建k3s嵌入式数据库的高可用环境,可以按照以下步骤进行操作: 1. 安装和配置MySQL或PostgreSQL数据库集群:在不同的嵌入式设备上安装MySQL或PostgreSQL,并进行配置以实现主从复制或集群模式。确保数据的持久性和一致性。 2. 将k3s配置为使用MySQL或PostgreSQL:修改k3s的配置文件,让其使用MySQL或PostgreSQL作为数据库,而不是默认的SQLite。指定数据库的地址、用户名、密码等相关信息。 3. 配置数据库访问权限:确保k3s可以通过网络访问数据库集群,并具有足够的权限进行读写操作。 4. 配置数据库的高可用性:针对数据库集群的复制机制或集群配置进行优化,以提高可用性和容错性。可以使用负载均衡等技术来处理数据库请求。 5. 启动k3s并测试:在每个嵌入式设备上启动k3s,并确保它们能够连接到数据库集群。进行一些基本的测试,例如创建和管理Pod、容器等,验证k3s的功能和高可用性。 总结起来,要搭建k3s嵌入式数据库的高可用环境,需要安装和配置支持高可用性的数据库集群,将k3s配置为使用该数据库,并进行相关的网络和权限配置。通过这样的搭建,我们可以实现k3s在嵌入式设备上的高可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值