📘

Neco Weekly (2022-10-07号)

2022/10/07に公開

Neco Weekly (2022-10-07号)

サイボウズ Neco チームでは、 Neco Weekly という「最近気になる Cloud Native 関連のネタを共有する会」を社内で開催しています。
本記事は共有会の中で紹介したネタをまとめたものです。

今回は第10回目の記事となります。

✨ Release Notes

Argo CD v2.5 release candidate

https://blog.argoproj.io/argo-cd-v2-5-release-candidate-e2121f2002ba

Argo CD v2.5のリリースが近づいています。
これまでのNecoWeeklyでも何度か取り上げていますが、Argo CD 2.5には楽しみな新機能が盛りだくさんです。

Necoチームでは特に以下の2つの新機能に注目です。

  • マニフェストの適用時にServer-Side Apply方式を指定できるようになる
  • 任意のnamespaceにApplicationリソースが作れるようになる

👀 Notable Articles

The Art of Logging

https://medium.com/@JaouherK/creating-a-human-and-machine-freindly-logging-format-bb6d4bb01dca

アプリケーションでログを出力する際のベストプラクティスが紹介されています。

  • ログは構造化し、必要な情報を出力しよう。そのための設計に時間をかけよう。
  • 問題を素早く解決できるように、可能な限りログを出力しよう。
  • ログの出力は後から行うのではなくコードを書くときにやろう。

ちなみに、Necoチームでは以下のようなポリシーでログを出しています。

トレース用のログは以下のポリシーで出力する。

- 処理を打ち切るようなエラーは必ずerrorログを出す。
- 処理を打ち切らない異常はwarningログを出す。
- 外界に影響を与える処理はinfoログを出す。
- 繰り返し処理の開始・終了時にinfoログを出す。
- それ以外気になるところはdebugログを仕込む。

それとは別個の概念として、処理を受け付けたことを記録するアクセスログ、また誰が何をしたかを記録するauditログも必要に応じて出力する。

Goエンジニアがk8sクラスタでノイジーネイバー問題に遭遇し、解決するまでの記録

https://zenn.dev/aanrii/articles/a32bc853584734

Kubernetesクラスタで発生したパフォーマンス障害の調査記録。
こうやって障害の調査手順を公開してくれるのはとてもありがたいです。

kube-apiserverをデバッグ実行する

https://zenn.dev/zoetro/scraps/315320bd9de410

delveを使ってkube-apiserverをデバッグ実行する方法を紹介しているスクラップです。
kube-apiserverの挙動を調べるために、たまにデバッグ実行したくなりますよね?

Scheduler: introduce WASM runtime to scheduler and load scheduler plugins via WASM runtime

https://twitter.com/sanpo_shiho/status/1577194545195802625

kube-schedulerを拡張するscheduler frameworkでは、現状独自バイナリをビルドして使う必要がありますが、wasmを使って独自のロジックを組み込めるようにしようという提案のようです。
これはなかなか面白そうですね。

Kubernetes Guide: Graceful Shutdown with Lifecycle preStop Hook

https://www.datree.io/resources/kubernetes-guide-graceful-shutdown-with-lifecycle-prestop-hook

WebアプリケーションをGracefulにシャットダウンする場合にはpreStop Hookを利用しようという記事。
また、以下のような注意点も紹介されています。

  • シャットダウン用のAPIはローカルからのみ叩けるようにしよう
  • preStopにSleepを使うのはやめよう
  • terminationGracePeriodSecondsを設定するときはpreStopとSIGTERMの両方の時間が含まれていることを考慮しよう

Upcoming Changes to GitHub SAML SSO with Teleport

https://goteleport.com/blog/community-github-saml-sso/

TeleportのCommunity EditionでGitHub SAML SSOが使えなくなるとのこと。利用するにはEnterprise Editionが必要になります。
なお、SAMLを有効にしていないただのGitHub SSOであれば、引き続きCommunity Editionでも利用できるようです。

📘 Books

「[試して理解]Linuxのしくみ ~実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】」が発売されます

https://satoru-takeuchi.hatenablog.com/entry/2022/09/23/143607

サイボウズ所属のsatさんの「Linuxのしくみ」の改訂版が発売されます。
Kubernetesでも利用されているコンテナ技術やcgroupについて追記されているようです。
楽しみですね。

Time to write a new BGP book

https://www.iljitsch.com/2022/09-29-time-to-write-a-new-bgp-book.html

オライリーのBGP本を書いた方が、新しいBGP本を出すそうです。
前回のものよりも短く、サンプルが多い書籍になるみたいです。

🤝 Events

Kubernetes Meetup Tokyo #53

https://k8sjp.connpass.com/event/259350/

いずれのセッションも面白い内容でした。
特にPodSecurityPolicyの移行については最終的にGoで際実装したということで、Necoチームと似たような道をたどっているので共感が持てました。

あと、セッション内で「つくって学ぶKubebuilder」や「Ginkgo/GomegaによるKubernetes Operatorのテスト手法」を紹介していただいて、ありがたいかぎりです。

KubeDay Japan 2022

https://events.linuxfoundation.org/kubeday-japan/program/schedule/

12月7日に開催されるKubeDay Japan 2022のスケジュールが公開されました。
Necoチームとして参加予定なので非常に楽しみです。

CloudNaitve Days Tokyo 2022

https://event.cloudnativedays.jp/cndt2022/talks

CFPの締め切りが10月10日までとなっています。
こちらも面白そうなセッションがたくさん集まってきてますね。

あとがき

急に寒くなってきましたが、体調を崩さないように気をつけましょう。

サイボウズ Necoチーム 😺

Discussion