前回 に引き続き、EKS でサンプルの nginx pod を外部公開するまでを実施しました。 docs.aws.amazon.com
Service の外部公開
Getting Started with Amazon EKS で紹介されているデプロイだと Type:ClusterIP でクラスタ内部への公開なので、これを type: LoadBalancer にして外部へ公開する YAML を作成しました。チュートリアルで紹介されている YAML との差分は以下になります。
$ diff -Nurp eks-sample-service.yaml eks-sample-service-loadbalancer.yaml --- eks-sample-service.yaml 2022-02-20 20:16:54.000000000 +0900 +++ eks-sample-service-loadbalancer.yaml 2022-02-20 22:54:35.000000000 +0900 @@ -1,11 +1,12 @@ apiVersion: v1 kind: Service metadata: - name: eks-sample-linux-service + name: eks-sample-linux-service-loadbalancer namespace: eks-sample-app labels: app: eks-sample-linux-app spec: + type: LoadBalancer selector: app: eks-sample-linux-app ports:
Amazon EKS クラスターで実行されている Kubernetes Services を公開する
こちらを適用すると LoadBalancer として AWS 内部で ELB が作成されて外部からアクセスすることが可能になります。
ダッシュボード設定
ダッシュボードの設定は以下 2 つを実施することになります。
eks 固有の pod
kube-system namespace に aws-node という pod が 2 つあがっています。これは eks 固有の pod のようです。
コスト計算
N.Virginia で試算すると
EC2(t3.medium * 2): 199.68 円= 0.0416USD * 100 * 24 * 2 EKS: 240 円= 0.1USD * 100 * 24
で合計 440円/日になります。月換算だと 1.3万円。これは EC2(t3.nano) を 1 ヶ月立てっぱなしにした 374円/月より高いです(374.4 = 0.0052 * 100 * 24 * 30)。さらにここに ELB が載ってきます。EKS での個人利用はちょっときついですね。