■ はじめに
https://dk521123.hatenablog.com/entry/2020/04/27/224624
https://dk521123.hatenablog.com/entry/2020/05/01/000000
の続き。 今回は、ローカルで Kubernetes を使って nginx を立ち上げる。
目次
【1】今回のやること 【2】前提条件 【3】構築手順 1)Minikubeを起動する 2)Deploymentを作成する 3)Service を作成する
【1】今回のやること
Kubernetes で nginx を立ち上げてみる
【2】前提条件
* Kubernetes の環境構築は行われていること => 以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2020/05/01/000000
【3】構築手順
1)Minikubeを起動する 2)Deploymentを作成する 3)Service を作成する
1)Minikubeを起動する
# Minikube を起動 minikube start # Minikube の稼働状況を確認 minikube status # ダッシュボードを起動 minikube dashboard
2)Deploymentを作成する
[0] 定義ファイル (マニフェストファイル) 作成
* 定義ファイルの記述した内容に従って Pod を作成する * nginx-deployment.yaml を作成 => 作成後、以下[1]~[3]を実行する。
nginx-deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.17.10 ports: - containerPort: 80
[1] Deploymentを作成
# YAMLファイルに基づいてDeploymentを作成 kubectl apply -f ./nginx-deployment.yaml
[2] deployment の作成確認
# Deploymentに関する情報を表示 kubectl describe deployment nginx-deployment # kubectl get deployments
[3] pod の作成確認
h# Deploymentによって作成されたPodを一覧表示 kubectl get pods -l app=nginx # kubectl get pods
[4] 補足:deployment の削除
kubectl delete deployment nginx-deployment
3)Service を作成する
[0] 設定ファイル作成
* nginx-service.yaml を作成 => 作成後、以下[1]~[3]を実行する。
nginx-service.yaml
apiVersion: v1 kind: Service metadata: name: nginx spec: type: LoadBalancer selector: app: nginx ports: - name: http port: 8080 targetPort: 80
[1] serviceを作成
kubectl apply -f ./nginx-service.yaml
[2] service の作成確認
kubectl get services
[3] Node経由で公開されているserviceにアクセスする
minikube service nginx
参考文献
https://qiita.com/joe_hirata/items/0c4073f2cc39027d1c32
公式サイト
https://kubernetes.io/ja/docs/tutorials/hello-minikube/
https://kubernetes.io/ja/docs/tasks/run-application/run-stateless-application-deployment/
関連記事
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
Kubernetes ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Kubernetes ~ 基本編 / kubectlコマンド ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555