【Kubernetes】ローカルにクラスタを作成してNginxをLoadBalancerタイプでデプロイ
こんにちは。
この記事は Kubernetes Advent Calendar 2019 の2日目の記事になります。
qiita.com
前提
- kubectlコマンドが使える。
- Minikubeが利用できる環境にある。
クラスタの用意
ローカルにクラスタを用意。
$ minikube start
確認。
$ minikube status host: Running kubelet: Running apiserver: Running kubeconfig: Configured
Dashboardを確認する。
$ minikube dashboard
Deploymentの作成
deployment.yaml の作成
apiVersion: apps/v1 kind: Deployment metadata: name: deployment spec: selector: matchLabels: app: nginx replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.9.1 ports: - containerPort: 80
apply する
$ kubectl apply -f ./deployment.yaml
Serviceの作成
service.yaml の作成
apiVersion: v1 kind: Service metadata: name: nginx spec: type: LoadBalancer selector: app: nginx ports: - name: http port: 8080 targetPort: 80
apply する
$ kubectl apply -f ./service.yaml
確認
MinikubeのDashboardで見てみる。
Podが3つ。
サービスとURLの確認
$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 87m nginx LoadBalancer 10.101.66.247 <pending> 8080:31695/TCP 110s $ minikube service nginx --url http://192.168.64.6:31695
minikube service nginx --url
で表示されたURLにブラウザでアクセスする。
この場合だと、http://192.168.64.6:31695にアクセスするとNginxの表示が確認できる。