Raspberry Pi 4でKubernetes-OSセットアップ編-

オウルです。

今回はRaspberry Piで、マスターノート*1 + ワーカーノート*2構成のKubernetes cluster構築のOS(Ubuntu)セットアップ編です。

前回の記事はこちらです。

今回から操作端末のOSによって使用するツールが変わってきます。次がローカル環境です。

Client OS Windows10
ネットワーク 無線LAN・Wi-Fi

ネットワーク設定

まず、はじめに購入したBUFFALO コンパクト無線LAN親機(以降、コンパクト無線LAN親機)をセットアップします。

コンパクト無線LAN親機

次の順序で進めていきます。

  1. コンパクト無線LAN親機の電源ON
  2. 操作端末の右下のネットワークから、1のSSID(2.4GHz:Buffalo-G-XXXX、5GHz:Buffalo-A-XXXX)を選択して接続
  3. ブラウザからhttp://192.168.13.1/にアクセス

管理コンソールから設定ウィザードに従ってコンパクト無線LAN親機が接続するネットワーク(SSID)を設定します。

管理コンソール

設定が完了したらipconfig/allなどで確認してみましょう。

OSイメージ

次に、Raspberry Pi Imagerを使って購入したmicroSDにUbuntuのOSイメージを書き込んでいきます。

Raspberry Pi Imager

Raspberry Piの公式ドキュメントにあるSetting up your Raspberry PiSet up your SD cardに従ってRaspberry Pi Imagerダウンロードします。

Ubuntu 20.04 LTS 64-bit server OSを選択します。microSD*3枚分の書き込みが終わるまでしばらく待ちます。

Raspberry Pi Imager
Raspberry Pi Imager

Wi-Fiでセットアップ

Raspberry Pi Imagerで作成したmicroSD経由でブートするとDHCP(192.168.13.2 から64台)になるようにWi-Fi資格情報(BUFFALO コンパクト無線LAN親機)を追加します。microSDにあるnetwork_configに次の設定を追加します。

cgroup サブシステム memory

cgroupサブシステムmemoryを有効にしておきます。これを有効にしていないと次回予定しているdockerやkubeadmのinitで失敗します。

microSDのcmdline.txtに次を追加します。

Raspberry Pi起動

microSDをRaspberry Piに差し込んで、Raspberry Piの電源を入れます。次の順序でmicroSD*3のUbuntu Serverをセットアップしていきます。

  1. IPアドレス
  2. SSH接続・SSH公開鍵認証
  3. 日本時間に設定
  4. 静的IPアドレスの割り当て
  5. ホスト名を変更
  6. cgroup サブシステム

Ubuntu Server

IPアドレス

操作端末からarp -aコマンドを実行して起動したRaspberry PiのIPアドレスを探します。

192.168.13.1 BUFFALO 無線LAN親機
192.168.13.2 操作端末
192.168.13.2 から64台 割り当てDHCP※192.168.13.2は操作端末

pingで疎通確認してみましょう。

前回記事のイメージにIPアドレスを追加しました。こんな感じに設定していきます。

ネットワークのイメージ図

SSH接続

特定したRaspberry PiのIPアドレスにSSH接続します。

パスワード変更後に一度接続が切れるので、新しいパスワードで接続します。

ssh 公開鍵認証

パスワード認証を無効にして公開鍵認証に変更します。

日本時間に設定

静的IPアドレスの割り当て

ホスト名を変更

cgroup サブシステム

これでOSセットアップは一旦完了です。Kubernetes cluster作成の前提条件としてSwapの無効、iptablesの設定とまだOSセットアップは残っていますが、それは次回とします。

「Raspberry Pi 4でKubernetes」シリーズ
  1. Raspberry Pi 4でk8s-パーツ購入編-
  2. Raspberry Pi 4でk8s-OSセットアップ編-
  3. Raspberry Pi 4でk8s-k8s cluster編-

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA