首页 > 其他分享 >使用 Alpine 搭建 k3s

使用 Alpine 搭建 k3s

时间:2024-01-23 13:12:19浏览次数:43  
标签:k3s K3S server sh install Alpine 节点 搭建

使用 Alpine 搭建 k3s

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


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

  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/
    

标签:k3s,K3S,server,sh,install,Alpine,节点,搭建
From: https://www.cnblogs.com/chongxs/p/17982228/alpine-k3s-env

相关文章

  • 基于 Alpine 使用 kubeadm 搭建 k8s
    基于Alpine使用kubeadm搭建k8s先部署基础环境,然后根据官方文档K8s-AlpineLinux,进行操作。将官方文档整理为脚本整理脚本时,有部分调整#!/bin/shset-x#添加源,安装时已经配置#cat>>/etc/apk/repositories<<"EOF"#http://mirrors.aliyun.com/alpine/edge/commu......
  • 基于Bitnami gitlab OVA包的gitlab 环境搭建
    前言最近在折腾gitlab,本篇记录搭建的过程方便以后查找环境Windowsserver+VMware安装为方便本次我们直接采用Bitnami的VOA安装包(VOA格式可同时兼容VirtualBox和VMware),可以直接在虚拟机导入即可。安装包位于这里。打开VMwareWorkstation,File->Open,选择刚刚下载好......
  • 搭建邮件服务器基于docker镜像的iredmail
    第一步安装docker很多博客都有,不过大多是自动模式如果要离线安装docker,需要下载docker安装包第二步安装iredmail/mariadbW1在线拉取如果是有互联网接入的,当然可以使用dockerpull命令直接拉取镜像,dockerpulliredmail/mariadbW2中间拉取使用一台有互联网接入的虚拟机......
  • 基于NFS搭建ES快照仓库
    原文:elasticsearch使用快照进行备份-技术经验-W3xue第一步:安装rpcbind、nfs-utilsnfs-utils:既包含客户端,又包含服务器Way1:在线安装yuminstallrpcbindnfs-utils-yWay2:离线安装浏览器搜索(亲测egde可用){软件包名}downloadpkgs安装rpcbind:libtrirpc->rpcbind安......
  • centos搭建dvwa
    一、环境部署1、下载dvwa安装包文件备用2、安装apacheaptinstallapache2-y3、安装mysqlaptinstlallmariadbmariadb-server-y4、安装phpapt-yinstallphp7.0php-pearlibapache2-mod-php7.0php7.0-mysqlphp7.0-curlphp7.0-jsonphp7.0-cgiphp7.0-gd注意:安装......
  • Redis集群搭建
    [!info]参考知乎:Redis集群的原理和搭建,一文带你详解CSDN:redis集群搭建、Redis集群模式与哨兵模式:详细对比与实例解析1.搭建脚本#连接redis-cli-c-hxxx.xxx.xxx.xxx-p8004-apassword#状态检查./bin/redis-cli-apassword--clustercheckxxx.xxx.xxx.xxx:......
  • Windows环境下的Gitlab的环境搭建
    描述:windows下用VitrualBox搭建gitlab环境因为gitlab不支持windows,所以要在windows下使用,就必须借助虚拟机(vitualBox,Vmware),或者Docker。1)下载虚拟机镜像:https://bitnami.com/stack/gitlab下载后得到一个ova格式的文件,它是虚拟机镜像文件。bitnami提供的是搭建了gitlab环境的d......
  • 【2024.01.23】搭建幻兽帕鲁palworld私人服务器,并配置难度
    使用docker进行部署无疑是最快的项目地址:https://github.com/thijsvanloef/palworld-server-docker代码内容services:palworld:image:thijsvanloef/palworld-server-docker:latestrestart:unless-stoppedcontainer_name:palworld-serverpo......
  • MySQL5.7麒麟系统ARM架构下离线安装,搭建主从集群
    一、检查本机操作系统#一定要注意查看本机的操作系统,是amd(x86)还是arm(aarch)架构$uname-aLinuxServer-58aa6d9e-9412-4ab6-b496-2adc0af4e9c84.19.90-17.5.ky10.aarch64#1SMPFriAug713:35:33CST2020aarch64aarch64aarch64GNU/Linux$cat/etc/os-releaseN......
  • 搭建RAC时报错Cannot verify the shared state for device /dev/asm-diskd due to Uni
    问题描述:搭建RAC时报错Cannotverifythesharedstatefordevice/dev/asm-diskdduetoUniversallyUniqueIdentifiers(UUIDs)notbeingfound......,如下所示:系统:rhel7.964位数据库:19c1、异常重现详细告警日志:ASMdevicesharednesscheck-Thischeckverifiesthe......