lvncerpedia

k8s SETUP

Kubernetes(K8s)を実行する方法はいくつかあります。 ローカル環境で試す方法と、本番環境向けのクラウド上で動かす方法があります。

1. ローカル環境で Kubernetes を実行する

ローカル PC で K8s を動かす場合、以下の方法が一般的です。

(1) Minikube(初心者向け)

Minikube は、Kubernetes のシングルノードクラスタをローカル PC で実行するためのツールです。

インストール

Minikube をインストール(OS に応じて選択)。 公式サイトを参照。

Mac なら

brew install minikube

Windows なら

choco install minikube

Linux なら

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

Minikube を起動

minikube start

これでローカルに Kubernetes クラスタが作成される。

クラスタの状態確認

kubectl get nodes

minikube というノードが表示されれば成功!

Pod のデプロイ(例: Nginx)

kubectl create deployment my-nginx --image=nginx

Service を作成して公開

kubectl expose deployment my-nginx --type=NodePort --port=80
minikube service my-nginx

これでローカルの Kubernetes クラスタで Nginx が起動し、ブラウザでアクセスできる。

(2) Kind(Docker ベースで K8s を動かす)

Kind(Kubernetes IN Docker)は、Docker コンテナの中で K8s を動かすツールです。

インストール

Kind をインストール

Mac なら

brew install kind

Linux なら

GO111MODULE="on" go get sigs.k8s.io/kind@v0.17.0

クラスタ作成

kind create cluster --name my-cluster

これで Docker コンテナの中に Kubernetes クラスタが作成される。

ノード確認

kubectl get nodes

(3) Docker Desktop(手軽に試したい場合)

Docker Desktop にも Kubernetes の機能が内蔵されており、設定を有効化するだけで動かせる。 手順

Docker Desktop をインストール

Docker 公式サイトからダウンロード

Kubernetes を有効化

Docker Desktop の設定 → "Enable Kubernetes" にチェックを入れる

起動確認

kubectl get nodes

2. クラウド環境で Kubernetes を実行する

本番環境では、クラウド上で K8s を運用するのが一般的。 各クラウドベンダーが Kubernetes を簡単に使えるサービスを提供している。

クラウドサービス名コマンド例
AWSAmazon EKSeksctl create cluster
GCPGoogle Kubernetes Engine (GKE)gcloud container clusters create
AzureAzure Kubernetes Service (AKS)az aks create

例えば、GKE を使う場合:

gcloud container clusters create my-cluster --num-nodes=3

このコマンドで、GCP 上に Kubernetes クラスタが立ち上がる。

3. Kubernetes クラスタの管理

K8s を動かしたら、基本的な操作を覚えておくと便利。

クラスタの情報を確認

kubectl cluster-info

ノード一覧を取得

kubectl get nodes

デプロイメントを作成

kubectl create deployment my-app --image=nginx

Pod の一覧を取得

kubectl get pods

Pod のログを確認

kubectl logs <POD 名>

Pod にアクセス(デバッグ用)

kubectl exec -it <POD 名> -- /bin/sh

まとめ

ローカル環境で試すなら

  • Minikube(初心者向け、簡単)
  • Kind(Docker を活用)
  • Docker Desktop(簡単に K8s を試したい場合)

クラウドで運用するなら

  • AWS EKS
  • GCP GKE
  • Azure AKS

まずは Minikube や Docker Desktop でローカル環境を作って試し、慣れてきたらクラウドで本番運用するのがおすすめ!