Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bottlerocket さわってみた

2a24c941ec0a04be4e99265dedd23849?s=47 @ orinbou
February 25, 2022

Bottlerocket さわってみた

2022/2/24(木) AWS好きエンジニア LT会 vol.1
https://btc.connpass.com/event/237974/
のLTスライド資料です。(ほぼネタですw)

※デモの手順とソースはコチラ【↓】です。
https://github.com/orinbou/bottlerocket-demo

2a24c941ec0a04be4e99265dedd23849?s=128

@ orinbou

February 25, 2022
Tweet

More Decks by @ orinbou

Other Decks in Technology

Transcript

  1. Bottlerocket さわってみた 2022/02/24 発表:すなだ AWS好きエンジニア LT vol.1 https://github.com/bottlerocket-os/bottlerocket

  2. 2 自己紹介 会 社 : 株式会社ビッグツリーテクノロジー&コンサルティング( BTC Corporation ) 所

    属 : DX事業部(Agility CoE) 氏 名 : 砂田 文宏 <保有資格> • AWS Certified Solution Architect Professional • AWS Certified DevOps Engineer Professional • Kubernetes技術者認定 CKA(Certified Kubernetes Administrator) • Kubernetes技術者認定 CKAD(Certified Kubernetes Application Developer) • 認定スクラムマスター(Certified Scrum Master) • 認定プロダクトオーナー(Certified Scrum Product Owner) • 情報処理技術者試験:ソフトウェア開発技術者、情報セキュリティアドミニストレータ、他 <記事執筆> • Agile Japan 2016 公認レポーター(ManasLink ONLINE) • http://www.manaslink.com/articles/14786 <講演登壇> • DevLOVE現場甲子園2013(団チーム) • XP祭り2014LT、 XP祭り2021LT、他 趣味など • ゆるキャン🏕 • サイクリング🚴 2020 KONA ROVE DL BUNDOK ソロティピー1TC
  3. What is Bottlerocket?

  4. 教えてGoogle先生! 呼んだ?

  5. ちょっ、違っw

  6. 6 https://aws.amazon.com/jp/bottlerocket/ AWSが独自開発したコンテナ化されたワーク ロード(※EKS、ECSなど)を実行するために 特別に設計された、軽量で安全な Linuxベース のオープンソースOSです。 AMIとして提供されるので、コンテナを実行する ワーカーノード(ホストOS)として利用します。 AWSのサービスページはコチラです

  7. 7 https://aws.amazon.com/jp/bottlerocket/ Bottlerocketの利点(特徴) コンテナを効率的かつ安全に実行することができる軽量なホストOSで運用コストも削減できる(らしい)

  8. 8 https://aws.amazon.com/jp/bottlerocket/ 名だたるプロジェクトパートナー企業達 モニタリング & ロギングパートナー セキュリティパートナー 管理 & DevOps

    パートナー
  9. 2021 2020 2022 パブリックプレビュー発表 GA(一般提供開始) ※Amazon EKS (GA) および Amazon

    ECS(プレビュー) 3月 8月 6月 AMI for Amazon ECS(GA) https://aws.amazon.com/jp/blogs/news/bottlerocket-a-special-purpose-container-operating-system/ https://aws.amazon.com/jp/about-aws/whats-new/2020/08/announcing-general-availability-of-bottlerocket/ https://aws.amazon.com/jp/about-aws/whats-new/2021/06/the-bottlerocket-ami-for- amazon-ecs-is-now-generally-available/ 10月 Amazon EKS マネージド型ノードグループの ネイティブサポート開始 https://aws.amazon.com/jp/about-aws/whats-new/2021/10/amazon-eks- nodes-groups-bottlerocket/ https://aws.amazon.com/jp/blogs/news/bottlerocket-a-year-in-the-life/ これでEKSで使いやすくなったかな? Bottlerocketの最近のリリース状況はこんな感じです Bottlerocket プライベートプレビュー ↓ パブリックプレビュー ↓ 一般提供開始 (GA:General Availability) ※一般的なリリースの流れ
  10. 10 https://aws.amazon.com/jp/bottlerocket/ まだサービスページにはEKSのことしか書いてないですねw(Updが追い付いてない模様) よくある質問にはちゃんと書いてありましたw あれ?ECSは、、、

  11. ということで今回は 昨年10月にリリースされた Amazon EKS マネージド型ノードグループの クラスタをBottlerocketを使って 構築してみたいと思います

  12. apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: bottlerocket-demo2 region: us-west-1 version:

    '1.21' managedNodeGroups: - name: bottlerocket-demo-ng instanceType: m5.large amiFamily: Bottlerocket minSize: 1 maxSize: 4 desiredCapacity: 3 BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる! eksctl create nodegroup -f nodegroup_bottlerocket.yaml まずはローカル(Windowsターミナル)で、、、
  13. eksctl create nodegroup -f nodegroup_bottlerocket.yaml https://github.com/weaveworks/eksctl/releases ちょっ!話が違うw マネージドノードグループはAL2しか サポートしてない、だと、、 あ、、、ふ、古っっ!!!

    これ化石?いつの eksctl なんやwww 最 新 版 は コ レ BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
  14. choco upgrade -y eksctl eksctl version 0.83.0 なんか最新じゃないけど、まいっか、、、 BottlerocketのEKSマネージド型ノードグループを eksctl

    でサクッとつくってみる!
  15. https://docs.aws.amazon.com/eks/latest/userguide/launch-node-bottlerocket.html あかんやん...(THT) eksctl create nodegroup -f nodegroup_bottlerocket.yaml eksctl version 0.84.0

    なんか最新じゃないと、、、ダメらしい BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
  16. (何故かWSL壊れとるし) ローカルめんどいから Cloud9でやろう

  17. https://aws.amazon.com/jp/cloud9/ 結局Cloud9立てたらサクッと入った、、 eksctl version 0.84.0 BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!

  18. その他諸々の設定は Amazon EKS Workshop に助けてもらいました https://www.eksworkshop.com/

  19. この辺のやつを 一通りやってね

  20. eksctl create cluster –f bottlerocket.yaml やっと実行できたっぽい、、、 apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig

    metadata: name: bottlerocket-demo2 region: us-west-1 version: '1.21' managedNodeGroups: - name: bottlerocket-demo-ng instanceType: m5.large amiFamily: Bottlerocket minSize: 1 maxSize: 4 desiredCapacity: 3 BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
  21. 【松子と15分後】

  22. EKSクラスタ作成に成功しました!! ちゃんとBottlerocket OS 1.6.0 (aws-k8s-1.21) になってます! BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!

  23. kubectl create namespace sock-shop kubectl apply -f microservices-demo/complete-demo.yaml デモアプリのPodも全て ちゃんと動きました!

    ← デモアプリで動作確認 BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
  24. • 実はAWS公式マニュアルやGitHubにマネージド型ノードグループ の作り方が記載されてない(セルフマネージド型のみ) • セルフマネージド型の手順ですら英語と日本語で言ってることが違 うので注意(迷ったら最新の英語マニュアルを見ましょう) 英:https://docs.aws.amazon.com/eks/latest/userguide/create-managed-node-group.html 日:https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/launch-node-bottlerocket.html GH:https://github.com/bottlerocket-os/bottlerocket/blob/develop/sample-eksctl.yaml 今回やってみて思ったこと

    まー、あるあるではありますがw
  25. 【所感】

  26. ぜんぜんサクッと作れんかったw (まぁ最初はそんなもんですよね) https://github.com/orinbou/bottlerocket-demo 今回試したことは手順も含めてGitHubに置いて あるので良かったらどうぞ(ご参考まで)

  27. 最後に Thank you AWS! ご清聴ありがとうございました!