【k8s】Kubernetes ~ nginx を立ち上げる ~

■ はじめに

https://dk521123.hatenablog.com/entry/2020/04/27/224624
https://dk521123.hatenablog.com/entry/2020/05/01/000000

の続き。

今回は、ローカルで Kubernetes を使って 簡単な環境構築を行う。

目的

Kubernetes で nginx を立ち上げてみる

■ 手順

【1】Minikubeを起動する
【2】Deploymentを作成する
【3】Service を作成する

【1】Minikubeを起動する

# Minikube を起動
minikube start

# Minikube の稼働状況を確認
minikube status

# ダッシュボードを起動
minikube dashboard

【2】Deploymentを作成する

nginx-deployment.yaml を作成し、
以下のコマンドを実行する。

Deploymentを作成

# YAMLファイルに基づいてDeploymentを作成
kubectl apply -f ./nginx-deployment.yaml

deployment の作成確認

# Deploymentに関する情報を表示
kubectl describe deployment nginx-deployment
# kubectl get deployments

pod の作成確認

# Deploymentによって作成されたPodを一覧表示
kubectl get pods -l app=nginx
# kubectl get pods

補足:deployment の削除

kubectl delete deployment nginx-deployment

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

【3】Service を作成する

nginx-service.yaml を作成し、
以下のコマンドを実行する。

serviceを作成

kubectl apply -f ./nginx-service.yaml

service の作成確認

kubectl get services

Node経由で公開されているserviceにアクセスする

minikube service nginx

https://kubernetes.io/ja/docs/setup/learning-environment/minikube/#%e3%82%af%e3%83%a9%e3%82%b9%e3%82%bf%e3%83%bc%e3%81%ab%e8%a7%a6%e3%82%8c%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86
nginx-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
    - name: http
      port: 8080
      targetPort: 80

参考文献

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
KubernetesWindows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000