こんにちは。まゆみです。
Kubernetesについての記事をシリーズで書いています
今回の記事では、KubernetesのDeployment objectを作る過程をまとめてみました。
Deploymentオブジェクトを作る
KubernetesのDeploymentオブジェクトを以下のプロセスで作ってみます
①Docker Image をbuild する(ローカルで)
②Clusterが実行中か確かめる
③"kubectl create deployment "でdeploymentオブジェクトを作る
④docker hubにイメージをpush する
⑤再度deploymentオブジェクトを作ってみる
①Docker Imageをbuild する
docker build -t <好きなイメージ名> .
KubernetesはDockerの代わりになるものではなく、Dockerと共に働くものです。
KubernetesにはImageをbuildすることはできません。
ローカルでImageをbuildしておきましょう
Kubernetesがすることは、Containerをrunするところからです。
②Clusterが実行中が確かめる
minikube status
でminikubeのステータスを確かめましょう
下のスクショのように表示されれば、OKです。
もし、Clusterが実行中ではない場合、
minikube start --drive=<driver名>
でminikubeを起動してください。
③kubectlでdeploymentオブジェクトを作る
kubectl create --help
とコマンドを打つと、どんなオブジェクトが作れるのか表示する事ができます
今回は『deployment』オブジェクトを作ってみましょう
オブジェクトの作り方は、Kubernetesドキュメントを参考にどうぞ
上のドキュメントを参考に、とりあえずローカルにあるImageを利用して、deploymentオブジェクトを作ってみました。
また、
kubectl get deployments
でClusterのなかにいくつのdeploymentがあるのか表示させることができるのですが、『0/1』と表示されていて、Ready状態のdeploymentが無い事が確認できます
kubectl get pods
上記のコマンドでpodがいくつ実行されているのか表示させてみると、
『ImagePullBackOff』と表示されます。
ImagePullBackOffの原因は?
『ImagePullBackOff』と表示される原因の答えはstackoverflowに書かれていました。
④ローカルでbuildしたImageをdocker hubにpush する
では最初にローカルでbuildしたImageをdocker hub にpush しましょう
Docker hubに新しいRepositoryを作った後
docker tag <ローカルにあるImage> <Docker hubのRepository名>
docker push <Docker hubのRepository名>
⑤Docker hubにあるイメージを指定して、再度deploymentオブジェクトを作る
kubectl create deployment <名前> --image=<docker hubにあるImage>
そしてその後
minikube dashboard
とコマンドを打つと、ダッシュボードを開くことができます