gcloud Shell 環境で Kubernetes を使ってみる
はじめに
本記事では GCP の Kubernetes の簡単な起動方法、使用方法について説明します。
Kubernetes の制御には kubectl のコマンドを使用します。環境は以下のページのように、gcloud Shell環境 をdocker で作成しておくと同じ環境で kubectlのコマンドが使用が可能です。
kubernetes 環境構築
最初にGCPのプロジェクトで Kubernetesのクラスタを作成します。Kubernetesのクラスタとはdockerコンテナを動作させるための、複数のマシンインスタンスのことを指しています。
ここでクラスタを作成、をクリックしてください。
パラメータは特に何かを変更しなくても問題ありませんが、ロケーションタイプは asia-northeast1-a を使うのが良いと思います。(日本なので)
ロケーションタイプを変更したらそのまま作成をクリックして下さい。クラスタの作成には数分かかります。
クラスタの作成が完了すると以下のような画面になります。
この時、Compute Engineでは以下のようにVMインスタンスが自動で3つ作成されていることがわかります。そのため、課金の対象なので、作業が一通り完了したら Kubernetesのクラスタは削除するようにしましょう。
今度は Kubernetesのクラスタ画面から以下のように該当クラスタへの接続メニューをクリックします。
gcloud環境 からアクセスするためのコマンドが表示されるので、赤枠のボタンをクリックしてコピーします。
これを gcloud のシェル環境にコピーします。これで kubectl を触る環境の構築は完了です。特に問題なくコマンドが実行できることを確認してみましょう。
kubectl version
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
kubectl delete pod hello
Deploymentの実行方法
Kubectl の Deploymentを実行するためのコマンド例は以下になります。
kubectl create deployment hello –image=nginx
kubectl scale –replicas=6 deployment/hello
kubectl get deployment
kubectl get pod
kubectl delete deployment hello
Jobの実行方法
Kubectl の Jobを実行するためのコマンド例は以下になります。
kubectl create job hello –image=hello-world
kubectl get job
kubectl get pod
kubectl delete job hello
最後に
少し断片的な情報提供となってしまった感は否めませんが、基本的なKubenertesのコマンドに説明しました。kubernetesへの理解を更に深め、また続きを書いていきたいと思います。
繰り返しになりますが、(いくら無料枠があったとしても)Kubernetesのクラスタ作成にVMインスタンスが3つ起動していますので、作業が終わったら忘れずにクラスタを削除してくださいね!
ディスカッション
コメント一覧
まだ、コメントがありません