🤲

Neco Weekly (2022-10-14号)

2022/10/17に公開

Neco Weekly (2022-10-14号)

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

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

🚢 Last Week in Kubernetes Development

Last Week in Kubernetes Development で Kubernetes 1.26 に含まれる予定の新機能が紹介されていました。

http://lwkd.info/2022/20221012

興味深いものをいくつか紹介したいと思います。

KEP-3488: CEL for Admission Control

NecoWeekly 2022-09-30号では、Common Expression Language (CEL) という記法で CRD のバリデーションができる機能について紹介しました。

以下の KEP では Validating Admission Webhook 利用する代わりに、CEL を利用してカスタマイズ可能な検証する機能を提供しようという提案です。

https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/3488-cel-admission-control

この機能が実装されると自前で Webhook を実装したり OPA/Gatekeeper などのポリシーエンジンを利用しなくても、リソースの検証がおこなえるようになるのでとても便利そうです。

In-place Update of Pod Resources

現在は、Pod の resources.limitsresources.requests を変更するためには、一度 Pod を作り直さなければなりません。
以下の KEP では Pod を動かしたまま resources.limitsresources.requests を変更できるようにしようという提案です。

https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1287-in-place-update-pod-resources

起動に時間がかかるなどなるべく再起動したくない Pod のリソース割り当てを変更したいときなどに役立ちそうです。

KEP-2258: Node service log viewer

kube-apiserver や kubelet など、コントロールプレーンノードやワーカーノード上で動作しているサービスのログを、kubectl コマンドで表示できるようにする機能の提案です。

https://github.com/kubernetes/enhancements/tree/master/keps/sig-windows/2258-node-service-log-viewer

kube-apiserver や kubelet などのログは、通常何らかのロギングシステムで収集するのが一般的ですが、kubectl コマンドで気軽にログが見られるようになると便利そうです。

👀 Notable Articles

Disabling Spectre V2 Mitigations Is What Can Impair AMD Ryzen 7000 Series Performance

https://www.phoronix.com/review/amd-zen4-spectrev2

AMD Ryzen 7000 CPU では、Linux kernel の spectre mitigation を off にするとかえって性能が悪化するという話です。
Ryzen では spectre mitigation の動作を想定して最適化されているため、このような結果になるのではないかと推測されています。

Assembly within! BPF tail calls on x86 and ARM

https://blog.cloudflare.com/assembly-within-bpf-tail-calls-on-x86-and-arm/

ARM で BPF の普通の関数呼び出しと末尾呼び出し(tail call)方式を混ぜると、うまく動いていなかったという話。
やや難しい内容ですが、通常のプログラムと BPF の末尾呼び出し方式の違いなどが解説されていてとても興味深い記事でした。

また、以下のツイートでの解説も参考になります。

https://twitter.com/toshi_pp/status/1579484287761797120

How Palantir Manages Continuous Vulnerability Scanning at Scale

https://blog.palantir.com/how-palantir-manages-continuous-vulnerability-scanning-at-scale-9fbe25039ff5

Plantir 社における大規模なサービス向けの継続的な脆弱性スキャンの管理方法についての取り組み。
SLA を定めてセキュリティレベルごとの目標対応時間を決めたり、Trivy をはじめとするスキャナーの紹介、アプリケーションコンテナに関してはスクラッチベースのコンテナイメージを利用し極力パッケージを含まないようにしているなど、様々な取り組みが紹介されています。

On Bypassing eBPF Security Monitoring

https://blog.doyensec.com/2022/10/11/ebpf-bypass-security-monitoring.html

BPF を利用したセキュリティモニタリングツールが数多く提供されていますが、BPF をバイパスするさまざまな方法について紹介している記事です。

たとえば Teleport には BPF を使ってセッションで操作した内容をすべて記録する機能があるのですが、tmux でセッションを作った後に親のプロセスを終了させることで、セッションのプロセスが別の cgroup に付け替えられ、BPF による制限を回避できるようになるそうです。

あとがき

CNDT2022 の CFP が無事採択されました🎉

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

またサイボウズ sat さんの CNDT2022 と Kube Day Japan 2022 の CFP も採択されました。こちらも楽しみですね。

https://event.cloudnativedays.jp/cndt2022/talks/1525
https://kubedayjapan2022.sched.com/event/1C8lG

サイボウズ Necoチーム 😺

Discussion