K8S ? K3S 盒让!

K8S ? K3S !

K8S 那么麻煩為什么不用 K3S?
本文適合 :

  • 想擺脫 K8S 復(fù)雜安裝又不得不用 K8S 的開發(fā)者
  • 服務(wù)器配置不夠跑 K8S 的開發(fā)者
  • 物聯(lián)網(wǎng)開發(fā)者
  • 需要最低學(xué)習(xí)成本使用容器編排的開發(fā)者
  • 初學(xué) K8S 的新手

K3S

  • 更輕澈圈、更簡單的 K8S
  • 設(shè)計(jì)給物聯(lián)網(wǎng)設(shè)備和邊緣側(cè)計(jì)算使用
  • 邊緣側(cè)都能用服務(wù)器用了還不直接起飛?- 魯迅

踩坑開始

歪比歪比(奇怪的服務(wù)器)

服務(wù)器選擇我熟悉的 Centos

內(nèi)核要求: 3.10.0 也就是阿里云和騰訊云的官方 Centos7.7 / Centos7.6

  1. Centos8 不用嘗試了 iptables 的版本太高
  2. 其他內(nèi)核使用前用 k3s check-config 命令檢查
  3. 所有節(jié)點(diǎn)機(jī)器要在同一個內(nèi)網(wǎng)環(huán)境下,這是K3S的一個bug,集群會以 endpoint 進(jìn)行連接,而云服務(wù)器的 endpoint 是內(nèi)網(wǎng)ip(阿里云經(jīng)典網(wǎng)絡(luò)應(yīng)該不是 暫未測試)
  4. 主機(jī)名帶下劃線在 k3s 異常
export K3S_NODE_NAME=${HOSTNAME//_/-}

將下劃線替換成中劃線提供給 k3s 安裝腳本

K3S內(nèi)置 Containerd 但是帆啃!作為一個服務(wù)器使用自然是要用常見的一點(diǎn)的容器 Docker

curl https://download.daocloud.io/docker/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
curl -fsSL https://get.daocloud.io/docker | bash -s docker --mirror Aliyun
  • Docker 安裝和配置加速器(國內(nèi)源):
  • containerd.io 版本低:
yum -y install https://download.daocloud.io/docker/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
  • 加速器配置:
sudo mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 開機(jī)啟動
sudo systemctl enable docker

歪比巴卜(K3S 的勝利)

K3S Server 安裝

就這么寫瞬女!都是一點(diǎn)一點(diǎn)查到的經(jīng)驗(yàn)!

export K3S_NODE_NAME=${HOSTNAME//_/-}
export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=1-65000 --no-deploy traefik --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
  • --docker使用docker
  • --kube-apiserver-arg service-node-port-range=1-65000節(jié)點(diǎn)端口范圍1-65000
  • --no-deploy traefik不安裝traefik (后續(xù)用 rancher )
  • --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666設(shè)置kube配置文件到~/.kube/config(和 k8s 路徑一致后續(xù)會少出問題)

安裝 nfs

所有機(jī)器:

#所有 node 節(jié)點(diǎn)安裝 nfs 客戶端
yum -y install nfs-utils
systemctl start nfs && systemctl enable nfs

nfs主機(jī):

#master節(jié)點(diǎn)安裝nfs
yum -y install nfs-utils

#創(chuàng)建nfs目錄
mkdir -p /nfs/data/

#修改權(quán)限
chmod -R 777 /nfs/data

#編輯export文件
tee /etc/exports <<-'EOF'
/nfs/data *(rw,no_root_squash,sync)
EOF

#配置生效
exportfs -r

#啟動rpcbind努潘、nfs服務(wù)
systemctl restart rpcbind && systemctl enable rpcbind
systemctl restart nfs && systemctl enable nfs

K3S Server 信息

agent 加入集群需要使用

echo "export K3S_TOKEN=$(cat /var/lib/rancher/k3s/server/node-token)"
echo "export K3S_URL=https://$(ifconfig eth0 |grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"):6443"

K3S agent

同 server 安裝參數(shù)诽偷,需要先獲取到 server 的 K3S_TOKEN 和 K3S_URL

export K3S_TOKEN=XXXXXX
export K3S_URL=XXXXXX
export K3S_NODE_NAME=${HOSTNAME//_/-}
export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=1-65000 --no-deploy traefik --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

一大波僵尸即將來襲( rancher 安裝)

rancher 版本: Rancher2.3+

docker run -d -v /data/docker/rancher-server/var/lib/rancher/:/var/lib/rancher/ --restart=unless-stopped --name rancher-server -p 9443:443 rancher/rancher:stable
echo https://$(curl http://ip.cip.cc/):9443
  • 主機(jī) 9443 端口代理 rancher https 使用的 443 端口
  • rancher 界面直接導(dǎo)入 K3S 集群, 把 K3S 集群當(dāng)成 K8S 使用

Docker + K3S + nfs 客戶端 一鍵安裝腳本

#!/bin/sh
set -e
# 在線安裝腳本

# k3s 不建議安裝swap 系統(tǒng)內(nèi)存小的時候沒有swap會卡死
if [ ! -f "/var/swap" ];then
    echo "create swap"
    dd if=/dev/zero of=/var/swap bs=1024 count=8192000
    mkswap /var/swap
    mkswap -f /var/swap
    swapon /var/swap
    echo  "/var/swap swap swap defaults 0 0" >>  /etc/fstab
fi

# 判斷是否安裝 docker
if [ `command -v docker` ];then
    echo 'docker has installed'
else
    echo 'install docker'
    curl https://download.daocloud.io/docker/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    yum -y install https://download.daocloud.io/docker/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
    curl -fsSL https://get.daocloud.io/docker | bash -s docker --mirror Aliyun
    # centos7 的內(nèi)核經(jīng)過 k3s 檢查都有這個問題
    grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
fi
# 添加加速源
sudo mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
EOF
# 啟動
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker

# 判斷是否安裝k3s
if [ `command -v k3s` ];then
    echo 'k3s has installed'
else
    # 本地安裝k3s其他參數(shù)通過外部傳入
    # 下劃線節(jié)點(diǎn)名不被支持
    export K3S_NODE_NAME=${HOSTNAME//_/-}
    export INSTALL_K3S_EXEC="--docker --kube-apiserver-arg service-node-port-range=1-65000 --no-deploy traefik --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"
    curl -sfL https://docs.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
fi

#所有node節(jié)點(diǎn)安裝nfs客戶端
yum -y install nfs-utils
systemctl start nfs && systemctl enable nfs
echo 'finish'
echo 'need reboot'
echo "export K3S_TOKEN=$(cat /var/lib/rancher/k3s/server/node-token)"
echo "export K3S_URL=https://$(ifconfig eth0 |grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"):6443"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市疯坤,隨后出現(xiàn)的幾起案子报慕,更是在濱河造成了極大的恐慌,老刑警劉巖压怠,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眠冈,死亡現(xiàn)場離奇詭異,居然都是意外死亡菌瘫,警方通過查閱死者的電腦和手機(jī)蜗顽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雨让,“玉大人雇盖,你說我怎么就攤上這事∑苤遥” “怎么了崔挖?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長庵寞。 經(jīng)常有香客問我虚汛,道長,這世上最難降的妖魔是什么皇帮? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任卷哩,我火速辦了婚禮,結(jié)果婚禮上属拾,老公的妹妹穿的比我還像新娘将谊。我一直安慰自己冷溶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布尊浓。 她就那樣靜靜地躺著逞频,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栋齿。 梳的紋絲不亂的頭發(fā)上苗胀,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機(jī)與錄音瓦堵,去河邊找鬼基协。 笑死,一個胖子當(dāng)著我的面吹牛菇用,可吹牛的內(nèi)容都是我干的澜驮。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼惋鸥,長吁一口氣:“原來是場噩夢啊……” “哼杂穷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起卦绣,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤耐量,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后滤港,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拴鸵,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年蜗搔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片八堡。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡樟凄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兄渺,到底是詐尸還是另有隱情缝龄,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布挂谍,位于F島的核電站叔壤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏口叙。R本人自食惡果不足惜炼绘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妄田。 院中可真熱鬧俺亮,春花似錦驮捍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至本讥,卻和暖如春珊泳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拷沸。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工色查, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人堵漱。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓综慎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親勤庐。 傳聞我的和親對象是個殘疾皇子示惊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容