aws-load-balancer-controllerにOSSコントリビュートした話

August 27, 2022


こちらは zenn の記事を移行したものです

業務で aws-load-balancer-controller を利用した際に生じたい問題が公式ドキュメントに記載されてなかったのでコントリビュートしました。その際にやったことの知見をまとめたいと思います。 https://github.com/kubernetes-sigs/aws-load-balancer-controller

PR した内容

何を PR したのかといいますと以下の内容です。 https://github.com/kubernetes-sigs/aws-load-balancer-controller/pull/1805

簡単に言うと、 EKS For Fargate で aws-load-balancer-controller を使うときは Helm から入れたほうがええよといった内容です。

きっかけ

業務で EKS for Fargate を使ったインフラ構築を行ったのですが、公式ドキュメント通り行くと manifests でやるか、Helm で入れるかの二択を迫られます。業務ではなるべる技術にばらつきを起こさないようにと考えていたので、 manifests のほうがよいと判断し Helm をやめ実装していました。 しかし、実装していると cert-manager のエラーで失敗してしまい困っていたところこのような issue を見つけました。

https://github.com/kubernetes-sigs/aws-load-balancer-controller/issues/1787

If you are installing on 1.16 and later, the cert-manager and yaml manifests should work without modifications. If cert-manager doesn't work in your case (for example, cert-manager will not work in Fargate), you can try the helm chart since it doesn't depend on the cert-manager.

Fargate では cert-manager 動かんだと、、、 というとこで公式ドキュメントに記述されてないし追記してあげよと思いました。

リポジトリを Fork しよう

まずはリポジトリを Fork しましょう。Fork できたら、ローカルに clone してブランチを切りましょう。 また、コントリビュートする際はコントリビュータ向けのドキュメントがありますのでそちらを一読するといいかもしれません。今回の aws-load-balancer-controller にドキュメントがあります。 https://github.com/kubernetes-sigs/aws-load-balancer-controller/blob/main/CONTRIBUTING.md

CLA に署名しよう

Kubernetes では CLA に署名しないとコントリビュートできません!! 下記の README を見ながらでもいいのですが、全部英語でわかりづらいのでこちらの Qiita の記事をおすすめします。Qiita も公式も同じようなことなのでどちらを読んでも大丈夫かと思います。 https://github.com/kubernetes/community/blob/master/CLA.md https://qiita.com/jlandowner/items/d14d9bc8797a62b65e67

コードもしくはドキュメントを修正しよう

それでは、該当箇所を確認して、修正を行います。 ドキュメント修正で注意することは、日本語を忘れることです。

元々英語のドキュメントなのでなるべくシンプルな英文で伝わるように書きましょう。 おすすめはまず自分で英文を書いて、その後 DeepL 翻訳Google 翻訳 で、修正して行くのがおすすめです。 あまり難しい英文よりシンプルな方がいいです。

Pull Request を立て、レビューしてもらおう

ローカルでの簡単な動作確認なども完了したら、 push して Pull Request を立てましょう。 Pull Request を行うと勝手に CI が走ります。 aws-load-balancer-controller の場合このようなメッセージが表示されます。 test test

上から順に

  1. CLA 署名してね
  2. test してね

といった内容が表示されます。 今回はドキュメントの修正なので 2 番目はとりあえず無視して、1 番目の CLA 署名をパスしましょう。 署名ができていたなら、このような感じでコメント追記してあげると CI が勝手に動きます。 github

CLA 署名をパスしたらコントリビュータがレビューしてくれるのを待ちましょう。 github2

無事マージされました 🎉

終わりに

いかかでしょうか? まずはドキュメントから入っていくことでコントリビュートする壁が少し低くなるかと思います。 私もまだ初心者ですが、これから月1くらいでコントリビュートできたらと思います




© 2023 komisan19 All Rights Reserved.