この記事は
他の記事を参考にしながら構築していったのでメモを残しておきます。
参考にしました
Oracle Cloudの無料枠でKubernetesクラスタを構築する(完全版) | blog.potproject.net
無料で自分だけのオンラインストレージを建てる(Oracle Cloud)
つよつよスペックの無料枠って?
2021/6現在、
- VM.Standard.A1.Flexを4 OCPU/24 GBまで自由に割り当て可能
- 2CPU12GB + 1CPU6GB + 1CPU6GB とか、2CPU12GB + 2CPU12GBとかもできる
- Public IPアドレス3つまで(エフェメラル2+予約済み1)可能
- Block Volume合計200GBまで(ただしVM1つにつき50GB使われる)可能
という太っ腹仕様。
VPS換算にすると数千円レベル。
ちなみにVM.Standard.A1.FlexはarmベースなのでM1 Macのように一部制約が出てきます。
(これはまた別の記事で)
Oracle Cloud SignUp
東京リージョンは激戦区らしいので大阪リージョンで。
Optional項目も埋めないとsubmitできない箇所があった。(どこかは覚えていない)
VMインスタンスを作る
上記を2つ(master用、worker用)にした。
なかなか取得できないが、他の作業しながら1時間に1回程度チャレンジしたらなんとかその日のうちに取得できた。
kubernetesのクラスタを組みたいのでネットワークは同じものを選択。
(一度間違えて別にして作り直した)
Block Volumeを作る
無料枠は200GBまでで、VMインスタンス1つにつき50GBのboot volumeが確保されるらしいので、残りは100GB。
masterにattachするつもりで100GBのものを1つ作成した。
作成したBlock volumeをVM instanceにattach
master用にattach。
無料で自分だけのオンラインストレージを建てる(Oracle Cloud)
の手順6までを参考にする。
このあたりの設定のやり方はほぼ忘れているのでありがたい...
kubenetes構築
Oracle Cloudの無料枠でKubernetesクラスタを構築する(完全版) | blog.potproject.netを参考にして構築。
手順通り進めると
sudo apt-get install -y kubelet kubeadm kubectl
のあたりで
Installing kubeadm · Issue #25174 · kubernetes/website · GitHub
と同じ問題が発生してコケた。(正確には、その前のsudo apt-get updateでコケてる)
これは、
sudo apt remove apt-transport-https sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl
のように一旦apt-transport-httpsをアンインストールすれば進められた。
あとは、参考にした記事の後の方に書いてあるが、
workerノードでkubeadm joinする前にOracle Cloudで10.0.0.0/16の全ての通信を許可しておかないとjoinできない。(当たり前体操)
おわり
これでkubeadmを利用したkubernetesクラスタ(といってもワーカー1つだけど)構築完了。