オフにする必要がある。しておくと良いだろう。最初にバリデーションが走るので何か問題があれば事前に教えてくれる。中途半端に構築されてしまうと面倒なのでdry-runオプションで動作は事前に確認しておくと安心。Workerのセットアップはmasterセットアップ時にgetしたtokenを使ってセットアップしていく。cri-oの設定も必要なのでcri-socketのオプションをMasterと同様に追加する。ciliumのCNIプラグインを適用するcri-o用のプラグインも提供されているのでこれを適用する。MetalLBの構築MetalLBのマニフェストからControllerとSpeakerがインストールできる。設定はConfigMapで管理できる。構築後に作成しても、Speakerが変更を検出して再読み込みしてくれる。ここでは、BGPルータ無いので、L2な設定を選択。DHCPの範囲外を指定している。Argoに移行することにした。このArgoというのは、CloudflareのCDN経由で、トンネルを貼った先にアクセスできるサービス。CDN通せるので早いというメリットがある。$0.10/GBのため個人利用しやすい。トンネルを貼る先はHTTPでもSSHでもよい。HTTPの方はよく記事があるので、ここではSSHの設定をのせていく。有効にすると、Tunnelも利用できるようになる。利用にはcloudflaredが必要なので、該当バイナリをココからダウンロードする。実行するとブラウザからどのサービスとtunnelするかを確認できる。認証に成功すると、証明書が保存される。常に手動でトンネルを貼ることはできないので、Systemdで起動できるようにServiceを作成する。コマンドがあるのでこれを使っていく。コピーし、この設定ファイルを読み込むService作成する。コマンドをインストールする。以下のような設定を追加する。Accessを使うとアクセス制限を設定することができる。5ユーザまでは$3/monthなのでご家庭用には3ドルで十分。色々な設定ができるが、今回は先ほどのGifアニメーションの通りで、SSHの前段にGitHub認証を挟んだ。設定はGUIからAccessPolicyをぽちぽちするだけ。注意点としては、サブドメインにWildcardは使えないことくらい。Organizationを作成してそのOrganizationに対してアクセスを許可するようにした。GitHub側ではAuthAppを作成してCloudflareを設定する形になる。v1.15.2にアップグレードされたクラスタ4月に構築したときはk8sの最新バージョンがv1.14だったが、8月5日にはv1.15.2もリリースされた。Kubernetesのドキュメントには親切にもアップデート方法も書かれているのでこの通りに進めていく。kubeadmによるk8s本体のアップグレードは今回特にハマらなかった。どちらかというと上にのっているリソースを確認してバージョンに合わせて修正する方に時間がかかる。CNIプラグインのアップグレードCiliumの公式サイトにはアップグレードガイドがあり、アップグレード前にすべきことも書かれている。読み落として壊しかけてしまった。今回は設定ファイルに変更があるため、事前にConfigMapの修正が必要だった。Play应用(APK)的方法。