Minikubeとは
Minikubeでは仮想化ソフトウェアを使ってLinuxがインストールされた仮想マシンを作成し、そこでKubernetesクラスタを動作させることができるツールです。Nodeは一つしか建てられないですがローカル環境でKubernetesをすぐに使うことができます。
brewを使うと簡単にインストールできます。
$ brew cask install minikube
Minikubeの実行
まずはMinikubeを立ち上げます。停止、削除は使い終わったら実行してください。
// clusterの起動 $ minikube start // ダッシュボードの起動 $ minikube dashboard // clusterの停止 $ minikube stop // clusterの削除 $ minikube delete
Minikubeにはclusterの状態を確認できるダッシュボード機能があるので使うときは起動しとくといいと思います。こんな感じです。

kubectlのインストール
まずはgcloudをインストールします。
$ curl https://sdk.cloud.google.com | bash $ source ~/.bash_profile $ gcloud init
gcloudを使ってkubectlをインストールします。
$ gcloud components install kubectl
kubectlでDeploymentを立ち上げる
kubectlを使ってcluster内にNginxを立ち上げてみます。
$ kubectl run nginx --image=nginx:latest --port=80
ダッシュボードでDeploymentが立ち上がったのが確認できます。

kubectlでServiceを立ち上げる
このままでは外部からアクセス出来ないのでServiceを立ち上げます。表示されたurlにアクセスしてNginxにアクセスできたら完了です。
// serviceの作成 $ kubectl expose deployment nginx --type=LoadBalancer // エンドポイントの確認 $ minikube service nginx --url http://192.168.99.100:32360
Cluster内のコンテナにアクセスする
minikube docker-envでアクセスするための情報が確認でき、evalでそのまま適応できるので実行します。
$ minikube docker-env export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/Users/tomokazukozuma/.minikube/certs" export DOCKER_API_VERSION="1.23" # Run this command to configure your shell: # eval $(minikube docker-env) $ eval $(minikube docker-env)
docker psでnginxのコンテナを確認します。あとはいつも通りdocker execコマンドを使います。
// コンテナを確認 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 24851e87d50c nginx "nginx -g 'daemon of…" 8 minutes ago Up 8 minutes k8s_nginx_nginx-6bfb654d7c-q2ksh_default_7d9cec25-58a4-11e8-b16b-0800279d537b_0 9919d4de6206 k8s.gcr.io/pause-amd64:3.1 "/pause" 8 minutes ago Up 8 minutes k8s_POD_nginx-6bfb654d7c-q2ksh_default_7d9cec25-58a4-11e8-b16b-0800279d537b_0 // コンテナにログイン $ docker exec -it 24851e87d50c bin/bash root@nginx-6bfb654d7c-q2ksh:/#
おすすめ書籍
Dockerの使い方から説明されているので初心者の方も安心して学べる書籍です。
Kubernetesに関してはPod, Service, Deploymentなどを順を追って説明し、実際に動かすところまでを解説しているので非常に実践的な内容となっています。
これからKuebernetesを使ってサービスを開発してみたい方にとって最初のよい手助けとなると思います。是非読んでみてください。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す