エンジ部ログ

エンジニアもすなるブログというものを、

kubernetesminikubeサーバー

minikubeのチュートリアル(WSL-Ubuntu20.04LTS)

minikubeを使ってkubernetesクラスタの簡単な使い方の流れを追ってみました。minikubeはローカル環境でKubernetesを簡単に実行するためのツールです。今回はWindowsに入っているWSL上でminikubeをインストールして、動作を確認しました。

動作環境

  • OS : Windows10
  • WSL2使用
  • linuxイメージ : Ubuntu20.04LTS

手順

  • 事前準備
  • クラスターの起動
  • minikube dashboardを開く
  • Deploymentの作成
  • Serviceの作成
  • Addonの有効化
  • 後片付け

目的

  • minikubeへのサンプルアプリケーションのデプロイ
  • アプリケーションの実行
  • アプリケーションのログ確認

事前準備

  • minikubeコマンドのセットアップ

    $ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
    $ sudo dpkg -i minikube_latest_amd64.deb
    
  • kubectlコマンドのセットアップ

クラスターの起動

$ minikube start

Dashboardを開く

  • 新しいターミナルを開いて下記のコマンドを実行する
    # Start a new terminal, and leave this running.
    $ minikube dashboard
    
  • 元のターミナルに戻る

Deploymentの作成

  • Podを扱うDeploymentを生成する。

    # Run a test container image that includes a webserver
    $ kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080
    
  • Deploymentの確認

    $ kubectl get deployments
    
  • Podの確認

    $ kubectl get pods
    
  • cluster eventsの確認

    $ kubectl get events
    
  • kubectl configurationの確認

    $ kubectl config view
    
  • Pod内のコンテナで実行されているapplication logsの確認

    $ kubectl logs hello-node-xxx
    

Serviceの作成

  • デフォルトではPodはKubernetesクラスターの内部IPでしかアクセスできない。コンテナを外部からアクセスするにはPodをKubernetes Serviceとしてさらす必要がある。

    • Podを外部ネットワークに晒す

      $ kubectl expose deployment hello-node --type=LoadBalancer --port=8080
      
      • –type=LoadBalancer オプションによってServiceをクラスタ外部に晒すことができる
    • 作成したServiceを確認する

      $ kubectl get services
      
      NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
      hello-node   LoadBalancer   10.108.144.78   <pending>     8080:30369/TCP   21s
      kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          23m
      
      • minikubeではLoadBalancer typeのサービスはminikube service コマンドを通してサービスにアクセス可能にする

Addonの有効化

  • 現在サポートされているaddonの一覧表示
    $ minikube addons list
    
  • addonを有効化する。今回はmetrics-serverを対象にする
    $ minikube addons enable metrics-server
    
  • addonをインストールして出来たPodやServiceを確認する
    kubectl get pod,svc -n kube-system
    

後片付け

  • serviceとdeploymentを削除する
    $ kubectl delete service hello-node
    $ kubectl delete deployment hello-node
    
  • Minikube clusterを停止する
    $ minikube stop
    
  • (Option) Minikubeクラスターの削除
    # Optional
    $ minikube delete
    

参考文献一覧

  • https://kubernetes.io/docs/tutorials/hello-minikube/

コメントを残す

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

CAPTCHA