Slide 1

Slide 1 text

GitHub Actions Runner Controller 2024年3⽉13⽇ Shigeki Shoji

Slide 2

Slide 2 text

庄司重樹 受賞歴 AWS 2023 Japan Top Engineers 資格 AWS認定12冠 (All Certifications) Professional Scrum Product Owner I Professional Scrum Master I Professional Scrum Developer I コミュニティ AWS Community Builders program、関ジャバ、JJUG、Scala関⻄、もめんと会他 2

Slide 3

Slide 3 text

スマートファクトリ • こんな構成で取り組みたい 3

Slide 4

Slide 4 text

GitHub Actionsとは “GitHub Actions は、ビルド、テスト、デプロイのパイプライン を⾃動化できる継続的インテグレーションと継続的デリバリー (CI/CD) のプラットフォームです。” 引⽤元:GitHub Actions を理解する 4

Slide 5

Slide 5 text

Kubernetesでデバイスを扱うには • Device Plugins 標準 • gRPC を使って通信 • NVIDIA GPUを使うケースで使⽤されているのを⾒たことがあるかも • OPC-UA のようなデバイスを利⽤する場合 • Microsoft 社の公式ドキュメントにも登場する Akri が有⼒そう 5

Slide 6

Slide 6 text

k3sって何? • 本番環境で利⽤可能 • 本番環境で利⽤可能 • シングルノードから利⽤可能 • 軽量 • 事例も豊富にある。2020年7⽉のYoutube動画によると戦闘機 でも利⽤されているとのこと • SUSE社の有償サポートがある 6

Slide 7

Slide 7 text

GHAをセルフホストする • Self-hosted Runnerの概要はここ • RunnerをKubernetes環境で実⾏する GitHub Actions Runner Controller (ARC) がある • k3s の構成ファイルを環境変数に設定して helm コマンドでインス トールできる • export KUBECONFIG=/etc/rancher/k3s/k3s.yaml 7

Slide 8

Slide 8 text

ARCを利⽤するコツ • ARCのイメージには、通常のGHAで使⽤可能なコマンドが含ま れていない • ビルドに使⽤するWorkflowの定義は、GHAのWorkflowと揃えられる ように、使⽤するコマンドを含んだARCイメージを作成しておくこと がおすすめ 8

Slide 9

Slide 9 text

セルフホストの嬉しい点 • 特殊なデバイスのサポートが必要なコードの継続的インテグ レーションに使⽤できる。 9

Slide 10

Slide 10 text

参考資料 • GitHub Actions Runner Controller (ARC) をk3sにインストール 10

Slide 11

Slide 11 text

11 ご清聴ありがとうございました