Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Kubernetesクラスタのアップデートから入門するKubernetes

 Kubernetesクラスタのアップデートから入門するKubernetes

Kubernetes Novice Tokyo #11にて発表
https://k8s-novice-jp.connpass.com/event/213756/
5枚目までハイパーリンク化されてないので下から開いて下さい...
EKSのKubernetesバージョンを1.15>1.19へアップデート
https://qiita.com/myu_mx/items/85461d51fa81d8cc23ac
eksctlで作成していたEKSリソースをterraformに置き換える
https://qiita.com/myu_mx/items/1b37b5302e39ffb80fdb

https://twitter.com/myu_mx

https://www.slideshare.net/yuutamoriyama12/kuberneteskubernetes より

myu_mx

June 12, 2021
Tweet

More Decks by myu_mx

Other Decks in Technology

Transcript

  1. 自己紹介 @myu_mx(みゅーみくす) 趣味:体力維持の筋トレ 色んなPodcastを聴く 団地リノベ? 身内以外へのLTが初めて 略歴  社会人歴7年目の今年27歳 • 高専の情報系学科を卒業

    • 社内SE(WindowsServer、オンプレ、ネットワーク) • SES(Linux,AWSのEC2,S3周り) • Global Mobility Service株式会社 2021/1入社 ◦ AWS,Kubernetesなどを利用したサービス基盤 の提供 ◦ データ分析基盤の構築・運用、活用推進など
  2. 滞納した場合に遠隔制御 FinTechサービス提供 
 適正な金利ローン
 支払い 契 約 者 ファイナンス企業 FinTechサービス
 ※特許取得済 MCCS(デバイス)


    ・安全にモビリティを 
  制御可能なデバイス 
 ・世界各国で様々な
  モビリティに搭載可能 
 MSPF
 ・車両状況を リアルタイムで管理 ・Web APIで 外部システムと連携 
 オペレーション ・利用者に寄り添う
  オペレーション ・各国でのローカライズ ×
 ×
 当 社 Global Mobility Service株式会社のビジネスモデルについて
  3. 全体感 • 期間:3ヶ月でじっくり ◦ kubernetesアップデート1.15>1.19 ◦ eksctlのterraform化 • 規模感:ベンチャー •

    出社:ほぼフルリモート ◦ 緊急事態が無ければコミュニケーションのために大体隔週1日出社
  4. 指導者 • 現職でKubernetesに入門し経験2,3年目 自分がジョインするまで1人運用 • 技術書典で出していた書籍が商業誌化している ◦ AWSとTerraformで学ぶプロダクションレディな Kubernetes • Kubernetes

    Meetup Tokyo #32で登壇 ◦ 1人運用を支えるAmazon EKSノウハウ / Amazon EKS Know-Ho ▶分報チャンネルでコマンドレベルまで書きながらやり、詰まったらメンション +日次で朝会+週次で1on1 ▶到達点は示してもらいつつ、マンツーマンというよりはある程度自走 比較的恵まれている環境だったと思います
  5. 勉強会 • Kubernetes Meetup Novice • Kubernetes Meetup Tokyo •

    Infra Studyシリーズ 通信の部分とか分かったことなどの自分の立ち位置が確認できたのが良かった ( ˘⊖˘) 。o(この発表分かるぞ...!)
  6. ロードマップ その1 独立環境でのキャッチアップ • まずはkubernetes dashboard+metrics serverを題材 ◦ podからアクセスする ◦

    serviceからアクセスする • Prometheus/Grafanaを追加 ◦ 外からアクセスする ◦ ALBとの連携、nodeport、ingress-nginx-controller ◦ トラブルシューティング describeとかlogsとか 書籍・業務環境・AWSや公式のドキュメントを行ったり来たり (ここまでの内容は個人でも可能)
  7. ロードマップ その2 実ネットワークに構築 • Staging環境のSubnetにその1の環境を構築 • 業務コンテナをデプロイし動作確認 ◦ 自社のCI/CDパイプラインを活用 ◦

    DBアクセスの調整 ◦ 検証用のサブドメインを用意 ◦ E2Eテスト • 廃止APIを置き換えもしくはアップデート ◦ dashboard ◦ metrics server ◦ cluster autoscaler ※クラスター内のノード数をpodの状況に応じて自動的に調整
  8. ロードマップ その3 アップデート対応 • 切り替え手順の作成 • 新環境の作成 • 新環境に切り替える ◦

    重複不可のpod(batchとか)の切替 ◦ Stagingは一気にALBの向け先を切替 ◦ ProductionはALBのルールで徐々に切替 • 動作確認 ◦ E2Eテスト ◦ ALBのアクセス数確認 • 旧環境を削除
  9. 躓いたこと • namespaceが違うことに気づかない(-n オプションを知らない) ◦ port-forwardしようとするがdefaultのpodがないnamespaceを参照してしまう • 動かないときの切り分け方。最初は全くわからなかった。 ◦ モブプロでdescribeとかlogsとかの使い方を教わる

    • 既存で使っているテンプレートベースでやるとバージョン問題で躓く ◦ 最初はdashboardとかは公式のドキュメントに沿ってやったほうが良い • HTTPSの証明書問題で難航 ◦ 既存のドメインにサブドメインを生やして対応 • いきなり触るE2Eテストに焦る ◦ 使えるようになると便利でありがたくなる
  10. 良かったこと・感想 • 分報チャンネルの活用 ◦ 細かくコマンドを履歴に残すことで上手く行ったケースが残る &質問できて良い • アップデートに取り組むことで一通りキャッチアップできて自信になる • 途中までは別リージョンで行い、ドメイン使う辺りから東京リージョン

    ◦ 業務に影響を与える可能性が限りなく低いという精神的安全があって良かった • スポットインスタンスを活用できてすごい ◦ スポットインスタンスの賢い使い方だこれ • Kubernetesの運用、手間がかからずびっくり