centos7.9 搭建k8s
K3s -轻量级Kubernetes
K3s 是轻量级的 Kubernetes。K3s 易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。
为什么叫 K3s?
我们希望安装的 Kubernetes 只占用一半的内存。Kubernetes 是一个 10 个字母的单词,简写为 K8s。Kubernetes 的一半就是一个 5 个字母的单词,因此简写为 K3s。K3s 没有全称,也没有官方的发音。
官网:https://docs.k3s.io/zh/quick-start
github:https://github.com/k3s-io/k3s
快速安装
本次安装系统是centos7.9
安装脚本
K3s 提供了一个安装脚本,可以方便地将其作为服务安装在基于 systemd 或 openrc 的系统上。该脚本可在 https://get.k3s.io 获得。要使用这种方法安装 K3s,只需运行:
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--tls-san 1.1.1.1(公网IP)" sh -
备注-中国用户,可以使用以下方法加速安装:
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="--tls-san 1.1.1.1(公网IP)" sh -
运行此安装后:
- K3s 服务将被配置为在节点重启后或进程崩溃或被杀死时自动重启。
- 将安装其他实用程序,包括 kubectl、crictl、ctr、k3s-killall.sh 和 k3s-uninstall.sh。例如
kubectl get nodes
kubectl version
- kubeconfig 文件将写入到 /etc/rancher/k3s/k3s.yaml,由 K3s 安装的 kubectl 将自动使用该文件。
离线安装
没有网络的环境或者想指定版本安装,采用离线安装。这里以v1.23.6+k3s1版本为例
参考官网:https://docs.k3s.io/installation/airgap
下载
从release下载k3s、k3s-airgap-images-amd64.tar.zst:https://github.com/k3s-io/k3s/releases/tag/v1.23.6%2Bk3s1

从源码下载install.sh:https://github.com/k3s-io/k3s/tree/v1.23.6%2Bk3s1

安装
提前要装好docker,然后
//docker加载离线资源
$ docker load -i /root/k3s-airgap-images-amd64.tar.zst//配置可执行文件
$ chmod +x k3s
$ mv k3s /usr/local/bin//配置install.sh
$ vim install.sh
------------
export INSTALL_K3S_SKIP_DOWNLOAD=true #跳过下载文件
export INSTALL_K3S_BIN_DIR=/usr/local/bin
INSTALL_K3S_EXEC='server --docker --tls-san 公网IP' #使用docker作为runtime,并配置公网IP用于外部来连接
------------//运行脚本即可
$ chmod +x install.sh
$ ./install.sh
卸载 K3S
要从 server 节点卸载 K3s,请运行:
# 主节点
/usr/local/bin/k3s-uninstall.sh
要从 agent 节点卸载 K3s,请运行:
# 工作节点
/usr/local/bin/k3s-agent-uninstall.sh
问题
–tls-san – 在 TLS 证书中添加其他主机名或 IP 作为主题备用名称
# 在公有云环境中使用较多,在K3s注册集群的时候会将一些IP地址自动收藏了
# 以及使用多个K3s Server搭建的K3s集群,并且拥有一个LB负载均衡器,就需要将LB的地址添加# --tls-san
# 在TLS证书中添加其他主机名或IP作为主机备用名称
# 即在公网环境下允许通过公网IP访问控制、操作远程集群
# 或者部署多个Server并使用LB进行负责,就需要保留公网地
$ curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \INSTALL_K3S_MIRROR=cn \INSTALL_K3S_EXEC="--docker --tls-san 1.1.1.1" \K3S_KUBECONFIG_OUTPUT=/root/.kube/config \INSTALL_K3S_VERSION="v1.21.14+k3s1" \K3S_TOKEN="rancher" \sh -# 需要修改相应的 ~/.kube/config 文件的URL地址# 获取配置
# k3s 会将信任的IP地址存放到k3s-serving的secrets中
$ kubectl get secrets -n kube-system k3s-serving
NAME TYPE DATA AGE
k3s-serving kubernetes.io/tls 2 117m$ kubectl get secrets -n kube-system k3s-serving -o yaml
apiVersion: v1
data:tls.crt: [......]tls.key: [......]
kind: Secret
metadata:annotations:listener.cattle.io/cn-1.1.1.1: 1.1.1.1listener.cattle.io/cn-192.168.10.30: 192.168.10.30listener.cattle.io/cn-k8s-master: k8s-masterlistener.cattle.io/cn-kubernetes: kuberneteslistener.cattle.io/cn-kubernetes.default: kubernetes.defaultlistener.cattle.io/cn-kubernetes.default.svc: kubernetes.default.svclistener.cattle.io/cn-kubernetes.default.svc.cluster.local: kubernetes.default.svc.cluster.local[......]
type: kubernetes.io/tls# 然后本机复制公网主节点对应的yaml文件即可本地操作了
$ scp root@1.1.1.1:/etc/rancher/k3s/k3s.yaml ~/.kube/config
其他问题参考:https://blog.csdn.net/weixin_40274679/article/details/130149545
相关文章:
centos7.9 搭建k8s
K3s -轻量级Kubernetes K3s 是轻量级的 Kubernetes。K3s 易于安装,仅需要 Kubernetes 内存的一半,所有组件都在一个小于 100 MB 的二进制文件中。 为什么叫 K3s? 我们希望安装的 Kubernetes 只占用一半的内存。Kubernetes 是一个 10 个字母的单词&am…...
使用vite创建项目
NPM npm create vitelatest Yarn yarn create vite PNPM pnpm create vite Bun bunx create-vite 安装sass npm add -D sass 安装less npm add -D less vite官方中文文档:Vite | 下一代的前端工具链 (vitejs.dev)...
EXTI外部中断
? 难点:中断向量表、看门狗、NVIC的优先级位?EXTI框图? ------------------------ 中断系统 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源)--->例如:…...
小肥柴慢慢手写数据结构(C篇)(5-4 中场小结)
小肥柴慢慢学习数据结构笔记(C篇)(5-4 中场小结) 目录5-14 再看数据结构的基础问题5-15 接下来关于Tree你还需要学习和了解的内容参考文献和资料 目录 5-14 再看数据结构的基础问题 假设前面讨论的所有内容大家都已经自己编码实…...
flutter 功能
flutter功能 带缓存的tab切换功能 使用PageController进行对应tab的widget缓存 late PageController _keepActiveVC;///当前使用的视图索引late int _index;late PageController _keepActiveVC;/// 所有视图final List<Widget> _bodys [];overridevoid initState() {…...
Sql Server 存储过程
一、创建存储过程 USE [数据库名称] GO /****** Object: StoredProcedure [dbo].[存储过程名称] Script Date: 2024/2/19 9:47:49 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: <Author,,Name> -- Create date: <Create Dat…...
二.重新回炉Spring Framework:Spring Framework主要组件概览
1.写在前面的话 这里主要简单说一下Spring Framework的几个核心组件的总体情况。为了比较直观,这里使用了ClassPathXmlApplicationContext的类图来进行说明。它基本上包含了 IoC 体系中大部分的核心类和接口。类图如下图所示: 2.Resource 组件体系 R…...
Open CASCADE学习|曲线向曲面投影
在三维空间中,将曲线向曲面投影通常涉及复杂的几何计算。这个过程可以通过多种方法实现,但最常见的是使用数学和几何库,如OpenCASCADE,来处理这些计算。 在OpenCASCADE中,投影曲线到曲面通常涉及以下步骤:…...
怎样连接局域网?
局域网(Local Area Network,缩写为LAN)是建立在小范围内的计算机网络,用于连接同一建筑物或者办公场所内的设备。连接局域网可以实现设备之间的信息共享和远程通信。本文将介绍如何连接局域网,并介绍了天联组网天联的使…...
OpenAI 发布文生视频大模型 Sora,AI 视频要变天了,视频创作重新洗牌!AGI 还远吗?
一、一觉醒来,AI 视频已变天 早上一觉醒来,群里和朋友圈又被刷屏了。 今年开年 AI 界最大的震撼事件:OpenAI 发布了他们的文生视频大模型 Sora。 OpenAI 文生视频大模型 Sora 的横空出世,预示着 AI 视频要变天了,视…...
java基础day01
1.什么是Java Java是一门编程语言 思考问题: 人和人沟通? 中文 英文 人和计算机沟通? 计算机语言: C C C# php python 2. Java诞生 前身叫Oak(橡树)…...
读十堂极简人工智能课笔记06_自然语言处理
1. 聊天机器人 1.1. 人工智能往往掌握不了跨越几段对话语境的讨论 1.1.1. 抓不住连贯的主题,只能单独处理每个句子 1.1.2. 不能将其答案与现实联系起来 1.1.3. 可能会遵循语言规则、统计相关性,甚至查找有关事实来为每个新句子提供答复 1.2. 聊天机…...
Linux文件信息,drwxr-xr-x. 2 root root 6 Jan 30 17:42 Desktop
drwxr-xr-x. 2 root root 6 Jan 30 17:42 Desktop drwxr-xr-x. drwxr-xr-x.d是文件类型rwx r-x r-x9位,每3位一组,一共3组,代表基本权限第一组 文件的创建者 | 拥有者第二组 和拥有者在一个组中第三组 其他用户rread,读的权限ww…...
深入理解Promise:用法和面试问题解析
引言 在现代的异步JavaScript编程中,Promise是一个强大的工具,用于更优雅地处理异步操作。本文将深入探讨Promise的具体用法,并提供一些在面试中可能遇到的问题及其答案。 Promise的基本用法 Promise是一个代表异步操作最终完成或失败的对…...
css2背景
css2背景 一.背景颜色二.背景图片三.背景平铺四.背景图片位置五.背景图像固定六.复合型写法七.背景颜色半透明八.总结 一.背景颜色 默认是transparent(透明) 二.背景图片 默认是none 三.背景平铺 默认是background-repeat(平铺) 四.背景图片位置…...
KUKA库卡机器人编程语言是什么?
KUKA库卡机器人的编程语言主要是KUKA Robot Language(简称KRL)。KRL是库卡机器人专门为其机器人系统设计的编程语言,用于编写和控制KUKA工业机器人的运动和操作。KRL结合了指令式编程和结构化编程的特点,具有一定的易学性和灵活性…...
Django学习全纪录:Django视图和路由的配置,应用的创建以及注册
导言 在之前的文章中,我们已经将Django的环境部署完成,包括一些注意事项以及前期工作,都已经完成。这篇文章,我们就可以正式开始干活了。 学习目标 1、学习创建应用以及注册APP 2、初步认识视图和路由,以及编写简单的代码 3、启动应用观察变化 创建第一个应用(APP) …...
LabVIEW卫星电视接收仿真系统
LabVIEW卫星电视接收仿真系统 随着卫星电视数字化的加速,传统模拟信号接收系统已无法满足需求。设计一套船载数字卫星电视接收系统,通过LabVIEW环境进行仿真实验,验证系统设计的可行性与有效性,满足数字信号接收的高精度要求&…...
docker修改工作目录
开始之前请务必给服务器打快照!!! 开始之前请务必给服务器打快照!!! 开始之前请务必给服务器打快照!!! docker 默认安装在 /var/lib/docker 目录下 $ docker info | g…...
Ps:统计
Ps菜单:文件/脚本/统计 Scripts/Statistics 统计 Statistics脚本命令提供了一种高效的方法来处理和分析大量图像,使用户能够自动执行复杂的图像分析任务,并在多个图像间应用统计学方法。这个功能极大地扩展了 Photoshop 在科学研究、图像编辑…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
