SlideShare a Scribd company logo
Copyright© LIFULL All Rights Reserved.
Ltech#20 Kubernetesを用いたアプリケーション実行基盤の取り組み
Kubernetesクラスタバージョンアップを支える技術
株式会社LIFULL 川合拓央
2021.12.15
Copyright© LIFULL All Rights Reserved.
・互換性のない変更が含まれていて不具合が発生する可能性がある
・バージョンアップの手順にミスがあり不具合が発生する可能性がある
・切り戻しが可能か、手順は用意されているか
・確認作業に一定のコストが割かれる
バージョンアップは大変で不安
Kubernetesクラスタバージョンアップを支える技術
Copyright© LIFULL All Rights Reserved.
アプリケーション特徴
・マルチテナンシー
・ステートレスなアプリケーション
・多重起動を許容する冪等性をもったjob
・initial-loadを実装したアプリケーション
Cluster Migration
InPlaceアップグレードは切り戻しの複雑さが
増すのと検証のしにくさから行わない
LIFULLのクラスタ運
用方針
Kubernetesクラスタバージョンアップを支える技術
v1.19 v1.21
LB
0 100
weigthed recordによるクラスタへのルーティングによって移行を実現する
Copyright© LIFULL All Rights Reserved.
クラスタ構築の
自動化
目指したのは手作業の排除
例えば新メンバーがチームに参加し知
識の差があったとしてもクラスタ構築が
完了する
export AUTOMATION_DOCUMENT_NAME=$(aws cloudformation describe-stacks
--stack-name $STACK_NAME --region $AWS_REGION --query
'Stacks[].Outputs[?OutputKey==`DocumentName`].OutputValue' --output text)
[ "$(aws sts get-caller-identity | jq -r .Account)" = "$ACCOUNT_ID" ] && 
aws ssm start-automation-execution 
--document-name ${AUTOMATION_DOCUMENT_NAME} 
--parameters 
"AccountId=${ACCOUNT_ID}, 
AwsRegion=${AWS_REGION}, 
DnsZone=${DNS_ZONE}, 
MasterZones=${MASTER_ZONES}, 
MasterSize=${MASTER_SIZE}, 
MaxNode=${MAX_NODE}, 
MinNode=${MIN_NODE}, 
NodeSize=${NODE_SIZE}, 
MaxSpotNode=${MAX_SPOT_NODE}, 
MinSpotNode=${MIN_SPOT_NODE}, 
SpotNodeSizes='${SPOT_NODE_SIZES}', 
...
Kubernetesクラスタバージョンアップを支える技術
Copyright© LIFULL All Rights Reserved.
構築されるクラスタの状態
・IstioやPrometheusなどのソフトウェアの設定も同一
・Spinnakerによるデプロイパイプラインも設定され稼働しているクラスタと同じ内容のデプロイ
が実行される
指定したBranchの内容を元にクラスタを構築
クラスタ構築の自動化
Kubernetesクラスタバージョンアップを支える技術
Copyright© LIFULL All Rights Reserved.
クラスタの動作確認
Kubernetesクラスタバージョンアップを支える技術
・Auditlogが記録されていることを検証
・Cluster Autoscalerが稼働することを検証
・GracefulShutdownが動作することを検証
・Istio Ingressgatewayが疎通しクラスタ外からアクセス可能なことを検証
・Prometheusのすべてのscrapeターゲットがscrape可能であることを検証
・SpinnakerのすべてのPipelineが実行に成功していることを検証
他にも多数
Copyright© LIFULL All Rights Reserved.
Kubernetesクラスタバージョンアップを支える技術
1. 前述の確認項目についてのテストケース
を実装しSonobuoyのPluginとして実行
2. Conformanceテストの実行
過去にVPC DHCP Options Setの設定差分に
よってexternalTrafficPolicy: localの挙動が環境
によって異なる現象に遭遇した。設定に依存
する不具合を検知する目的で実行する
E2Eテストで動作確
認の自動化
Copyright© LIFULL All Rights Reserved.
E2Eテストで検知したバージョンアップ時の問題
Kubernetesクラスタバージョンアップを支える技術
kOpsバージョンアップに伴いaws-iam-authenticatorが機能しなくなったのを検知
KubeApiServerのmount pathを変更した影響
Readiness Probeが失敗するようになったアプリケーションの検知
Istio1.10によりeth0からloへの転送がされなくなった影響
Conformanceテストの結果からHPAが動作しないことを検知
Deprecated API対応の変更忘れによりmetrics-serverの起動に失敗した影響
Copyright© LIFULL All Rights Reserved.
Istioバージョンアップ
当時稼働していたIstioはv1.5.10
v2 xDS APIはv1.8以降で利用できない
v1.7はv2/v3の両方をサポート
Admission Webhook
Kubernetesクラスタバージョンアップを支える技術
Copyright© LIFULL All Rights Reserved.
Istio 1.5.10 Istio 1.7
EnvoyFilter
v2 xDS
EnvoyFilter
v2 xDS
EnvoyFilter
v3 xDS
EnvoyFilter
v3 xDS
Copyright© LIFULL All Rights Reserved.
Admission Webhook
Kubernetesクラスタバージョンアップを支える技術
Copyright© LIFULL All Rights Reserved.
API
HTTP handler
Authentication
Authorization
Webhook
Mutating
Admission
EnvoyFilter
v2 xDS
EnvoyFilter
v3 xDS
Istioバージョンアップ
Istio v1.5.10 から Istio v1.10.2まで一気にアップデートを行った
Copyright© LIFULL All Rights Reserved.
Kubernetesクラスタバージョンアップを支える技術
E2Eテストの自動実行
加えた変更による動作不良を検知
常にクラスタ構築が成功することの保証
緊急時のリスク回避
クラスタ定期構築の
自動化
4cfcfdc 4cfcfdc 4cfcfdc
os52cv os52cv
xg3xhh
…
v1.21 v1.21 v1.21
Copyright© LIFULL All Rights Reserved.
Kubernetesクラスタバージョンアップを支える技術
Kubernetesクラスタバージョンアップを支える技術
1 クラスタ構築の自動化で誰でもクラスタ構築が可能
2 構築したクラスタの確認作業をE2Eにより自動化
3 Admission Webhookをクラスタ移行に活用
4 クラスタ定期構築の自動化で健全性を保証
Copyright© LIFULL All Rights Reserved.

More Related Content

What's hot

DevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOpsDevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOps
富士通クラウドテクノロジーズ株式会社
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
capsmalt
 
C# Tokyo コミュニティについて
C# Tokyo コミュニティについてC# Tokyo コミュニティについて
C# Tokyo コミュニティについて
m ishizaki
 
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Takuya Iwatsuka
 
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmaltJapan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
capsmalt
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
decode2016
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
 
ニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組みニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組み
富士通クラウドテクノロジーズ株式会社
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
Koto Shigeru
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
LIFULL Co., Ltd.
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
Takayoshi Tanaka
 
SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連
ShingoKurihara1
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud Foundry
Kazuto Kusama
 
NGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for KubernetesNGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for Kubernetes
NGINX, Inc.
 
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
富士通クラウドテクノロジーズ株式会社
 
20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要
Airi Furukawa
 
Kubernetesのない世界 すべてがサーバーレスになる
Kubernetesのない世界 すべてがサーバーレスになるKubernetesのない世界 すべてがサーバーレスになる
Kubernetesのない世界 すべてがサーバーレスになる
真吾 吉田
 
20210129 azure webapplogging
20210129 azure webapplogging20210129 azure webapplogging
20210129 azure webapplogging
Takayoshi Tanaka
 
202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers
Takayoshi Tanaka
 

What's hot (19)

DevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOpsDevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOps
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
 
C# Tokyo コミュニティについて
C# Tokyo コミュニティについてC# Tokyo コミュニティについて
C# Tokyo コミュニティについて
 
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
 
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmaltJapan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
 
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
DOO-003_Jenkins 作者が語る、Docker コンテナによる継続的デリバリのオススメと新機能のご紹介
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
 
ニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組みニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組み
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
 
SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連
 
Istio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud FoundryIstio, Kubernetes and Cloud Foundry
Istio, Kubernetes and Cloud Foundry
 
NGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for KubernetesNGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for Kubernetes
 
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
 
20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要20220302_TechDojo_OpenShift_BootCamp_1章概要
20220302_TechDojo_OpenShift_BootCamp_1章概要
 
Kubernetesのない世界 すべてがサーバーレスになる
Kubernetesのない世界 すべてがサーバーレスになるKubernetesのない世界 すべてがサーバーレスになる
Kubernetesのない世界 すべてがサーバーレスになる
 
20210129 azure webapplogging
20210129 azure webapplogging20210129 azure webapplogging
20210129 azure webapplogging
 
202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers202109-New_Relic-for-csharp-engineers
202109-New_Relic-for-csharp-engineers
 

Similar to Kubernetesクラスタバージョンアップを支える技術

【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例
【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例
【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例
LIFULL Co., Ltd.
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
IIJ
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps について
Shigeru Tatsuta
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
Takahiro Okumura
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
オラクルエンジニア通信
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
オラクルエンジニア通信
 
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
Toshikazu Ichikawa
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Kohsuke Kawaguchi
 
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
DeNA
 
Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)
NGINX, Inc.
 
Kubernetes超入門
Kubernetes超入門Kubernetes超入門
Kubernetes超入門
Takashi Suzuki
 
経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005
Makoto Shimizu
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
Shinji Takao
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
Yoshio Terada
 
OracleのCloud Native 戦略/ソリューションの特徴
OracleのCloud Native 戦略/ソリューションの特徴OracleのCloud Native 戦略/ソリューションの特徴
OracleのCloud Native 戦略/ソリューションの特徴
オラクルエンジニア通信
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
 
これからのバックアップ運用はセルフサービス型がニューノーマル!
これからのバックアップ運用はセルフサービス型がニューノーマル!これからのバックアップ運用はセルフサービス型がニューノーマル!
これからのバックアップ運用はセルフサービス型がニューノーマル!
vxsejapan
 
Visual Regression Testing における画面要素単位での差異検出手法
Visual Regression Testing における画面要素単位での差異検出手法Visual Regression Testing における画面要素単位での差異検出手法
Visual Regression Testing における画面要素単位での差異検出手法
ToshiyukiKurabayashi
 
Rancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes ServiceRancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes Service
LINE Corporation
 

Similar to Kubernetesクラスタバージョンアップを支える技術 (20)

【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例
【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例
【Ltech#11】Kubernetesを利用した機械学習モデルの本番適用例
 
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
 
Kubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps についてKubernetes 導入から始める DevOps について
Kubernetes 導入から始める DevOps について
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年5月版]
 
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
Oracle Container Engine for Kubernetes (OKE) ご紹介 [2021年2月版]
 
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in JapaneseOpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
 
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
 
Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)
 
Kubernetes超入門
Kubernetes超入門Kubernetes超入門
Kubernetes超入門
 
経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005経営を支えるIT部門実現の記録2005
経営を支えるIT部門実現の記録2005
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
OracleのCloud Native 戦略/ソリューションの特徴
OracleのCloud Native 戦略/ソリューションの特徴OracleのCloud Native 戦略/ソリューションの特徴
OracleのCloud Native 戦略/ソリューションの特徴
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
これからのバックアップ運用はセルフサービス型がニューノーマル!
これからのバックアップ運用はセルフサービス型がニューノーマル!これからのバックアップ運用はセルフサービス型がニューノーマル!
これからのバックアップ運用はセルフサービス型がニューノーマル!
 
Visual Regression Testing における画面要素単位での差異検出手法
Visual Regression Testing における画面要素単位での差異検出手法Visual Regression Testing における画面要素単位での差異検出手法
Visual Regression Testing における画面要素単位での差異検出手法
 
Rancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes ServiceRancher2.0で実現する Managed Kubernetes Service
Rancher2.0で実現する Managed Kubernetes Service
 

More from LIFULL Co., Ltd.

20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
LIFULL Co., Ltd.
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL Co., Ltd.
 
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULL Co., Ltd.
 
SaPID を導入するまでとそれから
SaPID を導入するまでとそれからSaPID を導入するまでとそれから
SaPID を導入するまでとそれから
LIFULL Co., Ltd.
 
3D間取りを支える技術
3D間取りを支える技術3D間取りを支える技術
3D間取りを支える技術
LIFULL Co., Ltd.
 
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL Co., Ltd.
 
大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え
LIFULL Co., Ltd.
 
スクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみスクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみ
LIFULL Co., Ltd.
 
実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア
LIFULL Co., Ltd.
 
エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由
LIFULL Co., Ltd.
 
「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術
LIFULL Co., Ltd.
 
ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標
LIFULL Co., Ltd.
 
Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏
LIFULL Co., Ltd.
 
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
LIFULL Co., Ltd.
 
ウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめましたウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめました
LIFULL Co., Ltd.
 
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
LIFULL Co., Ltd.
 
新しい検索体験とデザインシステム
新しい検索体験とデザインシステム新しい検索体験とデザインシステム
新しい検索体験とデザインシステム
LIFULL Co., Ltd.
 
3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?
3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?
3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?
LIFULL Co., Ltd.
 
大規模サイト開発と新規事業開発の経験から見たそれぞれの違い
大規模サイト開発と新規事業開発の経験から見たそれぞれの違い大規模サイト開発と新規事業開発の経験から見たそれぞれの違い
大規模サイト開発と新規事業開発の経験から見たそれぞれの違い
LIFULL Co., Ltd.
 
CTOの考えるエンジニアマネジメント2
CTOの考えるエンジニアマネジメント2CTOの考えるエンジニアマネジメント2
CTOの考えるエンジニアマネジメント2
LIFULL Co., Ltd.
 

More from LIFULL Co., Ltd. (20)

20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
 
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっているLIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
 
SaPID を導入するまでとそれから
SaPID を導入するまでとそれからSaPID を導入するまでとそれから
SaPID を導入するまでとそれから
 
3D間取りを支える技術
3D間取りを支える技術3D間取りを支える技術
3D間取りを支える技術
 
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発
 
大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え
 
スクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみスクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみ
 
実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア
 
エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由
 
「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術
 
ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標
 
Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏
 
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
 
ウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめましたウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめました
 
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
 
新しい検索体験とデザインシステム
新しい検索体験とデザインシステム新しい検索体験とデザインシステム
新しい検索体験とデザインシステム
 
3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?
3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?
3時間でプロトタイプをユーザーにお届け!LIFULLの高速仮説検証プログラムとは?
 
大規模サイト開発と新規事業開発の経験から見たそれぞれの違い
大規模サイト開発と新規事業開発の経験から見たそれぞれの違い大規模サイト開発と新規事業開発の経験から見たそれぞれの違い
大規模サイト開発と新規事業開発の経験から見たそれぞれの違い
 
CTOの考えるエンジニアマネジメント2
CTOの考えるエンジニアマネジメント2CTOの考えるエンジニアマネジメント2
CTOの考えるエンジニアマネジメント2
 

Recently uploaded

論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 

Recently uploaded (10)

論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 

Kubernetesクラスタバージョンアップを支える技術

  • 1. Copyright© LIFULL All Rights Reserved. Ltech#20 Kubernetesを用いたアプリケーション実行基盤の取り組み Kubernetesクラスタバージョンアップを支える技術 株式会社LIFULL 川合拓央 2021.12.15
  • 2. Copyright© LIFULL All Rights Reserved. ・互換性のない変更が含まれていて不具合が発生する可能性がある ・バージョンアップの手順にミスがあり不具合が発生する可能性がある ・切り戻しが可能か、手順は用意されているか ・確認作業に一定のコストが割かれる バージョンアップは大変で不安 Kubernetesクラスタバージョンアップを支える技術
  • 3. Copyright© LIFULL All Rights Reserved. アプリケーション特徴 ・マルチテナンシー ・ステートレスなアプリケーション ・多重起動を許容する冪等性をもったjob ・initial-loadを実装したアプリケーション Cluster Migration InPlaceアップグレードは切り戻しの複雑さが 増すのと検証のしにくさから行わない LIFULLのクラスタ運 用方針 Kubernetesクラスタバージョンアップを支える技術 v1.19 v1.21 LB 0 100 weigthed recordによるクラスタへのルーティングによって移行を実現する
  • 4. Copyright© LIFULL All Rights Reserved. クラスタ構築の 自動化 目指したのは手作業の排除 例えば新メンバーがチームに参加し知 識の差があったとしてもクラスタ構築が 完了する export AUTOMATION_DOCUMENT_NAME=$(aws cloudformation describe-stacks --stack-name $STACK_NAME --region $AWS_REGION --query 'Stacks[].Outputs[?OutputKey==`DocumentName`].OutputValue' --output text) [ "$(aws sts get-caller-identity | jq -r .Account)" = "$ACCOUNT_ID" ] && aws ssm start-automation-execution --document-name ${AUTOMATION_DOCUMENT_NAME} --parameters "AccountId=${ACCOUNT_ID}, AwsRegion=${AWS_REGION}, DnsZone=${DNS_ZONE}, MasterZones=${MASTER_ZONES}, MasterSize=${MASTER_SIZE}, MaxNode=${MAX_NODE}, MinNode=${MIN_NODE}, NodeSize=${NODE_SIZE}, MaxSpotNode=${MAX_SPOT_NODE}, MinSpotNode=${MIN_SPOT_NODE}, SpotNodeSizes='${SPOT_NODE_SIZES}', ... Kubernetesクラスタバージョンアップを支える技術
  • 5. Copyright© LIFULL All Rights Reserved. 構築されるクラスタの状態 ・IstioやPrometheusなどのソフトウェアの設定も同一 ・Spinnakerによるデプロイパイプラインも設定され稼働しているクラスタと同じ内容のデプロイ が実行される 指定したBranchの内容を元にクラスタを構築 クラスタ構築の自動化 Kubernetesクラスタバージョンアップを支える技術
  • 6. Copyright© LIFULL All Rights Reserved. クラスタの動作確認 Kubernetesクラスタバージョンアップを支える技術 ・Auditlogが記録されていることを検証 ・Cluster Autoscalerが稼働することを検証 ・GracefulShutdownが動作することを検証 ・Istio Ingressgatewayが疎通しクラスタ外からアクセス可能なことを検証 ・Prometheusのすべてのscrapeターゲットがscrape可能であることを検証 ・SpinnakerのすべてのPipelineが実行に成功していることを検証 他にも多数
  • 7. Copyright© LIFULL All Rights Reserved. Kubernetesクラスタバージョンアップを支える技術 1. 前述の確認項目についてのテストケース を実装しSonobuoyのPluginとして実行 2. Conformanceテストの実行 過去にVPC DHCP Options Setの設定差分に よってexternalTrafficPolicy: localの挙動が環境 によって異なる現象に遭遇した。設定に依存 する不具合を検知する目的で実行する E2Eテストで動作確 認の自動化
  • 8. Copyright© LIFULL All Rights Reserved. E2Eテストで検知したバージョンアップ時の問題 Kubernetesクラスタバージョンアップを支える技術 kOpsバージョンアップに伴いaws-iam-authenticatorが機能しなくなったのを検知 KubeApiServerのmount pathを変更した影響 Readiness Probeが失敗するようになったアプリケーションの検知 Istio1.10によりeth0からloへの転送がされなくなった影響 Conformanceテストの結果からHPAが動作しないことを検知 Deprecated API対応の変更忘れによりmetrics-serverの起動に失敗した影響
  • 9. Copyright© LIFULL All Rights Reserved. Istioバージョンアップ 当時稼働していたIstioはv1.5.10 v2 xDS APIはv1.8以降で利用できない v1.7はv2/v3の両方をサポート Admission Webhook Kubernetesクラスタバージョンアップを支える技術 Copyright© LIFULL All Rights Reserved. Istio 1.5.10 Istio 1.7 EnvoyFilter v2 xDS EnvoyFilter v2 xDS EnvoyFilter v3 xDS EnvoyFilter v3 xDS
  • 10. Copyright© LIFULL All Rights Reserved. Admission Webhook Kubernetesクラスタバージョンアップを支える技術 Copyright© LIFULL All Rights Reserved. API HTTP handler Authentication Authorization Webhook Mutating Admission EnvoyFilter v2 xDS EnvoyFilter v3 xDS Istioバージョンアップ Istio v1.5.10 から Istio v1.10.2まで一気にアップデートを行った
  • 11. Copyright© LIFULL All Rights Reserved. Kubernetesクラスタバージョンアップを支える技術 E2Eテストの自動実行 加えた変更による動作不良を検知 常にクラスタ構築が成功することの保証 緊急時のリスク回避 クラスタ定期構築の 自動化 4cfcfdc 4cfcfdc 4cfcfdc os52cv os52cv xg3xhh … v1.21 v1.21 v1.21
  • 12. Copyright© LIFULL All Rights Reserved. Kubernetesクラスタバージョンアップを支える技術 Kubernetesクラスタバージョンアップを支える技術 1 クラスタ構築の自動化で誰でもクラスタ構築が可能 2 構築したクラスタの確認作業をE2Eにより自動化 3 Admission Webhookをクラスタ移行に活用 4 クラスタ定期構築の自動化で健全性を保証
  • 13. Copyright© LIFULL All Rights Reserved.