CubicLouve

Spring_MTの技術ブログ

2020/07から2020/10までのGKEのリリースノートからGKEの機能で気になる部分をまとめる

セキュリティ関連は書いてないです。

kubernetesのアップデート内容には触れていません。

July 2, 2020

https://cloud.google.com/kubernetes-engine/docs/release-notes#july_2_2020

NodeLocal DNSCacheがGA

Setting up NodeLocal DNSCache  |  Kubernetes Engine Documentation

既存のクラスタでもonにできる

名前解決が速くなるのonにしておくのがよいかと

GKE Node System ConfigurationがGA

https://cloud.google.com/sdk/gcloud/reference/beta/container/node-pools/create#--system-config-from-file

Nodeの設定を指定できる機能

Linux kernel parameters (sysctls) や kubelet configsもある程度設定できる

net.core.somaxconn とかも設定できる

Nodeを作成するときに、gcloud コマンド経由でファイル(JSON or YAML)を指定する

July 17, 2020

https://cloud.google.com/kubernetes-engine/docs/release-notes#july_17_2020

SSL Policiesがexternal Ingress and multi-cluster Ingressでβ 、Custom health checks が external, internal, and multi-cluster Ingressでβ(1.17.6-gke.11以上かな)

下記のリンクに全部まとまっている

https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features

SSLPolicyを予めGCP上で作成しておき、それをFrontendConfigで設定して、それをIngressの設定で指定する

https://cloud.google.com/load-balancing/docs/ssl-policies-concepts

apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
  name: my-frontend-config
spec:
  sslPolicy: gke-ingress-ssl-policy # 

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    networking.gke.io/v1beta1.FrontendConfig: "my-frontend-config"

health checkのほうはBackendConfigで設定する

BackendConfig CRDがGKE 1.16-gke.3以上でGA

IAP, timeouts, affinity, user-defined request headerなどの機能が追加されている

IAPもか

GKE バージョン 1.16-gke.3 以降を使用している場合は、cloud.google.com/backend-config アノテーションを使うようにすること。

GKE 1.17.6-gke.7以上のクラスタで、新規 Serviceをデプロイすると、NEGを使うContainer-native Ingress が デフォルトに

cloud.google.com/neg: '{"ingress": true}' のannotaionがデフォルトでつくので、自分で書く必要がなくなる

あくまで 新規 Serviceのみなので要注意

https://cloud.google.com/kubernetes-engine/docs/concepts/ingress#container-native_load_balancing

CMEKがGKEでGA

July 28, 2020 (R25)

https://cloud.google.com/kubernetes-engine/docs/release-notes#july_28_2020_r25

デフォルトのマシンタイプがE2に

https://cloud.google.com/compute/docs/machine-types?hl=ja#machine_types

Google Cloudに安価な汎用仮想マシン「E2ファミリー」を追加 | TechCrunch Japan

E2は継続利用割引がないので注意してください。

https://cloud.google.com/compute/docs/machine-types?hl=ja#machine_type_comparison

August 21, 2020

https://cloud.google.com/kubernetes-engine/docs/release-notes#august_21_2020

Internal load balancer Serviceが GKE 1.17.9-gke.600以上でGA

https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing

type: LoadBalancer のServiceのannotationで cloud.google.com/load-balancer-type: "Internal" で使えるようになる

この internal load balancer ServiceではGlobal access と configurable subnets が使える

https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#global_access

https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#lb_subnet

リージョンまたいでinternal load balancer Serviceが使える

GKE versions 1.17.9-gke.600以上で Dataplane V2がβ

https://cloud.google.com/blog/products/containers-kubernetes/bringing-ebpf-and-cilium-to-google-kubernetes-engine

Dataplane V2があれば、Network policy loggingも使える

https://cloud.google.com/kubernetes-engine/docs/how-to/network-policy-logging

RFC 1918以外のプライベートIPアドレスが利用可能に

https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips#enable_reserved_ip_ranges

使える範囲は下記を参照

https://cloud.google.com/vpc/docs/vpc#valid-ranges

August 28, 2020

https://cloud.google.com/kubernetes-engine/docs/release-notes#august_28_2020

どのリージョンからもprivate clusterのマスター( Contol plane )へアクセス可能にする

デフォルトは同じリージョンからしかアクセスできない

https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#cp-global-access

September 8, 2020

https://cloud.google.com/kubernetes-engine/docs/release-notes#september_8_2020

Error状態のclusterを自動的に削除する

Errorの定義は下記を参照

https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#status

TaintBasedEvictionsがGKEの 1.18 でGA

あれ、このタイミングなのか

Kubernetes 1.13: SIG Scheduling の変更内容 - チェシャ猫の消滅定理

September 25, 2020 (R31)

https://cloud.google.com/kubernetes-engine/docs/release-notes#september_25_2020_r31

Node Auto-Provisioningで CMEK、Secure Boot and Integrity Monitoring、Boot disk type and sizeをデフォルトでセットしてくれるようになった

今まではセットしてくれてなかったってことか。。

October 02, 2020 (R32)

https://cloud.google.com/kubernetes-engine/docs/release-notes#october_02_2020_r32

GKE 1.18以上でオートスケールのプロファイルのロジックが optimize-utilization になる

クラスタをより積極的にスケールダウンしてくれるようになる。

リソースの使用率を最大化するぽい。

https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler#autoscaling_profiles