2022/2/24(木) AWS好きエンジニア LT会 vol.1 https://btc.connpass.com/event/237974/ のLTスライド資料です。(ほぼネタですw)
※デモの手順とソースはコチラ【↓】です。 https://github.com/orinbou/bottlerocket-demo
Bottlerocketさわってみた2022/02/24発表:すなだAWS好きエンジニア LT vol.1https://github.com/bottlerocket-os/bottlerocket
View Slide
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 DLBUNDOK ソロティピー1TC
What is Bottlerocket?
教えてGoogle先生!呼んだ?
ちょっ、違っw
6https://aws.amazon.com/jp/bottlerocket/AWSが独自開発したコンテナ化されたワークロード(※EKS、ECSなど)を実行するために特別に設計された、軽量で安全な LinuxベースのオープンソースOSです。AMIとして提供されるので、コンテナを実行するワーカーノード(ホストOS)として利用します。AWSのサービスページはコチラです
7https://aws.amazon.com/jp/bottlerocket/Bottlerocketの利点(特徴)コンテナを効率的かつ安全に実行することができる軽量なホストOSで運用コストも削減できる(らしい)
8https://aws.amazon.com/jp/bottlerocket/名だたるプロジェクトパートナー企業達モニタリング & ロギングパートナー セキュリティパートナー 管理 & DevOps パートナー
20212020 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)※一般的なリリースの流れ
10https://aws.amazon.com/jp/bottlerocket/まだサービスページにはEKSのことしか書いてないですねw(Updが追い付いてない模様)よくある質問にはちゃんと書いてありましたwあれ?ECSは、、、
ということで今回は昨年10月にリリースされたAmazon EKSマネージド型ノードグループのクラスタをBottlerocketを使って構築してみたいと思います
apiVersion: eksctl.io/v1alpha5kind: ClusterConfigmetadata:name: bottlerocket-demo2region: us-west-1version: '1.21'managedNodeGroups:- name: bottlerocket-demo-nginstanceType: m5.largeamiFamily: BottlerocketminSize: 1maxSize: 4desiredCapacity: 3BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!eksctl create nodegroup -f nodegroup_bottlerocket.yamlまずはローカル(Windowsターミナル)で、、、
eksctl create nodegroup -f nodegroup_bottlerocket.yamlhttps://github.com/weaveworks/eksctl/releasesちょっ!話が違うwマネージドノードグループはAL2しかサポートしてない、だと、、あ、、、ふ、古っっ!!!これ化石?いつの eksctl なんやwww最新版はコレBottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
choco upgrade -y eksctleksctl version 0.83.0なんか最新じゃないけど、まいっか、、、BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
https://docs.aws.amazon.com/eks/latest/userguide/launch-node-bottlerocket.htmlあかんやん...(THT)eksctl create nodegroup -f nodegroup_bottlerocket.yamleksctl version 0.84.0なんか最新じゃないと、、、ダメらしいBottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
(何故かWSL壊れとるし)ローカルめんどいからCloud9でやろう
https://aws.amazon.com/jp/cloud9/結局Cloud9立てたらサクッと入った、、eksctl version 0.84.0BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
その他諸々の設定はAmazon EKS Workshopに助けてもらいましたhttps://www.eksworkshop.com/
この辺のやつを一通りやってね
eksctl create cluster –f bottlerocket.yamlやっと実行できたっぽい、、、apiVersion: eksctl.io/v1alpha5kind: ClusterConfigmetadata:name: bottlerocket-demo2region: us-west-1version: '1.21'managedNodeGroups:- name: bottlerocket-demo-nginstanceType: m5.largeamiFamily: BottlerocketminSize: 1maxSize: 4desiredCapacity: 3BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
【松子と15分後】
EKSクラスタ作成に成功しました!!ちゃんとBottlerocket OS 1.6.0(aws-k8s-1.21) になってます!BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
kubectl create namespace sock-shopkubectl apply -f microservices-demo/complete-demo.yamlデモアプリのPodも全てちゃんと動きました!← デモアプリで動作確認BottlerocketのEKSマネージド型ノードグループを eksctl でサクッとつくってみる!
• 実は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.htmlGH:https://github.com/bottlerocket-os/bottlerocket/blob/develop/sample-eksctl.yaml今回やってみて思ったことまー、あるあるではありますがw
【所感】
ぜんぜんサクッと作れんかったw(まぁ最初はそんなもんですよね)https://github.com/orinbou/bottlerocket-demo今回試したことは手順も含めてGitHubに置いてあるので良かったらどうぞ(ご参考まで)
最後にThank you AWS!ご清聴ありがとうございました!