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

Bottlerocket さわってみた

@ 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

@ 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

    View Slide

  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

    View Slide

  3. What is Bottlerocket?

    View Slide

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

    View Slide

  5. ちょっ、違っw

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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)
    ※一般的なリリースの流れ

    View Slide

  10. 10
    https://aws.amazon.com/jp/bottlerocket/
    まだサービスページにはEKSのことしか書いてないですねw(Updが追い付いてない模様)
    よくある質問にはちゃんと書いてありましたw
    あれ?ECSは、、、

    View Slide

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

    View Slide

  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ターミナル)で、、、

    View Slide

  13. eksctl create nodegroup -f nodegroup_bottlerocket.yaml
    https://github.com/weaveworks/eksctl/releases
    ちょっ!話が違うw
    マネージドノードグループはAL2しか
    サポートしてない、だと、、
    あ、、、ふ、古っっ!!!
    これ化石?いつの eksctl なんやwww






    BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!

    View Slide

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

    View Slide

  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 でサクッとつくってみる!

    View Slide

  16. (何故かWSL壊れとるし)
    ローカルめんどいから
    Cloud9でやろう

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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 でサクッとつくってみる!

    View Slide

  21. 【松子と15分後】

    View Slide

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

    View Slide

  23. kubectl create namespace sock-shop
    kubectl apply -f microservices-demo/complete-demo.yaml
    デモアプリのPodも全て
    ちゃんと動きました!
    ← デモアプリで動作確認
    BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!

    View Slide

  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

    View Slide

  25. 【所感】

    View Slide

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

    View Slide

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

    View Slide