K8S系列文章之 [使用 Alpine 搭建 k3s]

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

官方描述,可运行在 systemd 或者 openrc 环境上,那就往精简方向走,使用 alpine 做系统。与 RHEL、Debian 的区别,主要在防火墙侧;其他基础配置需求类似,脚本指令一致。

  • 下载安装包【离线安装】:Releases · k3s-io/k3s (github.com) 国内源清华源 k3s

    • k3s
    • k3s-airgap-images-amd64.tar.gz
  • 拉取官方安装脚本

    curl -o install.sh https://get.k3s.io
    

准备基础环境 ,集群环境,需要克隆多台设备。

  1. 修改主机名,配置 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
    
  2. 【重要】引导配置,因为 alpine 自身引导与其他发行版不同,以下为独有配置。

    1. 编辑配置文件夹 /etc/update-extlinux.conf​ 末尾添加

      default_kernel_opts="...  cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory"
      
    2. 更新配置并重启

      update-extlinux
      reboot
      

安装搭建

单节点部署,all in one
  1. 下发应用,将 k3s、k3s镜像包、安装脚本下发到各台设备。

  2. 安装 k3s 应用

    # 部署应用,会自动添加可执行权限
    install k3s /usr/local/bin/k3s
    
  3. 镜像加载

    mkdir -p /var/lib/rancher/k3s/agent/images
    cp k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
    
  4. 离线安装

    # 脚本权限配置
    chmod +x install.sh
    # 使用离线安装包,默认初始化,使用的是 sqlite
    INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh
    
    • 根据官方文档,附加参数初始化,对定制友好server | K3s;--node-ip​ 指定本机IP,同理可绑定其他控制节点或者工作节点IP

      # 指定网段,并使用 etcd 初始化
      INSTALL_K3S_SKIP_DOWNLOAD=true \
      sh install.sh server \
      --node-ip 172.16.60.101 \
      --cluster-init
      
  5. 检查

    # 检查镜像
    crictl images
    # 查看 pod
    kubectl get pods -A
    
加入工作节点
  1. server 节点查看生成的 token /var/lib/rancher/k3s/server/node-token

  2. 将离线应用上传到工作节点,k3s、k3s镜像、k3s脚本

  3. 工作节点加入,token 即上面获取的这个

    # 脚本赋权
    chmod +x install.sh
    # 执行节点加入,节点标识 agent
    INSTALL_K3S_SKIP_DOWNLOAD=true \
    K3S_URL=https://172.16.60.101:6443 \
    K3S_TOKEN=K1041f78ac262a8437b79db9557132330054c977edd98e662e9963574f1d8d6b751::server:e439183f4e6296937662f108f7b3363f \
    ./install.sh agent
    
  4. 检查

    # 查看服务,工作节点
    rc-service k3s-agent status
    # 查看运行状态,服务节点
    kubectl get nodes
    
扩容控制节点
  • 如果是快速初始化,使用的是 sqlite ,需要转换为 etcd

    # 停止服务
    rc-service k3s stop
    # 使用 --cluster-init 转换
    INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh --cluster-init
    

  1. master02 启动服务,节点标识 server

    INSTALL_K3S_SKIP_DOWNLOAD=true \
    K3S_URL=https://172.16.60.101:6443 \
    K3S_TOKEN=K1041f78ac262a8437b79db9557132330054c977edd98e662e9963574f1d8d6b751::server:e439183f4e6296937662f108f7b3363f \
    ./install.sh server
    
  2. master03 启动服务

    INSTALL_K3S_SKIP_DOWNLOAD=true \
    K3S_URL=https://172.16.60.101:6443 \
    K3S_TOKEN=K1041f78ac262a8437b79db9557132330054c977edd98e662e9963574f1d8d6b751::server:e439183f4e6296937662f108f7b3363f \
    ./install.sh server
    
  3. 检查状态,在 master01 操作

    kubectl get nodes
    
  • 在所有节点均能执行 kubectl 命令,只需将 master01 的config文件分发到其他节点

    # master 节点
    cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
    # 将 config 配置分发给其他节点
    scp ~/.kube/config root@master02:~/.kube/
    scp ~/.kube/config root@worker01:~/.kube/
    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每日五道java面试题之java基础篇(一)

第一题 什么是java? PS&#xff1a;碎怂 Java&#xff0c;有啥好介绍的。哦&#xff0c;⾯试啊。 Java 是⼀⻔⾯向对象的编程语⾔&#xff0c;不仅吸收了 C语⾔的各种优点&#xff0c;还摒弃了 C⾥难以理解的多继承、指针等概念&#xff0c;因此 Java 语⾔具有功能强⼤和简单易…

Python爬虫实战:抓取猫眼电影排行榜top100#4

爬虫专栏系列&#xff1a;http://t.csdnimg.cn/Oiun0 抓取猫眼电影排行 本节中&#xff0c;我们利用 requests 库和正则表达式来抓取猫眼电影 TOP100 的相关内容。requests 比 urllib 使用更加方便&#xff0c;而且目前我们还没有系统学习 HTML 解析库&#xff0c;所以这里就…

Linux开发:PAM1 介绍

PAM(Pluggable Authentication Modules )是Linux提供的一种通用的认证方式,他可以根据需要动态的加载认证模块,从而减少认证开发的工作量以及提供认证的灵活度。 1.PAM的框架 PAM的框架由一下几个部分构成 1)应用程序,即需要使用认证服务的程序,这些应用程序是使用抽象…

剑指offer——二维数组中的查找(杨氏矩阵)

目录 1. 题目描述2. 常见错误思路3. 分析3.1 特例分析3.2 规律总结 4. 完整代码 1. 题目描述 在一个二维数组中&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数组和一个整数&…

[SAP] ABAP代码程序美化器大小写格式化设置

按照ABAP开发的规范&#xff0c;ABAP源代码里推荐将所有的关键字大写&#xff0c;其余ABAP变量小写 我们可以手动修改上述代码大小写规范的问题&#xff0c;但如果代码量很多的情况下&#xff0c;手动确保这个规范(所有的关键字大写&#xff0c;其余ABAP变量小写)有点费事&…

机器学习系列——(二十)密度聚类

引言 在机器学习的无监督学习领域&#xff0c;聚类算法是一种关键的技术&#xff0c;用于发现数据集中的内在结构和模式。与传统的基于距离的聚类方法&#xff08;如K-Means&#xff09;不同&#xff0c;密度聚类关注于数据分布的密度&#xff0c;旨在识别被低密度区域分隔的高…

谷歌 DeepMind 联合斯坦福推出了主从式遥操作双臂机器人系统增强版ALOHA 2

谷歌 DeepMind 联合斯坦福推出了 ALOHA 的增强版本 ——ALOHA 2。与一代相比&#xff0c;ALOHA 2 具有更强的性能、人体工程学设计和稳健性&#xff0c;且成本还不到 20 万元人民币。并且&#xff0c;为了加速大规模双手操作的研究&#xff0c;ALOHA 2 相关的所有硬件设计全部开…

VDB-具有动态拓扑的高分辨率稀疏体积表示方法

论文地址&#xff1a;Museth_TOG13.pdf 概述 论文提出了一个称为VDB的新颖数据结构和算法&#xff0c;它可以高效地表示三维网格上的稀疏、随时间变化的数据。 VDB的数据结构基于B树&#xff0c;包含一个动态的根节点&#xff0c;以及多个内部节点和叶节点层次&#xff0c;这…

Guava RateLimiter单机实战指南

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Guava RateLimiter单机实战指南 前言maven坐标引入业务实现重要参数和方法关于warmupPeriod实战 前言 想象一下你是一位大厨&#xff0c;正在烹饪美味佳肴。突然之间&#xff0c;前来就餐的人潮如潮水…

查看系统进程信息的Tasklist命令

Tasklist命令是一个用来显示运行在本地计算机上所有进程的命令行工具&#xff0c;带有多个执行参数。另外&#xff0c;Tasklist可以代替Tlist工具。通过任务管理器&#xff0c;可以查看到本机完整的进程列表&#xff0c;而且可以通过手工定制进程列表方式获得更多进程信息&…

【stomp实战】websocket原理解析与简单使用

一、WebSocket 原理 WebSocket是HTML5提供的一种浏览器与服务器进行全双工通讯的网络技术&#xff0c;属于应用层协议。它基于TCP传输协议&#xff0c;并复用HTTP的握手通道。浏览器和服务器只需要完成一次握手&#xff0c;两者之间就直接可以创建持久性的连接&#xff0c; 并…

Python入门知识点分享——(二十)继承和方法重写

今天是大年三十&#xff0c;祝大家龙年大吉&#xff0c;当然无论何时何地&#xff0c;我们都不要忘记继续学习。今天介绍的是继承和方法重写这两种面向对象编程特点。继承机制指的是&#xff0c;一个类&#xff08;我们称其为子类或派生类&#xff09;可以使用另一个类&#xf…

备战蓝桥杯---动态规划(基础3)

本专题主要介绍在求序列的经典问题上dp的应用。 我们上次用前缀和来解决&#xff0c;这次让我们用dp解决把 我们参考不下降子序列的思路&#xff0c;可以令f[i]为以i结尾的最大字段和&#xff0c;易得&#xff1a; f[i]max(a[i],a[i]f[i-1]); 下面是AC代码&#xff1a; #in…

vue3 之 商城项目—登陆

整体认识 登陆页面的主要功能就是表单校验和登陆登出业务 路由配置 模版 <script setup></script><template><div><header class"login-header"><div class"container m-top-20"><h1 class"logo"&g…

【数学建模】【2024年】【第40届】【MCM/ICM】【A题 七鳃鳗性别比与资源可用性】【解题思路】

我们通过将近半天的搜索数据&#xff0c;查到了美国五大湖中优势物种的食物网数据&#xff0c;以Eric伊利湖为例&#xff0c;共包含34各优势物种&#xff0c;相互之间的关系如下图所示&#xff1a; 一、题目 &#xff08;一&#xff09; 赛题原文 2024 MCM Problem A: Reso…

OpenCV 笔记(21):图像色彩空间

1. 图像色彩空间 图像色彩空间是用于定义颜色范围的数学模型。 它规定了图像中可以使用的颜色以及它们之间的关系。它决定了图像中可以显示的颜色范围。不同的色彩空间可以包含不同的颜色范围&#xff0c;因此选择合适的色彩空间对于确保图像在不同设备上看起来一致非常重要。…

【开源】基于JAVA+Vue+SpringBoot的假日旅社管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统介绍2.2 QA 问答 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿评论4.3 查询民宿新闻4.4 新建民宿预订单4.5 查询我的民宿预订单 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的假日旅社…

专业145+总分400+合肥工业大学833信号分析与处理综合考研经验电子信息通信,真题,大纲,参考书

今年专业课145总分400&#xff0c;我总结一下自己的专业课合肥工业大学833信号分析与处理和其他几门的复习经验。希望对大家复习有帮助。 我所用的教材是郑君里的《信号与系统》&#xff08;第三版&#xff09;和高西全、丁玉美的《数字信号处理》&#xff08;第四版&#xff…

HiveSQL——共同使用ip的用户检测问题【自关联问题】

注&#xff1a;参考文章&#xff1a; SQL 之共同使用ip用户检测问题【自关联问题】-HQL面试题48【拼多多面试题】_hive sql 自关联-CSDN博客文章浏览阅读810次。0 问题描述create table log( uid char(10), ip char(15), time timestamp);insert into log valuesinsert into l…

微软AD域替代方案,助力企业摆脱hw期间被攻击的窘境

在红蓝攻防演练&#xff08;hw行动&#xff09;中&#xff0c;AD域若被攻击成功&#xff0c;是其中一个扣分最多的一项内容。每年&#xff0c;宁盾都会接到大量AD在hw期间被攻击&#xff0c;甚至是被打穿的企业客户。过去&#xff0c;企业还会借助2FA双因子认证加强OA、Exchang…