minikubeを使用して、ローカル環境でkubernetesを動かしてみる
minikubeとは?
minikubeはローカル環境でkubernetesを動かすためのツールです。minikubeを使用することで簡単のkubernetesを試したりすることができます。
インストール
minikubeのインストールを行う前にVMをインストールしておきます。今回はインストール済みなのでスキップしていきます。
macOSだとbrewコマンドでインストールするか、直接バイナリーダウンロードして、minikubeの実行パスを登録する方法の二つあります。今回はbrewコマンドを使用してインストールします。
$ brew cask install minikube
以下のコマンドを実行すると、minikubeを起動することができます。
$ minikube start
実行して、以下の画面が表示されれば起動成功です。
🎉 minikube 1.9.2 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.9.2
💡 To disable this notice, run: 'minikube config set WantUpdateNotification false'
🙄 minikube v1.5.2 on Darwin 10.15.3
💡 Tip: Use 'minikube start -p <name>' to create a new cluster, or 'minikube delete' to delete this one.
🔄 Starting existing hyperkit VM for "minikube" ...
⌛ Waiting for the host to be provisioned ...
🐳 Preparing Kubernetes v1.16.2 on Docker '18.09.9' ...
🔄 Relaunching Kubernetes using kubeadm ...
⌛ Waiting for: apiserver
🏄 Done! kubectl is now configured to use "minikube"
minikubeが起動できたので、早速mysqlをminikube上で動かしてみようと思う。以下のファイルをmysql.yamlとして作成する。
apiVersion: v1
kind: Pod
metadata:
name: mysql
labels:
app: mysql
spec:
containers:
- image: mysql
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: password
ports:
- containerPort: 3306
name: mysql
kubectlコマンドを使用して、mysqlのPodが作成します。実行すると、Podが作成されます。
$ kubectl create -f mysql.yaml
pod/mysql created
作成したmysqlのコンテナにログインしてみます。
$ kubectl exec -it mysql bash
ログイン後、mysqlにログインしてみます。
$ mysql -uroot -ppassword
ログインできたかと思います。
今回はローカル環境でkubernetesを動かす方法を説明しました。
これでローカル環境でもkubernetesを使用して作業することができます。