クラウドネイティブなOSSプロジェクトが集結する展示企画で、新しいツールを発見したりツールの開発者に直接話を聞いてみよう!
プロジェクト名 | ホームページ | 概要 |
---|---|---|
otlc | https://github.com/Arthur1/otlc | OpenTelemetryのシグナルをOTLP形式で投稿できるコマンドラインツールです。現在はMetricsに対応しています。CIに組み込んでメトリクスを送信したり、監視SaaSの挙動を確認するためのテストデータを作ったりするのに便利です。 |
Kubernetes (Scheduler) | https://github.com/kubernetes/kubernetes | Kubernetesはコンテナを実行・管理するためのシステムです。Schedulerはコントロールプレーンのコンポーネントのうちの一つで、Pod(コンテナの集合体)をどのNode(VM, 物理マシン, etc)で実行するかを決断する責務を担っています。 |
kube-scheduler-simulator | https://github.com/kubernetes-sigs/kube-scheduler-simulator | Kubernetes Schedulerは通常決断の詳細が見えにくく、なぜそのPodがそのNodeに行くことになったのかを知るのが難しい現状があります。Kubernetes Scheduler SimulatorはSIG-Schedulingのサブプロジェクトの一つであり、Schedulerの内部で行われている詳細な決断を全て可視化することができるツールです。 |
Kube-scheduler-wasm-extension | https://github.com/kubernetes-sigs/kube-scheduler-wasm-extension | Kubernetes SchedulerにはWebhookを用いた拡張の方法と、直接Goで実装を書いてSchedulerに組み込む形での拡張の方法があります。Kube-scheduler-wasm-extensionはSIG-Schedulingのサブプロジェクトで、第三の選択肢としてWasmを通したSchedulerの拡張を実装しています。これにより、Webhookよりは早く、Go組み込みよりは楽に拡張ができるようになることを目指しています。 |
vald | https://vald.vdaas.org/ | ValdはLYのデータ規模向けに設計されたKubernetes NativeなOSSの分散近似近傍ベクトル検索エンジンです。数十億件規模のベクトルインデックスに対してmsオーダーでの近似検索を提供しています。柔軟なデプロイメント構成があるため、小規模から超大規模のインデックスを幅広くサポートしています。 |
kustomize | https://github.com/kubernetes-sigs/kustomize/ | Customization of kubernetes YAML configurations |
PipeCD | https://pipecd.dev/ | |
https://github.com/pipe-cd/pipecd/ | PipeCDは、サイバーエージェントが2020年10月にオープンソースとして公開したGitOpsスタイルのProgressive Deliveryツールです。 CNCFのSandbox Projectに採択されており、「The One CD for All {applications, platforms, operations}」をプロダクトビジョンとしています。 Kubernetes、Google Cloud Run、Amazon ECS、AWS Lambda、Terraformといったのマルチプラットフォームに対応し、現在は任意のプラットフォームに対応できるプラグイン機構を開発中です。 | |
aqua | https://aquaproj.github.io/ | aqua は汎用的な CLI の Version Manager です。 様々な CLI のバージョンを設定ファイルで宣言的に管理する事ができます。 ローカルや CI で統一的な方法でツールを管理することが出来、またプロジェクト毎に異なるバージョンのツールを用いることが出来ます。 Renovate による継続的 update にも対応しており、ツールのバージョンを最新に保つことが出来ます。 Supply Chain Security にも力を入れており、 checksum や様々な署名の検証などにも対応し安全なツールのインストールを実現しています。 |
gcp-workload-identity-federation-webhook | https://github.com/pfnet-research/gcp-workload-identity-federation-webhook | Kubernetes クラスタから Google Cloud を操作できるよう、workload identity federation (OIDC) による認証をセットアップする mutating admission webhook |
image-pull-secrets-provisioner | https://github.com/pfnet/image-pull-secrets-provisioner | Kubernetes クラスタで Amazon ECR や Google Artifact Registry に格納したコンテナイメージを使えるよう、OIDC にのっとり image pull secret を作成・更新する Kubernetes コントローラ |
tfaction | https://github.com/suzuki-shunsuke/tfaction | tfaction は Terraform Monorepo の CI を GitHub Actions で構築するための Framework (実態は action のコレクション) です。 Terraform の workflow に必要な様々な機能を提供しており、高度な workflow を比較的簡単に少ないメンテナンスコストで構築出来ます。 これから Terraform の IaC を始めようとしているスタートアップから、多くの Terraform State からなる巨大な Terraform Monorepo の CI に苦労している大規模な開発組織まで幅広くご利用いただけます。 |
Lima | https://lima-vm.io | WSL2 や Vagrant に似た VM 実行ツールです。containerd などのコンテナ実行のために使うことを前提としており、CNCF プロジェクトとして採択されています。最近 v1.0 をリリースしました。 |
stargz-snapshotter | https://github.com/containerd/stargz-snapshotter | コンテナイメージを高速にpullするためのプラグイン |
container2wasm | https://github.com/ktock/container2wasm | コンテナをWasm VM(e.g. WASIランタイムやブラウザ)で動かすツール |
tfcmt | https://github.com/suzuki-shunsuke/tfcmt | tfcmt は terraform plan, apply の結果を分かりやすく GitHub の Pull Request や Issue に通知する CLI です。 変更されるリソースの一覧を出力したり、リソースの削除や warning を分かりやすくしたり、 terraform plan の結果に応じて Pull Request や Issue に label をつけたりなど、様々な工夫を施して結果を分かりやすくし、開発者体験を改善します。 Terraform の CI で広く使われている OSS です。 |
github-comment | https://github.com/suzuki-shunsuke/github-comment | github-comment は CI の結果を分かりやすく GitHub の Pull Request や Issue に通知するための CLI です。 コマンドが失敗した場合や特定のエラーや warning を出力した場合など、ユーザーが設定した条件に基づいて結果をコメントする事ができ、 何のコマンドがなぜ失敗したのか分かりやすくし、原因の特定及び解決を素早く行えます。 コメントは template を用いて柔軟に記述することが出来ます。 古いコメントを非表示にする機能もあり、コメント欄を綺麗に保つことが出来ます。 CI の体験を一段階上のレベルに高めるのに役立つツールです。 |
nerdctl | https://github.com/containerd/nerdctl | containerdをDockerとほぼ同じコマンドで操作できるようにするCLIです。Dockerより機能の追加が早いことがあります。(高速にイメージをpullする機能など) |
Usernetes | https://github.com/rootless-containers/usernetes | ホストのroot権限無しで安全に実行できるKubernetesです |
Reproducible Containers | https://github.com/reproducible-containers | コンテナイメージのreproducibilityを高めることにより、サプライチェーンアタックのリスクを評価しやすくするツール群です |
Argo CD Diff Preview | https://github.com/dag-andersen/argocd-diff-preview | Argo CD Diff Preview is a tool that renders the difference between two branches in a Git repository, providing a clear and concise view of changes in manifests generated by Argo CD. It enables you to view diffs directly on pull requests, making it easier to review changes in Kubernetes manifests. Mentally parsing Helm templates and Kustomize patches is hard without rendering the actual output. Argo CD Diff Preview solves this problem by rendering the final manifests that will be applied to your cluster. It operates similarly to Atlantis for Terraform, creating a plan that outlines the proposed changes. Unlike other solutions, Argo CD Diff Preview operates without direct access to your infrastructure, which is advantageous for organizations with strict security requirements. Additionally, it’s more reliable than similar tools since it only looks at Git and does not interact with the actual state of your live cluster (which can change at any time). You can even run it locally before opening a pull request, offering a faster feedback loop. Since the diff is rendered by Argo CD itself, the output is as accurate as possible. Furthermore, it supports multi-source applications and Argo CD Config Management Plugins (CMP). |
goccy/go-yaml | https://github.com/goccy/go-yaml | goccy/go-yaml は、Kubernetes など Go で YAML を利用する際に必ず使われているOSSである github.com/go-yaml/yaml の問題点を解決するために、スクラッチからYAMLライブラリを作っているプロジェクトです。かれこれ5年ほど開発しており、すでにhelmやlima、trivyなど著名なOSSにも使われていますが、まだまだ go-yaml/yaml に比べて知名度が足りていません。go-yaml/yaml のメンテナンスが数年止まっていることから、自作のライブラリが Kubernetes を含めたエコシステム全体に対して必要になると考えており、さらに飛躍したいと考えています。 |
WAO: Workload Allocation Optimizer | https://github.com/waok8s | ソフトウェアの力でデータセンタを省エネにするプロジェクトです。K8sのカスタムスケジューラでPodの配置決定にサーバの消費電力予測値を活用しています。 https://speakerdeck.com/ebiiim/waok8s-k8sjp66 |
alertmanager-to-github | https://github.com/pfnet-research/alertmanager-to-github | Alertmanager からのアラート通知を GitHub イシューとして管理できます。アラートが解決されたらイシューが自動的にクローズされます。 |
node-operation-controller | https://github.com/pfnet-research/node-operation-controller | Node オブジェクトの Condition の変化に基づいて任意の処理を実行します。node-problem-detector と連携してノードで障害が発生したら自動的にノードを再起動するといったことができます。 |
stern | https://github.com/stern/stern | Kubernetes pods のログをいい感じにみるためのツールです。雑なクエリで名前にマッチする pods のログをまとめて閲覧できます。 |
kubectl-open-svc-plugin | https://github.com/superbrothers/kubectl-open-svc-plugin | ブラウザから Kubernetes Service に簡単にアクセスするための kubectl プラグインです |
kubectl-view-serviceaccount-kubeconfig-plugin | https://github.com/superbrothers/kubectl-view-serviceaccount-kubeconfig-plugin | Kubernetes ServiceAccount トークンを使ってクラスタにアクセスするための kubeconfig ファイルを生成する kubectl プラグインです。 |
scheduler-plugins | https://github.com/pfnet/scheduler-plugins | PFNのAI/ML向けのオンプレ Kubernetes 環境で利用しているスケジューラプラグインです。いまはまだ gang のスケジューラプラグインしかないですが、既存の coscheduling プラグインは他にもありますが PFN の gang は最新のスケジューラの機能を用いてより賢くスケジューリングできるように工夫しています。 |
kube-throttler | https://github.com/pfnet/kube-throttler | kube-throttler は Pod の使用するリソースを制御するための Kubernetes のスケジューラの拡張です。 kube-throttler を利用することで計算リソース全体の量や実行中の Pod の数が設定した閾値を超えた場合、新しい Pod のスケジュールを制限することができます。 また、ラベルセレクターを用いて特定の Pod 達を指定し、Throttle/ClusterThrottle CRDを通じてそれぞれの閾値を設定することができます。 Throttle は Pod の作成時にエラーを返すことはなく、Pod が Pending 状態で待機するようにしているのが大きな特徴です。 |
youki | https://github.com/youki-dev/youki | youki は CNCF の Sandbox プロジェクトで、OCI Runtime の Rust 実装です。開発途中でコンテナまわりを Rust で扱う時のライブラリ(crates)も作成し、提供しています。もっと細かいアピールポイントはいっぱいあるので README をぜひ読んで質問してください! |
赤丸の展示スペースへお越しください。
展示一覧はこちらのリンクからご確認できます。