LoginSignup
4
4

More than 3 years have passed since last update.

AWS EKSにNLB入れて動かす

Last updated at Posted at 2019-08-15

はじめに

gRPCのアプリケーションを外部に公開したかったので、EKSにNLBを立てて、Nginxでアクセスできるようにしてみました。

EKSのクラスタ構築はAWS EKS をはじめてみるを参考にどうぞ。

Deployment

まずはNginxのDeploymentを作ります。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx
  namespace: default
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.5
        ports:
        - containerPort: 80

上記、内容のファイルをnginx.yamlとして保存して、下記kubectlで実行します。

$ kubectl create -f nginx.yaml
$ kubectl get pod
NAME                     READY   STATUS              RESTARTS   AGE
nginx-6c496b6b85-xrb5q   0/1     ContainerCreating   0          8s
$ kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-6c496b6b85-xrb5q   1/1     Running   0          15s

RunningになったらOK

Service

ServiceでNLBを立てます。

apiVersion: v1
kind: Service
metadata:
  name: nginx
  namespace: default
  labels:
    app: nginx
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
spec:
  externalTrafficPolicy: Local
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  type: LoadBalancer

上記内容でファイルをaws-nlb.yamlとして保存して、下記kubectlで実行します。

$ kubectl create -f aws-nlb.yml

NLB自体はすぐに出来上がりますが、Nginxに繋がるまで数分かかるので待ちます。

出来上がったら、下記コマンドを叩いてLoadBalancer IngressをブラウザのURLに入力して、Welcome to nginx!が表示されたら、完了です。

$ kubectl describe svc nginx
Name:                     nginx
Namespace:                default
Labels:                   app=nginx
Annotations:              service.beta.kubernetes.io/aws-load-balancer-type: nlb
Selector:                 app=nginx
Type:                     LoadBalancer
IP:                       10.100.104.52
LoadBalancer Ingress:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bbbbbbbbbbbbb.elb.ap-northeast-1.amazonaws.com
〜省略〜

※上記だと、aaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bbbbbbbbbbbbb.elb.ap-northeast-1.amazonaws.comです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4