Arch Linux で Minikube を使用して Kubernetes クラスターをセットアップする方法

Kubernetes は、コンテナー化されたアプリケーションを自動的にデプロイ、スケーリング、および管理できる無料のオープンソース プラットフォームです。 Docker、containerd、CRI-O、および Kubernetes CRI (Container Runtime Interface) の実装など、さまざまなコンテナー ランタイムをサポートしています。 Kubernetes は、デプロイ、ロールアウト、サービス ディスカバリ、ストレージ プロビジョニング、負荷分散、自動スケーリングなど、いくつかのコンテナ関連のタスクを自動化します。

この投稿では、Arch Linux に Kubernetes をインストールする方法を紹介します。

前提条件

  • Your self Cloud Platform 上の最新の Arch Linux サーバー
  • サーバーで設定された root パスワード
  • Cloud Server には少なくとも 2 つの vCPU と 2GB の RAM が必要です

ステップ 1 – 自分のクラウド サーバーを作成する

まず、あなたのあなた自身のクラウドサーバー. 少なくとも 2GB の RAM を搭載したオペレーティング システムとして Arch Linux を選択して、新しいサーバーを作成します。 SSH 経由でクラウド サーバーに接続し、ページの上部で強調表示されている資格情報を使用してログインします。

ステップ 2 – リポジトリの構成

デフォルトでは、Arch Linux のデフォルト リポジトリは古いため、デフォルトのミラー リストを変更する必要があります。 mirrorlist 構成ファイルを編集することで、これを行うことができます。

                nano  /etc/pacman.d/mirrorlist
              

すべての行を削除し、次の行を追加します。

                ## Score: 0.7, United States
Server = https://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
## Score: 0.8, United States
Server = https://lug.mtu.edu/archlinux/$repo/os/$arch
Server = https://mirror.nl.leaseweb.net/archlinux/$repo/os/$arch
## Score: 0.9, United Kingdom
Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch
## Score: 1.5, United Kingdom
Server = https://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch
Server = https://archlinux.dcc.fc.up.pt/$repo/os/$arch
## Score: 6.6, United States
Server = https://mirror.cs.pitt.edu/archlinux/$repo/os/$arch
## Score: 6.7, United States
Server = https://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch
## Score: 6.8, United States
Server = https://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
## Score: 7.1, India
Server = https://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
## Score: 10.1, United States
Server = https://mirrors.xmission.com/archlinux/$repo/os/$arch

              

ファイルを保存して閉じ、次のコマンドですべてのパッケージ インデックスを更新します。

                pacman -Syu
              

ステップ 3 – Docker エンジンをインストールする

Kubernetes では、Docker Engine をサーバーにインストールする必要があります。 インストールされていない場合は、次のコマンドでインストールできます。

                pacman -S docker
              

Docker をインストールしたら、次のコマンドを使用して Docker サービスを有効にします。

                systemctl enable docker
              

次に、システムを再起動して変更を適用します。

                reboot
              

ステップ 4 – Minikube をインストールする

Minikube は、ローカル開発用の Kubernetes クラスターをデプロイする簡単な方法を提供します。 デフォルトでは、Minikube パッケージは Arch Linux のデフォルト リポジトリで利用できます。 次のコマンドでインストールできます。

                pacman -S minikube
              

インストールが成功したら、次のコマンドで Minikube を起動します。

                minikube start --force
              

このコマンドは、サーバー上にローカルの Kubernetes クラスターをセットアップします。

                😄  minikube v1.28.0 on Arch  (kvm/amd64)
❗  minikube skips various validations when --force is supplied; this may lead to unexpected behavior
✨  Automatically selected the docker driver. Other choices: ssh, none
🛑  The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
💡  If you are running minikube within a VM, consider using --driver=none:
📘    https://minikube.sigs.k8s.io/docs/reference/drivers/none/
📌  Using Docker driver with root privileges
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
💾  Downloading Kubernetes v1.25.3 preload ...
    > preloaded-images-k8s-v18-v1...:  385.44 MiB / 385.44 MiB  100.00% 40.76 M
    > gcr.io/k8s-minikube/kicbase:  386.27 MiB / 386.27 MiB  100.00% 26.76 MiB 
    > gcr.io/k8s-minikube/kicbase:  0 B [________________________] ?% ? p/s 10s
🔥  Creating docker container (CPUs=2, Memory=2200MB) ...
🐳  Preparing Kubernetes v1.25.3 on Docker 20.10.20 ...
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔎  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: default-storageclass, storage-provisioner
💡  kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

              

ステップ 5 – Kubernetes クラスターを確認する

次のコマンドを使用して、Kubernetes クラスターを確認できるようになりました。

                minikube kubectl -- get pods -A
              

次の出力が得られるはずです。

                    > kubectl.sha256:  64 B / 64 B [-------------------------] 100.00% ? p/s 0s
    > kubectl:  42.93 MiB / 42.93 MiB [------------] 100.00% 45.96 MiB p/s 1.1s
NAMESPACE     NAME                               READY   STATUS    RESTARTS      AGE
kube-system   coredns-565d847f94-2dq5q           1/1     Running   0             54s
kube-system   etcd-minikube                      1/1     Running   0             66s
kube-system   kube-apiserver-minikube            1/1     Running   0             67s
kube-system   kube-controller-manager-minikube   1/1     Running   0             66s
kube-system   kube-proxy-g7w2q                   1/1     Running   0             54s
kube-system   kube-scheduler-minikube            1/1     Running   0             67s
kube-system   storage-provisioner                1/1     Running   1 (23s ago)   65s

              

ノードに関する情報を取得するには、次のコマンドを使用します。

                minikube kubectl -- get nodes -A
              

次の出力が得られます。

                NAME       STATUS   ROLES           AGE    VERSION
minikube   Ready    control-plane   109s   v1.25.3

              

ステップ 6 – Minikube ダッシュボードにアクセスする

デフォルトでは、Minikube ダッシュボードは無効になっているため、最初に有効にする必要があります。

次のコマンドを実行して、Minikube ダッシュボードを有効にします。

                minikube dashboard
              

次のコマンドで Minikube URL を取得できるようになりました。

                minikube dashboard --url
              

次の出力に Minikube URL が表示されます。

                🤔  Verifying dashboard health ...
🚀  Launching proxy ...
🤔  Verifying proxy health ...
https://127.0.0.1:38999/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

              

Minikube ダッシュボードが有効になり、ポートでリッスンするようになりました38999ローカルホストで。 Minikube ダッシュボードには、ローカルホストからのみアクセスできます。 リモート システムから Minikube ダッシュボードにアクセスするには、SSH ポート転送方式を使用する必要があります。

Linux デスクトップ システムにログインし、次のコマンドを使用して SSH ポートを転送します。

                ssh -L 38999:127.0.0.1:38999 -fN [email protected]
              

SSH ポート フォワーディングを有効にするために、サーバーのルート パスワードを入力するよう求められます。

Web ブラウザーを開いて、URL を使用して Minikube ダッシュボードにアクセスできるようになりました。https://127.0.0.1:38999/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/.次の画面に Minikube ダッシュボードが表示されます。

結論

このチュートリアルでは、Arch Linux 8 に Minikube を使用して Kubernetes クラスターをインストールする方法を説明しました。これで、このチュートリアルに従って、ローカル開発用の Kubernetes クラスターをデプロイできます。 また、あなた自身から専用サーバー ホスティングに Kubernetes をデプロイすることもできます。