国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用 k3sup 一分鐘快速搭建 K3s 集群

云計(jì)算 云原生
k3sup 通過 SSH 連接到目標(biāo)服務(wù)器,然后自動安裝和配置 K3s。這意味著我們可以在任何可以通過 SSH 訪問的機(jī)器上安裝和運(yùn)行 Kubernetes,包括本地機(jī)器、云服務(wù)器或樹莓派等設(shè)備。

背景

在平時(shí)的工作中,為了方便在純凈的環(huán)境中進(jìn)行測試,我經(jīng)常需要在本地或者公有云環(huán)境中頻繁地搭建和銷毀集群。有時(shí)是在 我的 HomeLab 環(huán)境中,雖然 CPU 不強(qiáng)但勝在內(nèi)存夠大;后來有了微軟 MVP 贈送的 Azure 額度之后,我也會經(jīng)常在 Azure 的虛擬機(jī) 中搭建,因?yàn)闆]有拉取鏡像的網(wǎng)絡(luò)問題。

在兩個環(huán)境中我通過 Terraform 實(shí)現(xiàn)了虛擬機(jī)的快速創(chuàng)建和銷毀,然后在虛擬機(jī)上創(chuàng)建 K3s 集群。K3s 集群足夠輕量級,并支持對組件的定制。結(jié)合 Alfred Snippets[1],我只需要 ssh 到虛擬機(jī)上并鍵入 k3si 就可以快速輸入定制好的命令,然后再獲取虛擬機(jī)上的 kubeconfig 文件并替換其中的 api-server 地址(這些也通過 snippet)解決:

export MASTER_IP=${MASTER_IP:-$(ip addr show eth0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)}
export INSTALL_K3S_VERSION=v1.23.8+k3s1
curl -sfL https://get.k3s.io | sh -s - --disable traefik --disable local-storage --disable metrics-server --advertise-address=$MASTER_IP --disable servicelb --write-kubeconfig-mode 644 --write-kubeconfig ~/.kube/config

單節(jié)點(diǎn)的集群操作起來還算便捷,但需要多節(jié)點(diǎn)的集群時(shí)也還要 ssh 到所有主機(jī)上進(jìn)行操作,當(dāng)然少不了復(fù)制 master 節(jié)點(diǎn)的 token。不免還是有些繁瑣。

后來就發(fā)現(xiàn)了更快捷的工具,由 Alex Ellis 創(chuàng)建的 k3sup[2](發(fā)音 ‘ketchup’)。

k3sup 簡介

k3sup 是一個輕量級工具,用于快速搭建 K3s 集群。

k3sup 的特點(diǎn)是易于使用,只需單個命令即可在不同的平臺上安裝 K3s。它使用戶可以快速創(chuàng)建 Kubernetes 集群,并可以輕松地將新節(jié)點(diǎn)加入到現(xiàn)有集群中。

k3sup 通過 SSH 連接到目標(biāo)服務(wù)器,然后自動安裝和配置 K3s。這意味著我們可以在任何可以通過 SSH 訪問的機(jī)器上安裝和運(yùn)行 Kubernetes,包括本地機(jī)器、云服務(wù)器或樹莓派等設(shè)備。

簡單理解就是使用 k3sup 完成了 ssh 到主機(jī)、安裝 K3s server、復(fù)制 token、ssh 到 agent 主機(jī)、安裝 K3s agent ... 等一系列的操作。

接下來我們看下如何使用 k3sup。

安裝 k3sup

k3sup 是一個命令行工具,使用前要下載安裝 CLI。

Linux:

curl -sLS https://get.k3sup.dev | sh
sudo install k3sup /usr/local/bin/

macOS:

brew install k3sup

使用

k3sup 支持如下命令:

  • completion:為指定的 shell 生成自動完成腳本
  • help:幫助
  • install:通過 SSH 在服務(wù)器上安裝 K3s
  • join:在遠(yuǎn)程主機(jī)上安裝 K3s 代理并將其加入到現(xiàn)有集群
  • ready:使用 kubectl 檢查集群是否已就緒。
  • update:打印更新說明
  • version:打印版本

創(chuàng)建集群會用到 install 和 join 兩個命令。

install 命令

install 命令用于在服務(wù)器上安裝 K3s,使用下面的命令即可在遠(yuǎn)程主機(jī)上安裝 k3s。

其中 --ip 指向遠(yuǎn)程主機(jī)的地址,--user 為登錄遠(yuǎn)程主機(jī)的用戶名,--k3s-channel 這是要安裝的版本,--local-path 集群 kubeconf 的本地保存地址。更多的選項(xiàng)可以通過 k3sup help install 來查看。

k3sup 默認(rèn)使用 ssh key ~/.ssh/id_rsa 來訪問主機(jī),可通過 --ssh-key 選項(xiàng)指定。

export MASTER_IP=192.168.1.11
k3sup install --ip $MASTER_IP \
 --user addo \
 --k3s-channel v1.24  \
 --local-path /tmp/config

執(zhí)行命令會打印安裝過程中的日志。

Running: k3sup install
2023/10/26 09:04:35 192.168.1.11
Public IP: 192.168.1.11
[INFO]  Finding release for channel v1.24
[INFO]  Using v1.24.17+k3s1 as release
...
Saving file to: /tmp/config

# Test your cluster with:
export KUBECONFIG=/tmp/config
kubectl config use-context default
kubectl get node -o wide

執(zhí)行命令,查看節(jié)點(diǎn)的信息。

export KUBECONFIG=/tmp/config
kubectl get node -o wide
NAME     STATUS   ROLES                  AGE   VERSION         INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master   Ready    control-plane,master   1m   v1.24.17+k3s1   10.0.2.4      <none>        Ubuntu 20.04.6 LTS   5.15.0-1047-azure   containerd://1.7.3-k3s1

如果是安裝單節(jié)點(diǎn)集群,install 命令就足夠了。假如是多節(jié)點(diǎn)集群,就還需要用到 join 命令。

join 命令

使用 join 命令可以初始化 agent 節(jié)點(diǎn),并將其加入到當(dāng)前的集群中,需要使用 --server-ip 指定 server 節(jié)點(diǎn)的 IP 地址,同樣需要 --k3s-channel 指定安裝的版本,強(qiáng)烈建議安裝于 server 節(jié)點(diǎn)同樣的版本。

export AGENT_IP=192.168.1.12
k3sup join --ip $AGENT_IP --user addo --server-ip $MASTER_IP --k3s-channel v1.24
Running: k3sup join
Agent: 192.168.1.11 Server: 192.168.1.12
Received node-token from 192.168.1.11.. ok.
[INFO]  Finding release for channel v1.24
[INFO]  Using v1.24.17+k3s1 as release
...

查看節(jié)點(diǎn):

kubectl get no 
NAME     STATUS   ROLES                  AGE     VERSION
node-1   Ready    <none>                 43s   v1.24.17+k3s1
master   Ready    control-plane,master   2m58s   v1.24.17+k3s1

完整腳本

讓 ChatGPT 生成了腳本一鍵創(chuàng)建集群,有興趣的小伙伴可以試試創(chuàng)建個雙節(jié)點(diǎn)的集群需要多久。我試了下,耗時(shí) 32s 左右。

# Define IP addresses
export HOSTS="192.168.1.11 192.168.1.12"

搭建集群

#!/bin/bash

# Read the list of IP addresses from the environment variable
IP_ADDRESSES=($HOSTS)
# Define the k3s version
K3S_VERSION="v1.24"

# Check if there is at least one IP address
if [ ${#IP_ADDRESSES[@]} -eq 0 ]; then
    echo "No IP addresses found. Please ensure the HOSTS environment variable is correctly set."
    exit 1
fi

# Install the master node
MASTER_IP=${IP_ADDRESSES[0]}
echo "Installing master node: $MASTER_IP"
k3sup install --ip $MASTER_IP --user addo --k3s-channel $K3S_VERSION \
    --k3s-extra-args '--write-kubeconfig-mode 644 --write-kubeconfig ~/.kube/config --disable traefik --disable metrics-server --disable local-storage --disable servicelb' \
    --local-path /tmp/config

# Install the other agent nodes
for i in "${!IP_ADDRESSES[@]}"; do
    if [ $i -ne 0 ]; then
        AGENT_IP=${IP_ADDRESSES[$i]}
        echo "Installing agent node: $AGENT_IP"
        k3sup join --ip $AGENT_IP --server-ip $MASTER_IP --user addo --k3s-channel $K3S_VERSION
    fi
done

echo "k3s cluster installation complete."

卸載集群

#!/bin/bash

# Read the list of IP addresses from the environment variable
IP_ADDRESSES=($HOSTS)

# Check if there is at least one IP address
if [ ${#IP_ADDRESSES[@]} -eq 0 ]; then
    echo "No IP addresses found. Please ensure the HOSTS environment variable is correctly set."
    exit 1
fi

# Clean up the master node
MASTER_IP=${IP_ADDRESSES[0]}
echo "Cleaning up master node: $MASTER_IP"
ssh -i ~/.ssh/id_rsa $MASTER_IP k3s-uninstall.sh

# Clean up the other agent nodes
for i in "${!IP_ADDRESSES[@]}"; do
    if [ $i -ne 0 ]; then
        AGENT_IP=${IP_ADDRESSES[$i]}
        echo "Cleaning up agent node: $AGENT_IP"
        ssh -i ~/.ssh/id_rsa $AGENT_IP k3s-agent-uninstall.sh
    fi
done

echo "k3s cluster cleanup complete."

參考資料

[1] Alfred Snippets: https://www.alfredapp.com/help/features/snippets/

[2] k3sup: https://github.com/alexellis/k3sup

責(zé)任編輯:武曉燕 來源: 云原生指北
相關(guān)推薦

2020-07-17 07:44:25

云計(jì)算邊緣計(jì)算IT

2017-03-30 19:28:26

HBase分布式數(shù)據(jù)

2023-03-27 09:40:01

GoWebAssembl集成

2018-06-28 14:00:01

分布式集群架構(gòu)

2017-02-21 13:00:27

LoadAverage負(fù)載Load

2018-07-31 16:10:51

Redo Undo數(shù)據(jù)庫數(shù)據(jù)

2020-05-21 19:46:19

區(qū)塊鏈數(shù)字貨幣比特幣

2017-07-06 08:12:02

索引查詢SQL

2018-06-26 05:23:19

線程安全函數(shù)代碼

2022-07-18 06:16:07

單點(diǎn)登錄系統(tǒng)

2020-03-31 12:50:34

樹莓派K3sKubernetes集

2020-07-09 07:37:06

數(shù)據(jù)庫Redis工具

2016-09-12 17:28:45

云存儲應(yīng)用軟件存儲設(shè)備

2018-12-12 22:51:24

Java包裝語言

2011-02-21 17:48:35

vsFTPd

2024-05-07 13:43:00

5G-A3CC通信

2025-04-18 08:47:22

2015-11-12 10:32:40

GitHub控制系統(tǒng)分布式

2018-03-27 09:28:33

緩存策略系統(tǒng)

2016-12-16 11:05:00

分布式互斥線程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

女女同性女同一区二区三区按摩| 日韩视频在线永久播放| 成人黄视频在线观看| 18一19gay欧美视频网站| 欧美日韩五区| 五月天综合网| 黄色成人在线免费| 精品欧美一区二区三区在线观看| 精品一区在线播放| 亚洲欧美成人一区二区三区| 999久久精品| 国产精品网站大全| 国产在线精品一区二区夜色 | 正在播放一区二区| 久久免费av| 嫩草av久久伊人妇女超级a| 正在播放一区二区| 国产精品黄色| 国产精品一二三区视频| 亚洲最大激情中文字幕| 视频直播国产精品| 一区二区三区欧美在线观看| 可以免费看不卡的av网站| 成人在线超碰| 老司机福利在线视频| 亚洲一卡二卡三卡四卡无卡网站在线看 | 99国产一区二区三精品乱码| 在线a免费看| 精品国产综合久久| 图片区小说区区亚洲影院| 全球av集中精品导航福利| 亚洲s色大片| 手机视频在线观看| 91精品中文在线| 日韩欧美在线看| 国产精品视频| 尤物视频网站在线观看| 91精品国产91久久久久青草| 国产亚洲成人一区| 国产精品一二三在线观看| 天天色天天爱天天射综合| 欧美va在线| 成人性生交大片免费看视频直播 | 成人在线视频www| 日本一区二区三区www| 一区二区三区美女视频| 国模大尺度视频一区二区| 在线观看欧美一区| 亚洲成人av在线播放| 国产精品一区二区99| 永久免费精品视频网站| 亚洲女与黑人做爰| 波多野结衣久久| av在线不卡一区| 黑人巨大精品欧美一区二区三区| 亚洲免费毛片| 成人免费观看www在线| 一区二区亚洲精品国产| 久久人人97超碰国产公开结果| 中文字幕在线观看| 国产精品露脸av在线| 国产精品久久免费看| 久久精品九色| 超碰在线公开超碰在线| 欧美极品欧美精品欧美| 亚洲欧美成人一区| 亚洲激情视频网站| 性伦欧美刺激片在线观看| 操你啦视频在线| 欧美亚州在线观看| 日本高清不卡视频| 精品久久久久久久| 国产成人艳妇aa视频在线| 亚洲成人免费视频| 亚洲大奶少妇| 成人午夜免费在线视频| 日韩欧美激情在线| 日韩在线观看| 午夜视频在线看| 天天做天天躁天天躁| 欧美激情18p| 久久综合综合久久综合| 日韩制服一区| 女人天堂在线| 国产午夜电影| 18禁裸男晨勃露j毛免费观看| 91在线|亚洲| 韩剧1988免费观看全集| 日韩欧美亚洲国产另类 | 亚洲优女在线| 污污软件在线观看| 四季av一区二区| 这里只有精品66| 国产在线视频2019最新视频| 精品国产一区久久| 国产日韩欧美一区二区三区综合 | 亚洲永久一区二区三区在线| 韩国三级电影久久久久久| 欧美美女bb生活片| 中文字幕欧美国产| 久久成人在线| 极品尤物一区| 亚洲第一区视频| 国产又爽又黄ai换脸| 国产精品久久久久久亚洲影视| 91精品福利在线一区二区三区 | 亚洲人精品午夜射精日韩| 91网站在线免费观看| 欧美性大战久久久| 国产亚洲欧美日韩日本| japanese国产精品| 一级在线免费视频| 91牛牛免费视频| 91传媒视频在线播放| 影视亚洲一区二区三区| 久久精品a一级国产免视看成人| 国产精品久久久久久久av大片| 色综合色综合色综合| 久久精品国产99国产精品| 中文日产幕无线码一区二区| 欧美日韩精品在线一区二区| 久久99久久99精品中文字幕| 亚洲精品亚洲人成人网| 日韩欧美电影| 最新国产在线观看| 亚洲国产精品一区二区第一页| 国产成人免费91av在线| 日韩一级裸体免费视频| 精品国产乱码久久久久久免费| 欧美特级www| 日韩久久99| 免费的av电影| 91视频国产高清| 欧洲人成人精品| 久久精品国语| 女人让男人操自己视频在线观看| 免费网站在线观看视频| 久久久久久91香蕉国产| 亚洲激情第一区| 久久av一区| 久操av在线| 欧美视频第一区| 国产精品jizz在线观看麻豆| 国产精品护士白丝一区av| 中文字幕一区二区三区乱码图片 | 欧洲人成人精品| 亚洲免费av高清| 国产片一区二区三区| 91视频.com| 99在线精品一区二区三区| 国产高清视频一区| 国产一区美女在线| 国产成人午夜精品5599| 成人一级片网址| 国产精品亚洲第一区在线暖暖韩国 | 91浏览器在线视频| 亚洲人人精品| 欧美.www| 欧美岛国激情| 国产亚洲成av人片在线观黄桃| 亚洲精华液一区二区三区| 黄色成人在线| 日本视频在线免费观看| 激情婷婷综合网| 日韩精品久久久| 成人h视频在线| 久久男人的天堂| 亚洲丁香婷深爱综合| 亚洲成va人在线观看| 94色蜜桃网一区二区三区| 麻豆精品久久精品色综合| 欧美特黄一区| 日本不卡二三区| 国产a久久精品一区二区三区 | 亚洲精品影院| 欧美激情中文字幕乱码免费| 欧美人与物videos| 国产视频久久久久久久| 欧美吻胸吃奶大尺度电影| 国产欧美日韩视频在线观看| 国产福利不卡视频| 亚洲免费大片| 国产一区一区| hd国产人妖ts另类视频| 综合视频一区| 性色一区二区三区| 国产夜色精品一区二区av| 成人黄色a**站在线观看| 日日骚欧美日韩| 国产成人午夜精品5599| 国产三级欧美三级日产三级99| 亚洲最新在线观看| 在线电影国产精品| 中文字幕在线观看亚洲| 国产福利视频一区二区| 亚洲午夜色婷婷在线| 日韩欧美国产综合| 欧美视频第一页| 亚洲视频在线一区| 丝袜美腿综合|