K3S 安装使用教程

K3S 安装使用教程

官方文档: K3s - 轻量级 Kubernetes | Rancher文档

一.K3s 简介

什么是K3s

K3s 是一个轻量级的 Kubernetes 发行版

它针对边缘计算、物联网等场景进行了高度优化。

K3s 有以下增强功能:

  • 打包为单个二进制文件。
  • 使用基于 sqlite3 的轻量级存储后端作为默认存储机制。同时支持使用 etcd3、MySQL 和 PostgreSQL 作为存储机制。
  • 封装在简单的启动程序中,通过该启动程序处理很多复杂的 TLS 和选项。
  • 默认情况下是安全的,对轻量级环境有合理的默认值。
  • 添加了简单但功能强大的batteries-included功能,例如:本地存储提供程序,服务负载均衡器,Helm controller 和 Traefik Ingress controller。
  • 所有 Kubernetes control-plane 组件的操作都封装在单个二进制文件和进程中,使 K3s 具有自动化和管理包括证书分发在内的复杂集群操作的能力。
  • 最大程度减轻了外部依赖性,K3s 仅需要 kernel 和 cgroup 挂载。 K3s 软件包需要的依赖项包括:
    • containerd
    • Flannel
    • CoreDNS
    • CNI
    • 主机实用程序(iptables、socat 等)
    • Ingress controller(Traefik)
    • 嵌入式服务负载均衡器(service load balancer)
    • 嵌入式网络策略控制器(network policy controller)

为什么叫 K3s?

k3s内存占用是k8s的一半

kubernetes是一个10个字母的单词,简写为k8s

kubenetes的一半是5个字母,简写为k3s

适用场景

K3s 适用于以下场景:

  • 边缘计算-Edge
  • 物联网-IoT
  • CI
  • Development
  • ARM
  • 嵌入 K8s

由于运行 K3s 所需的资源相对较少,所以 K3s 也适用于开发和测试场景。

在这些场景中,如果开发或测试人员需要对某些功能进行验证,或对某些问题进行重现,那么使用 K3s 不仅能够缩短启动集群的时间,还能够减少集群需要消耗的资源。

二.架构介绍

K3s server 是运行k3s server命令的机器(裸机或虚拟机),而 K3s worker 节点是运行k3s agent命令的机器

单节点架构

K3s 单节点集群的架构如下图所示,该集群有一个内嵌 SQLite 数据库的单节点 K3s server。

在这种配置中,每个 agent 节点都注册到同一个 server 节点。

K3s 用户可以通过调用 server 节点上的 K3s API 来操作 Kubernetes 资源。

Architecture

高可用架构

虽然单节点 k3s 集群可以满足各种用例,但对于 Kubernetes control-plane 的正常运行至关重要的环境,您可以在高可用配置中运行 K3s。

一个高可用 K3s 集群由以下几个部分组成:

  • K3s Server 节点:两个或更多的server节点将为 Kubernetes API 提供服务并运行其他 control-plane 服务
  • 外部数据库:与单节点 k3s 设置中使用的嵌入式 SQLite 数据存储相反,高可用 K3s 需要挂载一个external database外部数据库作为数据存储的媒介。

K3s高可用架构:

Architecture

固定 agent 节点的注册地址

在高可用 K3s server 配置中,每个节点还必须使用固定的注册地址向 Kubernetes API 注册,注册后,agent 节点直接与其中一个 server 节点建立连接

如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OAIZbzxX-1652774253221)(https://docs.rancher.cn/assets/images/k3s-production-setup-bf069ee663ad82a8104d19f0cccaf59a.svg)]

注册 Agent 节点

Agent 节点用k3s agent进程发起的 websocket 连接注册,连接由作为代理进程一部分运行的客户端负载均衡器维护。

Agent 将使用节点集群 secret 以及随机生成的节点密码向 k3s server 注册,密码存储在 /etc/rancher/node/password路径下。

K3s server 将把各个节点的密码存储为 Kubernetes secrets,随后的任何尝试都必须使用相同的密码。节点密码秘密存储在kube-system命名空间中,名称使用模板<host>.node-password.k3s

注意:

  • 在 K3s v1.20.2 之前,K3s server 将密码存储在/var/lib/rancher/k3s/server/cred/node-passwd的磁盘上。
  • 如果您删除了 agent 的/etc/rancher/node目录,则需要为该 agent 重新创建密码文件,或者从 server 中删除该条目。
  • 通过使用--with-node-id标志启动 K3s server 或 agent,可以将唯一的节点 ID 附加到主机名中。

自动部署的清单

位于目录路径/var/lib/rancher/k3s/server/manifests 的清单在构建时被捆绑到 K3s 二进制文件中

将由rancher/helm-controller在运行时安装。

k3s默认容器运行时

k3s默认使用 containerd 作为容器运行时
在 goroutine 中以 子进程 方式 启动 containerd

验证:

ps aux | grep “k3s server”

root       7897 13.7 17.7 1459612 592916 ?      Ssl  10:51  48:13 /usr/local/bin/k3s server

ps -A -ostat,pid,ppid,cmd |grep 7897

Ssl    7897      1 /usr/local/bin/k3s server
Sl     7911   7897 containerd -c /var/lib/rancher/k3s/agent/etc/containerd/config.toml -a /run/k3s/containerd/containerd.sock --state /run/k3s/containerd --root /var/lib/rancher/k3s/agent/containerd

三、离线安装

概述

你可以使用两种不同的方法在离线环境中安装 K3s。

离线环境是不直接连接到 Internet 的任何环境。

你可以部署一个私有镜像仓库,或者你可以手动部署镜像,比如用于小型集群。

离线安装的过程主要分为以下两个步骤:

步骤 1:部署镜像

步骤 2:安装 K3s

离线升级 K3s 版本: 完成离线安装 K3s 后,您还可以通过脚本升级 K3s 版本,或启用自动升级功能,以保持离线环境中的 K3s 版本与最新的 K3s 版本同步。

部署私有镜像仓库

前提条件

搭建私有仓库 ,例如 harbor仓库, 搭建参考Harbor安装与配置

创建镜像仓库 YAML

请按照 K3S 私有镜像仓库配置创建并配置registry.yaml文件。

完成后,现在可以转到下面的[安装 K3s]部分,开始安装 K3

手动部署镜像

前提条件

假设已经在离线环境中创建了节点。

这种方法需要您手动将必要的镜像部署到每个节点,适用于运行无法部署镜像仓库的边缘部署场景。

操作步骤

请按照以下步骤准备镜像目录和 K3s 二进制文件

  1. K3s GitHub Release页面获取你所运行的 K3s 版本的镜像 tar 文件。

  2. 将 tar 文件放在images目录下,例如:

    sudo mkdir -p /var/lib/rancher/k3s/agent/images/
    sudo cp k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
    
  3. 将 k3s 二进制文件放在 /usr/local/bin/k3s路径下,并确保拥有可执行权限。完成后,现在可以转到下面的安装 K3s部分,开始安装 K3s。

安装 K3s

更多安装选项参考 安装选项介绍 | Rancher文档

前提条件
  • 在安装 K3s 之前,完成上面的部署私有镜像仓库手动部署镜像,导入安装 K3s 所需要的镜像。
  • release 页面下载 K3s 二进制文件,K3s 二进制文件需要与离线镜像的版本匹配。将二进制文件放在每个离线节点的 /usr/local/bin 中,并确保这个二进制文件是可执行的。
  • 下载 K3s 安装脚本:https://get.k3s.io 。将安装脚本放在每个离线节点的任意地方,并命名为 install.sh

当使用 INSTALL_K3S_SKIP_DOWNLOAD 环境变量运行 K3s 脚本时,K3s 将使用本地的脚本和二进制。

单节点安装
server节点
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh
Agent节点
# 将 myserver 替换为 server 的 IP 或有效的 DNS
# 将 mynodetoken 替换 server 节点的 token
# token 通常在/var/lib/rancher/k3s/server/node-token

INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken ./install.sh

注意:

K3s 还为 kubelets 提供了一个--resolv-conf标志,这可能有助于在离线网络中配置 DNS

高可用安装

需要调整安装命令,以便指定INSTALL_K3S_SKIP_DOWNLOAD=true并在本地运行安装脚本。您还将利用INSTALL_K3S_EXEC='args'为 k3s 提供其他参数。

例如,使用外部数据库实现高可用安装指南的第二步提到了以下内容:

curl -sfL https://get.k3s.io | sh -s - server \
  --datastore-endpoint='mysql://username:password@tcp(hostname:3306)/database-name'

由于在离线环境中无法使用curl命令进行安装,所以您需要参考以下示例,将这条命令行修改为离线安装:

INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='server' K3S_DATASTORE_ENDPOINT='mysql://username:password@tcp(hostname:3306)/database-name' ./install.sh

四、升级 K3s

通过脚本升级

离线环境的升级可以通过以下步骤完成:

  1. K3s GitHub Release页面下载要升级到的 K3s 版本。将 tar 文件放在每个节点的/var/lib/rancher/k3s/agent/images/目录下。删除旧的 tar 文件。
  2. 复制并替换每个节点上/usr/local/bin中的旧 K3s 二进制文件。复制https://get.k3s.io 的安装脚本(因为它可能在上次发布后发生了变化)。再次运行脚本。
  3. 重启 K3s 服务。

启用自动升级功能

除了可以通过脚本升级 K3s 以外,您还可以启用自动升级功能,以保持离线环境中的 K3s 版本与最新的 K3s 版本同步。

v1.17.4+k3s1 开始,K3s 支持自动升级。要在离线环境中启用此功能,您必须确保所需镜像在您的私有镜像仓库中可用。

  1. 你将需要与你打算升级到的 K3s 版本相对应的 rancher/k3s-upgrade 版本。

    注意,镜像标签将 K3s 版本中的+替换为-,因为 Docker 镜像不支持+

  2. 你还需要在你要部署的system-upgrad-controller manifestYAML 中指定的 system-upgrad-controllerkubectl的版本。

    这里检查 system-upgrad-controller 的最新版本,并下载 system-upgrad-controller.yaml来确定你需要推送到私有镜像仓库的版本。例如,在system-upgrade-controller的 v0.4.0 版本中,在 manifest YAML 中指定了这些镜像:

    rancher/system-upgrade-controller:v0.4.0
    
    rancher/kubectl:v0.17.0
    
  3. 将必要的 rancher/k3s-upgrade、rancher/system-upgrade-controller 和 rancher/kubectl 镜像添加到您的私有镜像仓库中以后 ,就可以按照K3s 自动升级指南进行操作。

五.卸载 K3s

卸载 K3s 会删除集群数据和所有脚本。

要使用不同的安装选项重新启动集群,请使用不同的标志重新运行安装脚本。

server 节点卸载 K3s

/usr/local/bin/k3s-uninstall.sh

agent 节点卸载 K3s

/usr/local/bin/k3s-agent-uninstall.sh
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 金蝶K3 Wise财务管理全操作手册可以在金蝶官方网站上进行下载。首先,您需要在金蝶官方网站中找到金蝶K3 Wise财务管理软件的相关页面。在该页面上,您可以找到与金蝶K3 Wise财务管理相关的信息和下载链接。通过点击下载链接,您可以选择下载适用于您所使用的操作系统的安装文件。 下载完成后,您需要按照安装文件的提示进行软件的安装安装完成后,您就可以开始使用金蝶K3 Wise财务管理软件了。为了更好地理解和操作该软件,建议您阅读金蝶K3 Wise财务管理全操作手册。 在手册中,您可以了解到金蝶K3 Wise财务管理软件的各项功能和操作方法。手册指导您如何进行财务管理、会计核算、财务分析等工作。您可以根据手册逐步了解金蝶K3 Wise财务管理软件的各个模块,并按照手册的步骤进行相关操作。 需要注意的是,金蝶K3 Wise财务管理全操作手册可能是以电子文档的形式提供。您可以将手册下载到您的电脑中,并使用相关的阅读软件进行浏览。同时,您也可以打印出手册,以便于在使用软件时随时查阅。 总之,通过金蝶官方网站可以下载金蝶K3 Wise财务管理全操作手册,安装软件后按照手册的指导进行操作,以更好地使用该软件进行财务管理。 ### 回答2: 金蝶K3 Wise财务管理是一款专业的财务管理软件,能够帮助企业进行财务数据的管理和分析。如果您想下载金蝶K3 Wise财务管理的全操作手册,您可以通过以下步骤进行。 首先,您可以在金蝶官方网站上找到金蝶K3 Wise财务管理的相关信息和下载链接。在金蝶官方网站的搜索框输入"金蝶K3 Wise财务管理全操作手册下载"的关键词,然后点击搜索按钮。 在搜索结果页面,您可以找到所需的操作手册下载链接。点击相应的链接,会弹出一个下载窗口,您可以选择保存位置并点击保存按钮进行下载。 如果您没有找到相关的下载链接,您可以考虑联系金蝶公司的客服人员寻求帮助。您可以通过金蝶官方网站上提供的联系方式,例如电话或在线客服,在适当的时间联系他们,并说明您需要下载金蝶K3 Wise财务管理全操作手册,他们将会提供相应的帮助和指导。 总之,想要下载金蝶K3 Wise财务管理的全操作手册,您可以通过金蝶官方网站或联系金蝶公司的客服人员获取相应的下载链接或帮助。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值