rights reserved. In Partnership with Shinichi Hama Twitter/@track3jyo Solutions Architect Amazon Web Service Japan ⻄⽇本のお客様の⽀援 & Container のあれこれ <好きな AWS サービス> Amazon ECS Amazon EKS AWS Fargate Amazon DynamoDB
rights reserved. In Partnership with YAML による宣⾔的デプロイメント Client Kubernetes Control Plane API Server $ kubectl apply –f kubenetes/pods.yml Worker Node kubelet Kubernetes はマニフェストの定義からクラスタ全体をあるべき状態に収束させる Worker Node kubelet Worker Node kubelet Pod を3つ起動する定義
rights reserved. In Partnership with YAML as an easy DSL 読みやすい • 静的に定義が宣⾔されている • インデントを使いデータの階層構造を定義 書きやすい • 配列・スカラー・ハッシュ等表現⼒が豊富 • タグ等が不要 わかりやすい • コメントを書くことができる
rights reserved. In Partnership with AWS Cloud Development Kit (AWS CDK) Your language Just classes and methods AutoComplete Inline documentation Sane defaults Reusable classes COMING SOON! AWS の環境を⼀般のプログラミング⾔語で記述できるツールキット https://aws.amazon.com/cdk/
rights reserved. In Partnership with Cloud Development Kit (CDK) for Kubernetes = cdk8s Developer cdk8s コード Kubernetes Kubernetes マニフェスト AWS CDK と同様の設計概念ですべての Kubernetes ユーザーを⽀援する
rights reserved. In Partnership with Main Components Core Framework K8s API objects(constructs) cdk8s-cli App Charts Constructs Workloads リソース Discovery & LB リソース Storage リソース
rights reserved. In Partnership with Kubernetes Kubernetes manifest cdk8s-cli Development Workflow Stacks & Constructs Source Code execute synthesize deploy cdk8s init typescript-app // create new project npm run compile && npm run test // compile and test cdk8s synth // create manifest yaml kubectl apply –f dist -R // push changes to K8s
rights reserved. In Partnership with Example - cdk8s+ code $ cdk8s synth • 9000 ポートで接続可能な Pod (Deployment) を 8000 ポートで公開する (expose) という直感的な実装 • Selector/label の明⽰的な定義を抽象化
rights reserved. In Partnership with ドキュメントと参考資料 公式サイト • https://cdk8s.io/ GitHub • cdk8s︓https://github.com/awslabs/cdk8s • cdk8s+(cdk8s-plus)︓https://github.com/awslabs/cdk8s/tree/master/packages/cdk8s-plus ドキュメント • cdk8s-Library︓https://awscdk.io/packages/[email protected]#/ • cdk8s-cli︓https://github.com/awslabs/cdk8s/blob/v0.30.0/packages/cdk8s-cli/README.md • cdk8s+︓https://awscdk.io/packages/[email protected]/#/ Example code ( Typescript, Python, Java ) • https://github.com/awslabs/cdk8s/tree/master/docs/getting-started 動画 • End YAML engineering with cdk8s! ︓ https://youtu.be/QcF_6ZSEd5k • CDK for Kubernetes - No more YAML engineering with cdk8s︓ https://youtu.be/PdR3SlkwjLM • Saying Goodbye to YAML Engineering with the CDK for Kubernetes︓ https://youtu.be/1PJqAYqxHio
rights reserved. In Partnership with blog 等 • CDK for Kubernetes のご紹介︓ https://aws.amazon.com/jp/blogs/news/introducing-cdk-for-kubernetes/ • Introducing cdk8s+: Intent-driven APIs for Kubernetes objects: https://aws.amazon.com/jp/blogs/containers/introducing-cdk8s-intent-driven-apis-for-kubernetes-objects/ • cdk8s, the future of Kubernetes application deployments?: https://brennerm.github.io/posts/cdk8s-the-future-of-k8s-application-deployments.html • Integrating cdk8s with Argo CD: https://brennerm.github.io/posts/integrating-cdk8s-with-argocd.html • Integrating cdk8s with Flux: https://brennerm.github.io/posts/integrating-cdk8s-with-flux.html • Awesome cdk8s: https://github.com/dungahk/awesome-cdk8s