Cloud Native Community Japan(CNCJ)が主催しているKubernetes Upstream Traning Japanというオンライン上のイベントに参加してきたので、その感想について書きます。
Zoom上で実施され、事前に練習用のrepositoryのforkやslackに参加したうえでのぞみました。
Kubernetes コミュニティ
Distribution is better than centralization
といった、Kubernetes Community Valuesが紹介されました。
Kubernetes系のrepositoryのPRはコメントで/<command>
を参加者が実行して、botが処理を進めていく印象がありましたが、これはAutomation over process
の現れであることがわかりました。
次にcommunityは具体的にはSpecial Interest Groups(SIGs)やWorking Groups(WGs)といったgroupで構成されている旨の解説がありました。SIGとWGの違いは、WGがSIGを横断して特定の問題に取り組む一時的なgroupである一方、SIGは永続的な点ということがわかりました。
SIGのlistはkubernetes/community
repositoryで管理されていました。
スライドのgroupの概要図がわかりやすかったです。
Kubernetesの開発に参加するには、まず自分の興味にあった、SIGを見つけるところからはじまるということがわかりました。各SIGの概要であったり、見つけ方の話はとても参考になりました。
特定のSIGについて知りたい場合は、KubeConのVideoをみてみるのが良いそうです。
コントリビューション実践
Kubernetesに限らず、OSS一般にcontributionする際にどういった態度が期待されているかや、どういったLabelでissueやPRが運用されているかといった解説でした。
自動でassigneされた、reviewerにreviewしてもらうだけでなくて、時には自分でapproverを探して、働きかける必要があるといった話もありました。
Kubernetesのrepositoryにいるk8s-ci-robotはprowというツールだと知りませんでした。 利用できるコマンドはCommand Helpで確認できるという知見も得ました。
コミュニケーション
Kubernetesにおけるコミュケーションがどこで、どんな風に行われているかについて。
Kubernetesのslackには、日本人ユーザ向けに、#jp-users
や#jp-mentoring
といったチャンネル等があり、困ったら日本語でも相談できそうでした。
Slack以外では、メーリングリスト、Zoomがあることもわかりました。
また、よく使われる英語表現や、英語を書く際に気を付ける点といったTipsの紹介もありがたかったです。
ハンズオン
ハンズオンでは実際にkubernetes-sigs/contributor-playgroundという練習用のリポジトリで、PRの作成からレビュー依頼、マージまでの流れを体験しました。
作成したPR。
どうやらこのリポジトリはCLAのサインアップ用PRの作成にも使われているらしいです。
ここまでよくしてくれるOSSはなかなかないと思います。
Kubernetes 開発環境
kubernetesのdirecotry構造の概要や、release cycle/process, localの開発環境の構築方法について。
開発する際に、localで動かすためにどういったツールが利用できるかの解説が非常に参考になりました。 local-up-cluster.sh
というscriptの存在も知れました。
その他、どういったテストが実施されていて、それぞれのtestをどうやって動かすかの解説もありました。
kubetest2
というテスト用のツールもあるそうです。
localで動かせるとソースを読む際にはかどるので、各コンポーネントをlocalで動かせるようにしたいです。
まとめ
非常に参考になり、おもしろかったです。
どういう情報がどのあたりあるかといった土地勘がちょっとだけついた気がしました。
講師の方々、ありがとうございました。