gcloud Shell 環境で Kubernetes を使ってみる
はじめに
本記事では GCP の Kubernetes の簡単な起動方法、使用方法について説明します。
Kubernetes の制御には kubectl のコマンドを使用します。環境は以下のページのように、gcloud Shell環境 をdocker で作成しておくと同じ環境で kubectlのコマンドが使用が可能です。
kubernetes 環境構築
最初にGCPのプロジェクトで Kubernetesのクラスタを作成します。Kubernetesのクラスタとはdockerコンテナを動作させるための、複数のマシンインスタンスのことを指しています。
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-10-641x1024.png)
ここでクラスタを作成、をクリックしてください。
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-11.png)
パラメータは特に何かを変更しなくても問題ありませんが、ロケーションタイプは asia-northeast1-a を使うのが良いと思います。(日本なので)
ロケーションタイプを変更したらそのまま作成をクリックして下さい。クラスタの作成には数分かかります。
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-12-1024x651.png)
クラスタの作成が完了すると以下のような画面になります。
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-13-1024x212.png)
この時、Compute Engineでは以下のようにVMインスタンスが自動で3つ作成されていることがわかります。そのため、課金の対象なので、作業が一通り完了したら Kubernetesのクラスタは削除するようにしましょう。
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-14-1024x277.png)
今度は Kubernetesのクラスタ画面から以下のように該当クラスタへの接続メニューをクリックします。
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-15-1024x412.png)
gcloud環境 からアクセスするためのコマンドが表示されるので、赤枠のボタンをクリックしてコピーします。
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-16-1024x559.png)
これを gcloud のシェル環境にコピーします。これで kubectl を触る環境の構築は完了です。特に問題なくコマンドが実行できることを確認してみましょう。
kubectl version
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-17-1024x239.png)
kubectl の使い方
というと最近買った本でも数百ページに渡って説明がなされておりましたので、簡単なところだけ。。。
Pod単体/Depyloment/Jobの機能による起動/状態確認/削除コマンドについて記載します。
Pod単体での起動:指定したコンテナを単体で起動します。
Deployment機能:指定したコンテナを複数起動します。何かしらの理由により、コンテナが落ちてしまった場合に、自動的に指定した数までコンテナを起動してくれます。
Job機能:バッチ処理向けにコンテナを起動します。無事、処理が完了したらCompletion状態となりますが、処理に失敗した場合には繰り返し処理を実行しようとします。
Podの単体起動方法
kubectl Podの単体起動のコマンド例はこちらになります。
kubectl run hello –image=hello-world -it –restart=Never
kubectl get all
kubectl get pods
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-18-1024x575.png)
kubectl delete pod hello
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-19-1024x271.png)
Deploymentの実行方法
Kubectl の Deploymentを実行するためのコマンド例は以下になります。
kubectl create deployment hello –image=nginx
kubectl scale –replicas=6 deployment/hello
kubectl get deployment
kubectl get pod
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-21-1024x415.png)
kubectl delete deployment hello
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-22-1024x287.png)
Jobの実行方法
Kubectl の Jobを実行するためのコマンド例は以下になります。
kubectl create job hello –image=hello-world
kubectl get job
kubectl get pod
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-23-1024x287.png)
kubectl delete job hello
![](https://tech-note-meeting.com/wp-content/uploads/2021/02/image-24-1024x287.png)
最後に
少し断片的な情報提供となってしまった感は否めませんが、基本的なKubenertesのコマンドに説明しました。kubernetesへの理解を更に深め、また続きを書いていきたいと思います。
繰り返しになりますが、(いくら無料枠があったとしても)Kubernetesのクラスタ作成にVMインスタンスが3つ起動していますので、作業が終わったら忘れずにクラスタを削除してくださいね!
ディスカッション
コメント一覧
まだ、コメントがありません