AKS with Istioで運⽤しているサービスのUpgradeをしてみたMar 11th, 2021Koichi YanagimotoEcosystem Services Dept.Rakuten, Inc.
View Slide
2Hello, My name isKoichi Yanagimoto(@kyanagimoto)Rakuten, Inc.Software EngineerJoined in 2009.Organizer of Nikotama.rb趣味• スノボ(温泉︖)• ポイ活• キーボード集めCloudNative歴• 2〜3年くらい︖Self Introduction
3Today’s Topic
4How upgraded?Component VersionAKS 1.16.13 -> 1.19.3Istio 1.4.1 -> 1.8.2Flagger 0.21 -> 1.6.1Ruby 2.6 -> 2.7.2Rails 6.0.2 -> 6.0.3.4
5AKS upgradeBreaking Changes• Kubernetes Version• Ubuntu Version• Ubuntu 16 -> Ubuntu 18What happened?• Artifactoryに置いてあるContainer imageがpull出来ない問題
6xxxx.local→
7How solved?DaemonSetでresolv.confのリンクの付け替えを実施• Azureの公式ドキュメント• https://docs.microsoft.com/ja-jp/azure/aks/support-policies#user-customization-of-agent-nodes• Microsoftへの問い合わせ• Githubのissue(対応継続中)• https://github.com/Azure/AKS/issues/2052
8Istio upgrade-> Istio operator• AddOn周りのinstall結構変わった• Custom ingressgateway manifestを⾃分で書かなければいけなかった(Helmのときも書いてた)• そのほかは結構すんなりとupgrade!
9Flagger upgradehttps://docs.flagger.app/canary.yamlapiVersion: flagger.app/v1beta1kind: Canarymetadata:name: samplespec:targetRef:apiVersion: apps/v1kind: Deploymentname: sampleprogressDeadlineSeconds: 600autoscalerRef:apiVersion: autoscaling/v2beta1kind: HorizontalPodAutoscalername: sampleservice:port: 80targetPort: 3000gateways:- istio-ingressgatewayhosts:- "*"trafficPolicy:loadBalancer:simple: LEAST_CONNmatch:- uri:prefix: /samplemethod:exact: "GET"kubectl apply してみると、エラーが…
https://github.com/fluxcd/flagger/pull/777
11Flagger upgradehttps://docs.flagger.app/Re-Apply︕...Canaryが終わらない…wIssueでなんか上がってないかな…同じ状態のissue発⾒︕https://github.com/fluxcd/flagger/issues/780
https://github.com/fluxcd/flagger/pull/781
13Takeaways• Cloudベンダー側の設定でどうにもならないものはDaemonSet.• IstioはInstall周りからゴロっと変えたけど、そこまで苦労しなかった.(Linkerd試してみたい)• OSSで問題に直⾯した時は、まずIssues.
14My teammates’ talkVault on Kubernetes~秘匿情報の安全な管理~https://event.cloudnativedays.jp/cndo2021/talks/371デプロイメント⼿法を選択する ~ Flagger/Argo Rollouts ~https://event.cloudnativedays.jp/cndo2021/talks/401Dashboard as Codeでダッシュボード管理は改善するか︖https://event.cloudnativedays.jp/cndo2021/talks/621https://rakuten.wd1.myworkdayjobs.com/ja-JP/RakutenInc/job/Tokyo-Japan/SRE-Application-Engineer--EC-Platform----ECID_00008349Job Information