Kubernetes 純手作部署在 Ubuntu 16.04

大約半年前,花了不少時間正式將 swarm 導入我們家的 production,而過了整整六個月後,因為要將原本的 swarm cluster 遷移到新的資料中心,但由於在重建(順便升級)的過程中實在中了太多的 Docker 1.12 後才推出的 swarm mode(Swarmkit) 的招,加上半年前導入 swarm 時踩到太多的坑,太多的悲情記憶和不眠的夜,讓我毅然決然的跳槽到 Kubernetes 的擁抱。至於 swarm,就先讓他的子彈再飛一會兒吧~

下面是部署 Google Kubernetes(k8s) 的筆記,適用在 Ubuntu 16.04 LTSsystemd,由於我是部署在 bare metal 的 server 上,而 k8s 的官方文件在 bare metal 的部署部分並沒有提及整個部署的步驟和細節,再加上目前很少有 Ubuntu 16.04 + systemd 的部署方式(官方文件只有支援 Ubuntu 14.04,也沒有 systemd 的設定),希望這篇文章可以幫助到很多最近嘗試才踏入 k8s 領域的朋友。

繼續閱讀

IPMI Reset Password at Physical Server in CoreOS 重置伺服器 IPMI 密碼

When you missing you IPMI Password, you still can reset the password using ipmi tool
當你忘記 IPMI 密碼的時候,除了硬體重置之外,還可以透過作業系統內安裝 ipmitool 來重置

Step
步驟

1.Install kernel module in CoreOS using root 啟動核心模組

sudo modprobe ipmi_msghandler
sudo modprobe ipmi_devintf
sudo modprobe ipmi_si```

2.Copy /usr/bin/toolbox to home 將 toolbox 執行擋複製回家目錄進行修改
cp /usr/bin/toolbox ~/dev-toolbox

3.Modify last line to mount /dev inside container 修改最後一行以掛載 /dev 目錄

From

sudo systemd-nspawn --directory="${machinepath}" --capability=all --share-system --bind=/:/media/root --bind=/usr:/media/root/usr --bind=/run:/media/root/run --user="${TOOLBOX_USER}" "$@"

To

sudo systemd-nspawn --directory="${machinepath}" --capability=all --share-system --bind=/:/media/root --bind=/usr:/media/root/usr --bind=/run:/media/root/run --bind=/dev:/dev --user="${TOOLBOX_USER}" "$@"

4.Execute dev-toolbox 執行修改過後的 dev-toolbox

chmod +x dev-toolbox
./dev-toolbox

It will take some time to pull container image, default is Fedora.

5.Install ipmitool 在容器內安裝 ipmitool
yum install ipmitool -y

6.Check which user id you want to change, the last number you need to try to fit your environment 確認你要修改的用戶編號,範例中的最後一位數是用戶列表號碼,需要測試
ipmitool user list 1

7.Change password. In this example we want to change user id 2 更改密碼,範例中的 2 是本次要修改的用戶編號
ipmitool user set password 2 SETTING_PASS