ubuntu に gcloud で minikube
をインストールする手順メモ
gcloud SDK と docker はインストール済みの想定
検証環境
Windows11 Home Edition (version 22H2) VirtualBox 7.0.6 vagrant 2.3.4 # Docker Host OS ubuntu 22.04.1 LTS Docker version 20.10.21, build baeda1f Google Cloud SDK 425.0.0
kubectl
, minikube
のインストール
$ gcloud components install kubectl $ gcloud components install minikube
minikube
の config 設定
$ minikube config set driver docker $ minikube config set memory 2500
minikube
の起動
$ minikube start
クラスターが作成された後、ノード確認
$ kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready control-plane 80s v1.26.1
minikube
の動作確認
テスト用のマニュフェストを作成
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 # tells deployment to run 2 pods matching the template template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
apiVersion: v1 kind: Service metadata: creationTimestamp: null name: my-lb spec: ports: - port: 8080 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer status: loadBalancer: {}
リソースを作成
$ kubectl apply -f k8s-nginx-deployment.yaml $ kubectl apply -f k8s-nginx-service.yaml
リソースの確認
$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-deployment-85996f8dbd-hmznb 1/1 Running 0 11m nginx-deployment-85996f8dbd-zwbnh 1/1 Running 0 11m $ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 2/2 2 2 11m $ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1h50m my-lb LoadBalancer 10.105.114.49 <pending> 8080:31196/TCP 11m
ブラウザでのアクセス
Windows からアクセスできるようにポートフォワードする
$ kubectl port-forward service/my-lb 8888:8080 --address=0.0.0.0 Forwarding from 0.0.0.0:8888 -> 80
ブラウザで http://192.168.33.10:8888 を開いて以下の画面が表示されるか確認
( 192.168.33.10
は minikube
が動作している ubuntu の IP アドレス)
リソースの削除
$ kubectl delete -f k8s-nginx-service.yaml $ kubectl delete -f k8s-nginx-deployment.yaml
minikube
の終了
$ minikube stop