autok3s k3d rancher研究

参考

功能介绍 | Rancher文档AutoK3s 是用于简化 K3s 集群管理的轻量级工具,您可以使用 AutoK3s 在任何地方运行 K3s 服务。http://docs.rancher.cn/docs/k3s/autok3s/_index

什么是 AutoK3s

k3s是经过完全认证的 Kubernetes 产品,在某些情况下可以替代完整的 K8s。

AutoK3s 是用于简化 K3s 集群管理的轻量级工具,您可以使用 AutoK3s 在任何地方运行 K3s 服务。

AutoK3s 是一款开源的工具,如果您需要提交产品需求,或者是在使用过程中遇到任何问题或,请访问 AutoK3s-GitHub 网站,创建 Issue 并描述您的需求或问题,我们会尽快回复。如果您喜欢这款工具,请一键三连( Watch、star 和 fork )!

关键特性#

  • 通过 API、CLI 和 UI 等方式快速创建 K3s。
  • 云提供商集成(简化 CCM 设置)。
  • 灵活安装选项,例如 K3s 集群 HA 和数据存储(内置 etcd、RDS、SQLite 等)。
  • 低成本(尝试云中的竞价实例)。
  • 通过 UI 简化操作。
  • 多云之间弹性迁移,借助诸如 backup-restore-operator 这样的工具进行弹性迁移。
  • K3s离线安装,K8s离线安装包管理以及使用离线安装方式部署集群。

云提供商#

AutoK3s 可以支持以下云厂商,我们会根据社区反馈添加更多支持:

  • 阿里云 - 在阿里云的 ECS 中初始化 K3s 集群
  • AWS - 在亚马逊 EC2 中初始化 K3s 集群
  • Google - 在Google GCE 中初始化 K3s 集群
  • 腾讯云 - 在腾讯云 CVM 中初始化 K3s 集群
  • Native - 在任意类型 VM 实例中初始化 K3s 集群
  • K3d - 使用 K3d 在宿主机 Docker 中初始化 K3s 集群
  • Harvester - 在 Harvester 实例中初始化 K3s 集群

快速体验#

您可以通过以下 Docker 命令,一键启动 AutoK3s 本地 UI,快速体验相关功能。

docker run -itd --restart=unless-stopped -p 8080:8080 cnrancher/autok3s:v0.6.0

如果您想要在 docker 中使用 K3d provider,那么您需要使用宿主机网络启动 AutoK3s 镜像。

docker run -itd --restart=unless-stopped --net host -v /var/run/docker.sock:/var/run/docker.sock cnrancher/autok3s:v0.6.0

如果您是 MacOS 或者 Linux 系统,您也可以使用以下安装命令,一键安装 AutoK3s(Windows用户请前往 Releases 页面下载对应的程序)。

curl -sS https://rancher-mirror.rancher.cn/autok3s/install.sh | INSTALL_AUTOK3S_MIRROR=cn sh

您可以通过以下 CLI 命令启动本地 UI。

autok3s serve

您也可以通过以下 CLI 在 AWS EC2 快速创建一个 1 master, 1 worker 节点的 K3s 集群。

export AWS_ACCESS_KEY_ID='<Your access key ID>'export AWS_SECRET_ACCESS_KEY='<Your secret access key>'autok3s -d create -p aws --name myk3s --master 1 --worker 1

卸载 AutoK3s#

v0.5.0 及更新版本可用

如果您想卸载 AutoK3s,可以执行以下命令:

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

创建K3d集群 | Rancher文档本文介绍了如何使用 K3d 在宿主机中使用 Docker 初始化 K3s 集群,以及为已有的 K3s 集群添加节点的操作步骤。http://docs.rancher.cn/docs/k3s/autok3s/k3d/_index

创建K3d集群

概述#

本文介绍了如何使用 K3d 在宿主机中使用 Docker 初始化 K3s 集群,以及为已有的 K3s 集群添加节点的操作步骤。除此之外,本文还提供了在 K3d 上运行 AutoK3s 的进阶操作指导,如配置私有镜像仓库。

前置要求#

  • 强烈建议您在 Linux/Unix 环境中使用 K3d Provider
  • 安装 Docker

UI 使用说明#

接下来我们将基于 AutoK3s 本地 UI 介绍如何使用 AutoK3s 工具,在 Docker 中启动 K3s 集群。如果您想了解 CLI 的使用,请移步到 CLI 使用说明

您可以通过快速体验中的描述,通过 Docker 或者 CLI 启动本地 UI,打开浏览器,访问目标端口 8080 即可。

请注意:

  • 如果您使用 Docker 启动 AutoK3s 服务并且需要使用 K3d Provider,请将 docker.sock 文件挂载到容器中。
  • 受限于 MacOS docker vm,k3d 本身在 MacOS 下使用存在限制,为了您更好的体验,建议在 Linux 下使用 k3d provider。
  • 如确实需要 MacOS 下使用,需注意 MacOS 下 Docker 不支持 Host Networking,请使用 publish 端口方式。此时,AutoK3s 无法使用 Kubectl shell 操作 K3d 集群,请转而进入 K3d 集群的 node shell,依托 master 节点自带的kubectl进行管理。参考:Host network driver | Docker Documentation

快速创建集群#

您可以使用快速创建功能,在指定的云提供商服务中,快速启动一个K3s集群。

以下图为例,我们将在 Docker 中使用默认配置创建一个单节点的 K3s 集群。

表 1:快速创建参数

参数说明默认值
Provider云提供商名称k3d
NameK3s集群名称
MasterMaster 节点数量1
WorkerWorker 节点数量0

自定义参数创建#

如果您不想使用默认的配置,可以点击 Advance 按钮,进入自定义参数页面进行更多参数的设置。 或者您可以在集群列表页点击 Create 按钮进入自定义参数页面进行更多参数的设置。

使用 K3d 云提供商创建 K3s 集群的自定义参数配置仅有一项,接下来对每个配置项进行详细说明。

K3d 配置#

K3d 配置主要配置的内容为启动 K3s 集群所需的参数,例如 K3s 镜像、容器运行内存、环境变量、挂载数据卷等信息。

表 2:实例配置参数

参数说明默认值
API Port指定在LoadBalancer上公开的 Kubernetes API 服务器端口,例如(--api-port 0.0.0.0:6550)0.0.0.0:0
Image在 Docker 中启动的 K3s 镜像rancher/k3s:v1.21.2-k3s1
No LoadBalancer禁用 LoadBalancerfalse
No Host IP禁用将主机IP作为“host.k3d.internal”自动注入到容器和CoreDNS中false
No Image Volume禁用创建用于导入镜像的数据卷false
MasterMaster 节点数量
Master Extra ArgsMaster 节点额外参数设置,例如 --no-deploy traefik
WorkerWorker 节点数量
Worker Extra ArgsWorker 节点额外参数设置,例如 --node-taint key=value:NoExecute
Masters MemoryMaster 节点内存限制[作用于Docker]
Workers MemoryWorker 节点内存限制[作用于Docker]
Token用于将server或agent加入集群的共享secret,如果不设置,会自动生成一个Token
Network使用已经存在的 Docker 网络
GPUs将GPU设备添加到群集节点容器(设置all将添加所有GPU到容器)[作用于Docker]
Labels将标签添加到节点容器,例如--labels my.label@agent [0,1] --labels other.label=somevalue@server:0
Environment Variables将环境变量添加到节点,例如--envs HTTP_PROXY=my.proxy.com@server:0 --envs SOME_KEY=SOME_VAL@server:0
Volumes将卷挂载到节点中,例如--volumes /my/path@agent:0,1 --volumes /tmp/test:/tmp/other@server:0
Ports将节点容器中的端口映射到主机,例如--ports 8080:80@agent:0 --ports 8081@agent:1
Registry私有镜像仓库配置文件路径,如果您的私有镜像仓库带有证书,请参考这里

集群模板#

您可以使用模板功能,提前预置好常用的集群模板,每次创建集群时可以用模板参数进行填充,极大精简了重复操作。一次编写,多次运行,提升效率。

创建集群模板的参数与上面描述的自定义参数创建集群的表单内容相同,在这里不做赘述。

您可以选择最常用的模板,点击右侧下拉框中的 Set Default 按钮,将模板设置为默认模板。

设置为默认模板后,您可以通过快速创建功能一键部署常用配置的 K3s 集群。

如果您想使用其他模板创建集群,您还可以在快速创建页面的右上角,或者在自定义创建集群的右上角筛选模板,点击 Fill Form 按钮后,会自动根据模板内容填充表单。

集群管理#

您可以在集群列表页查看和管理使用 AutoK3s 创建的 K3s 集群。

添加节点#

选中您要添加节点的集群,点击右侧下拉菜单中的 Join Node 按钮,在弹出的窗口中设置要添加的节点数量即可。

Kubectl#

如果您想操作 K3s 集群数据,可以点击右上角 Launch Kubectl 按钮,在下拉框中选择要操作的集群后,便可以在 UI 控制台操作选中的集群了。

下载 Kubeconfig 文件#

如果您想在其他地方管理集群,可以单独下载指定集群的 Kubeconfig 文件。点击指定集群右侧下拉菜单中的 Download KubeConfig 按钮,在弹出窗口中选择复制或下载文件。

SSH#

如果您想连接到远程主机进行操作,您可以在集群列表页面点击集群名称,进入详情页面,选择要连接的主机,点击右侧 Execute Shell 按钮。

开启 kube-explorer dashboard#

您可以通过右侧下拉菜单中选择 Enable Explorer 功能来开启 kube-explorer。

开启后,在集群列表会增加 dashboard 跳转链接按钮,点击跳转链接便可以访问 kube-explorer dashboard 页面了。

关闭 kube-explorer dashboard#

对于已经开启了 kube-explorer 功能的集群,可以在右侧下拉菜单中选择 Disable Explorer 功能来关闭 kube-explorer 服务。

请注意:

  • MacOS 下 Docker 不支持 Host Networking,如果在 MacOS 下使用 K3d provider,由于无法使用 Kubectl shell 功能操作 K3d 集群,所以我们无法使用 kube-explorer 功能。

CLI 使用说明#

如想了解更多参数,请运行autok3s <sub-command> --provider k3d --help命令。

创建普通集群#

运行以下命令,将在宿主机使用 Docker 启动名称为“myk3s”的集群,并为该集群配置 1 个 master 节点和 1 个 worker 节点。

autok3s -d create -p k3d -n myk3s --master 1 --worker 1

Copy

创建高可用 K3s 集群#

嵌入式 etcd#

运行以下命令,将在宿主机中使用 Docker 启动一个名为“myk3s”,包含 3 个 master 节点的高可用 K3s 集群。

autok3s -d create -p k3d -n myk3s --master 3

Copy

添加 K3s 节点#

请使用autok3s join命令为已有集群添加 K3s 节点。

普通集群#

运行以下命令,为“myk3s”集群添加 1 个 worker 节点。

autok3s -d join -p k3d -n myk3s --worker 1

Copy

高可用 K3s 集群#

autok3s -d join -p k3d -n myk3s --master 1 --worker 1

Copy

删除 K3s 集群#

删除一个 k3s 集群,这里删除的集群为 myk3s。

autok3s -d delete -p k3d -n myk3s

Copy

查看集群列表#

显示当前主机上管理的所有 K3s 集群列表。

autok3s list

Copy

NAME REGION PROVIDER STATUS MASTERS WORKERS VERSION

myk3s k3d Running 1 1 v1.20.5+k3s1

Copy

查看集群详细信息#

显示具体的 K3s 信息,包括实例状态、主机 ip、集群版本等信息。

autok3s describe -n myk3s -p k3d

Copy

注意:如果使用不同的 provider 创建的集群名称相同,describe 时会显示多个集群信息,可以使用-p <provider>对 provider 进一步过滤。例如:autok3s describe -n myk3s -p k3d

Name: myk3s

Provider: k3d

Region:

Zone:

Master: 1

Worker: 1

Status: Running

Version: v1.20.5+k3s1

Nodes:

- internal-ip: []

external-ip: []

instance-status: running

instance-id: k3d-myk3s-agent-0

roles: <none>

status: Ready

hostname: k3d-myk3s-agent-0

container-runtime: containerd://1.4.4-k3s1

version: v1.20.5+k3s1

- internal-ip: []

external-ip: []

instance-status: running

instance-id: k3d-myk3s-server-0

roles: control-plane,master

status: Ready

hostname: k3d-myk3s-server-0

container-runtime: containerd://1.4.4-k3s1

version: v1.20.5+k3s1

Copy

Kubectl#

群创建完成后, autok3s 会自动合并 kubeconfig 文件。

autok3s kubectl config use-context k3d-myk3s

autok3s kubectl <sub-commands> <flags>

Copy

在多个集群的场景下,可以通过切换上下文来完成对不同集群的访问。

autok3s kubectl config get-contexts

autok3s kubectl config use-context <context>

Copy

SSH#

SSH 连接到集群中的某个主机,这里选择的集群为 myk3s。

autok3s ssh -p k3d -n myk3s

Copy

进阶使用#

AutoK3s 集成了一些与当前 provider 有关的高级组件,例如私有镜像仓库。

配置私有镜像仓库#

私有镜像仓库配置仅作用于 k3s v0.10.0 及以上版本,带认证的私有镜像仓库需要将 TLS 文件挂载到 K3d 容器中,更多的信息请查看这里。

使用私有镜像仓库的配置请参考以下内容,如果您的私有镜像仓库需要 TLS 认证,autok3s会从本地读取相关的 TLS 文件并自动上传到远程服务器中完成配置,您只需要完善registry.yaml即可。

mirrors:

my.company.registry:

endpoint:

- https://my.company.registry

configs:

my.company.registry:

tls:

# we will mount "my-company-root.pem" in the /etc/ssl/certs/ directory.

ca_file: "/etc/ssl/certs/my-company-root.pem"

Copy

在运行 autok3s create 或 autok3s join 时,通过传递 --registry /etc/autok3s/registries.yaml 以使用私有镜像仓库,例如:

autok3s -d create \

--provider k3d \

--name myk3s \

--master 1 \

--worker 1 \

--registry /etc/autok3s/registries.yaml

--volumes ${HOME}/.k3d/my-company-root.pem:/etc/ssl/certs/my-company-root.pem

Copy

Edit this page

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/4098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S 软链接和硬链接 shell

r(Read&#xff0c;读取)&#xff1a;对文件而言&#xff0c;具有读取文件内容的权限&#xff1b;对目录来说&#xff0c;具有浏览目 录的权限。 w(Write,写入)&#xff1a;对文件而言&#xff0c;具有新增、修改文件内容的权限&#xff1b;对目录来说&#xff0c;具有删除、移…

恢复配置并减少网络停机时间

随着众多公司努力在商业世界中崭露头角&#xff0c;拥有可靠的 IT 基础架构比以往任何时候都更加重要。组织需要维护一个稳定的网络环境&#xff0c;避免不合时宜的网络中断以及网络连接中断、声誉受损、应用程序不可用和数据丢失。 Network Configuration Manager 提供了一种…

LLM微调 | LoRA: Low-Rank Adaptation of Large Language Models

&#x1f525; 发表于论文&#xff1a;(2021) LoRA: Low-Rank Adaptation of Large Language Models &#x1f604; 目的&#xff1a;大模型预训练微调范式&#xff0c;微调成本高。LoRA只微调新增的小部分参数。 文章目录 1、背景2、动机3、LoRA原理4、总结 1、背景 adapter…

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Linux 学习记录52(ARM篇)

Linux 学习记录52(ARM篇) 本文目录 Linux 学习记录52(ARM篇)一、汇编语言相关语法1. 汇编语言的组成部分2. 汇编指令的类型3. 汇编指令的使用格式 二、基本数据处理指令1. 数据搬移指令(1. 格式(2. 指令码类型(3. 使用示例 2. 立即数(1. 一条指令的组成 3. 移位操作指令(1. 格式…

[QT编程系列-13]:QT快速学习 - 1- 初识

目录 第1章 QT的介绍 1.1 QT VS MFC 1.2 QT历史 1.3 QT的应用 1.4 QT学习方法 1.5 QT对象树 1.6 2-8定律 1.7 QT优势&#xff1a; 1.8 QT支持的平台 第2章 QT UI是各种控件对象的堆积 第3章 QT UI是各种控件的堆积 第4章 控件窗口的控制 第1章 QT的介绍 1.1 QT V…

回归预测 | MATLAB实现Attention-GRU多输入单输出回归预测(注意力机制融合门控循环单元,TPA-GRU)

回归预测 | MATLAB实现Attention-GRU多输入单输出回归预测----注意力机制融合门控循环单元&#xff0c;即TPA-GRU&#xff0c;时间注意力机制结合门控循环单元 目录 回归预测 | MATLAB实现Attention-GRU多输入单输出回归预测----注意力机制融合门控循环单元&#xff0c;即TPA-G…

GUI-Menu菜单实例(颜色+线型菜单)

运行代码&#xff1a; //GUI-Menu菜单实例&#xff08;颜色线型菜单&#xff09; #include"std_lib_facilities.h" #include"GUI/Simple_window.h" #include"GUI/GUI.h" #include"GUI/Graph.h" #include"GUI/Point.h"struc…

JS-27 前端数据请求方式;HTTP协议的解析;JavaScript XHR、Fetch的数据请求与响应函数;前端文件上传XHR、Fetch;安装浏览器插件FeHelper

目录 1_前端数据请求方式1.1_前后端分离的优势1.2_网页的渲染过程 – 服务器端渲染1.3_网页的渲染过程 – 前后端分离 2_HTTP协议的解析2.1_HTTP概念2.2_网页中资源的获取2.3_HTTP的组成2.4_HTTP的版本2.5_HTTP的请求方式2.6_HTTP Request Header2.7_HTTP Response响应状态码 3…

创建、发布npm包,并且应用在项目里面

实现一个函数去监听dom宽高的变化&#xff0c;并且发布NPM包&#xff0c;然后使用到项目中 步骤 1.5W3H 八何分析法 2.如何监听dom宽高变化 3.如何用vite 打包库 4.如何发布npm 一、NPM包新建过程 查看完整目录 1.生成 package.json npm init生成TS配置文件 tsconfig.js…

第二十一章:CCNet:Criss-Cross Attention for Semantic Segmentation ——用于语义分割的交叉注意力

0.摘要 全图像依赖关系为视觉理解问题提供了有用的上下文信息。在这项工作中&#xff0c;我们提出了一种称为Criss-Cross Network&#xff08;CCNet&#xff09;的方法&#xff0c;以更有效和高效的方式获取这种上下文信息。具体而言&#xff0c;对于每个像素&#xff0c;CCNet…

禁止浏览器自动填充密码功能,设置自动填充背景色。

禁止浏览器自动填充密码功能&#xff0c;设置自动填充背景色 1、禁止浏览器自动填充密码功能2、设置自动填充背景色&#xff08;阴影效果&#xff09; 1、禁止浏览器自动填充密码功能 text设置autocomplete“off” password设置 autocomplete“new-password” 两个一起设置&am…

Python Web框架 Flask 安装、使用

Python Web框架 Flask 安装 安装 Flask 框架 首先需要安装 Flask 框架, 可以通过以下命令安装: [rootlocalhost web]# pip3 install Flask Collecting FlaskDownloading Flask-2.0.3-py3-none-any.whl (95 kB)|██████████████████████████████…

websoket

websoket是html5新特性&#xff0c; 它提供一种基于TCP连接上进行全双工通讯的协议; 全双工通信的意思就是:允许客户端给服务器主动发送信息,也支持服务端给另一个客户端发送信息. Websoket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在we…

Appium: Windows系统桌面应用自动化测试(四) 【辅助工具】

[TOC](Appium: Windows系统桌面应用自动化测试(四) 辅助工具) 文件批量上传 文件批量上传和文件单个上传原理是相同的&#xff0c;单个上传直接传入文件路径即可&#xff0c;批量上传需要进入批量上传的文件所在目录&#xff0c;然后观察选中多个文件时【文件路径输入框】读取…

抖音seo源码-源代码开发搭建-开源部署(不加密)

抖音SEO矩阵系统源码开发功能模型是指在抖音平台上提高视频搜索排名的一种算法模型。该功能模型包括多个部分&#xff0c;如内容优化、用户交互、社交化推广等&#xff0c;通过对这些因素的优化和提升&#xff0c;达到提高视频搜索排名的目的。具体实现包括使用关键词、标签等优…

Elasticsearch--查询(nested、join)

nested 嵌套类型 数据的某个值是json、object对象&#xff1b;不再是简单的数据类型&#xff0c;或者简单数据类型的数组&#xff1b;那么还用之前的查询方式就有问题了。因为ES在存储复杂类型的时候会把对象的复杂层次结果扁平化为一个键值对列表 。此时&#xff0c;需要用n…

<Linux开发> linux开发工具-之-I2C TOOLS工具使用

&#xff1c;Linux开发&#xff1e; linux开发工具-之-I2C TOOLS工具使用 &#xff1c;Android开发&#xff1e; Android开发工具- 之-I2C TOOLS工具使用 &#xff1c;Linux开发&#xff1e;驱动开发 -之- Linux I2C 驱动 一 前言 在笔者的另一篇文章 &#xff1c;Android开…

MySQL 第七天作业 nosql作业

作业一&#xff1a;string list hash结构中&#xff0c;每个至少完成5个命令&#xff0c;包含插入 修改 删除 查询&#xff0c;list 和hash还需要增加遍历的操作命令 1、 string类型数据的命令操作&#xff1a; &#xff08;1&#xff09; 设置键值&#xff1a; set key1 re…

Spring Boot集成Redisson实现分布式锁

Spring Boot集成Redisson实现分布式锁 在分布式系统中&#xff0c;为保证数据的一致性和并发访问的安全性&#xff0c;我们经常会使用分布式锁来协调多个节点之间对共享资源的访问。Redisson是一个基于Redis的Java驻内存数据网格&#xff08;In-Memory Data Grid&#xff09;和…