コンテナとストレージの関係を整理するべく、まずはDockerとMinikubeで環境を構築。
本当は丸ごとVMに作っておけばいいのですが、オフライン環境のラボでWifiルーターだけが頼りの環境だとVM上のOSにUSBルーター経由でインターネット接続が出来ず、直接サーバー上に入れたり消したりしているので、忘れないようにメモ。
環境
サーバー:Supermicro 1029P
OS:Ubuntu20
KB:Happy Hacking Pro2(関係ない)
1、準備
2、Dockerインストール&non-rootで動くようにする
3、Minikubeインストール
#1、準備
まず古いDockerがあったら消さないと、訳が分からなくなります。
$sudo apt-get remove docker docker-engine docker.io containerd runc
クリーンインストール後の場合、まずはUbuntuのアップデートとパッケージ類をインストール
$sudo apt-get update
$sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release \
openssh-server
#2、Dockerインストール
curlでDocker関連を落とす
$curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
設定ごにょごにょ
$echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
インストール前のupdate
$sudo apt-get update
インストール開始
$sudo apt-get install docker-ce docker-ce-cli containerd.io
しばしコーヒーブレイク
動作テスト
$sudo docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
と出たらOK!
このままだとroot権限が必要なので、non-rootで動くようにする
$sudo groupadd docker
$sudo usermod -aG docker $USER
$reboot
再起動後sudo無しで実行して問題なければOK
$docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
#3、Minikubeインストール
以下参照
https://minikube.sigs.k8s.io/docs/start/
curlを使ってごそっと頂いてきてインストール
$curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
$sudo dpkg -i minikube_latest_amd64.deb
起動
$minikube start
次にpodsをダウンロードします。
minikubeコマンドの後にkubectlコマンド。
$minikube kubectl -- get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-74ff55c5b-fhw5g 1/1 Running 0 5m1s
kube-system etcd-minikube 1/1 Running 0 5m10s
kube-system kube-apiserver-minikube 1/1 Running 0 5m10s
kube-system kube-controller-manager-minikube 1/1 Running 0 5m10s
kube-system kube-proxy-mpq7s 1/1 Running 0 5m1s
kube-system kube-scheduler-minikube 1/1 Running 0 5m10s
kube-system storage-provisioner 1/1 Running 0 5m15s
直接kubectlでやりたいので、snapでclassicオプションを入れてkubectlをインストール。
$sudo snap install --classic kubectl
$kubectl get po -A
これで、環境は整いました。
ここからPersistentVolumeとかpodとかを作っていきます。
あと、ダッシュボードを出したりすると、周囲にやってる感をアピールできますね!
$minikube dashboard
とりあえずここまで。