HikariBlog
Webエンジニア向けブログ
初心者向け

低コストでKubernetesが使える!?GKE AutopilotでSpot Podsを導入してみる!

spot-pods-for-gke-autopilot

前回、こちらの記事でGKEを使ってシステムを構築してみました。

もう少しコスト抑えられないかなと思って調べてみたところ、Podの料金が60%から最大91%まで値引きされる「Spot Pods for GKE Autopilot」というサービスがありました。

そこで今回はこちら導入してみたいと思います!

GKE初心者のため、どのくらい変化があったのかは把握できてないです。
設定変更前と変更後でどのような変化があったか自分でも確認してみてください!

DeploymentのYAMLに追記

DeploymentのYAMLに以下の2行を追加します。

      nodeSelector:
        cloud.google.com/gke-spot: "true"

追加する場所は以下を参考にしてください。(参考記事から引用)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: hello-app
  template:
    metadata:
      labels:
        app: hello-app
    spec:
      containers:
      - name: hello-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
      nodeSelector:
        cloud.google.com/gke-spot: "true"
      terminationGracePeriodSeconds: 25

これで保存して反映したら有効になるはずです!

あとがき

設定したばかりでまだあまり変化がわかりませんが、これでコストを抑えられるはず…?

しばらく様子を見てみようと思います。

余剰リソースが割り当てられるため、本番環境ではあまり設定しないほうが良いですね。

参考

https://cloud.google.com/blog/products/containers-kubernetes/announcing-spot-pods-for-gke-autopilot

https://www.publickey1.jp/blog/21/kubernetespod91spot_pods_for_gke_autopilotgoogle_cloud.html