Neco Weekly (2023-02-03号)
Neco Weekly (2023-02-03号)
サイボウズ Neco チームでは、 Neco Weekly という「最近気になる Kubernetes や Cloud Native 関連のネタを共有する会」を社内で開催しています。
本記事は共有会の中で紹介したネタをまとめたものです。
今回は第21回目の記事となります。
👀 New Releases
Go 1.20 is released!
Go 1.20 がリリースされました。
今回のリリースでは context
パッケージに WithCancelCause
と Cause
が追加され、context をキャンセルした理由が取得できるようになったり、os/exec
パッケージの Command
構造体に Cancel
と WaitDelay
が追加され、丁寧に終了処理が書けるようになったり、地味にうれしい機能が多い印象です。
他にもアリーナなどの気になる機能が盛りだくさん。
以下の記事の解説がとてもわかりやすいのでおすすめです。
- Go 1.20リリース連載が始まります&メモリアリーナの紹介&落ち穂拾い
- ライブラリとして公開したGoのinterfaceを変更するのは難しいと言う話
- arenaの端から端まで歩いてみる
- Go1.20 New Features
Stern v1.23
Kubernetes のログツール Stern v1.23 がリリースされました。
新機能がたくさんありますが、特に <resource>/<name>
形式のクエリが扱えるようになったのはうれしいですね。
New in Grafana Tempo 2.0: Apache Parquet as the default storage format, support for TraceQL
Tempo 2.0 では TraceQL の導入と、新しいバックエンドである Apache Parquet が導入されるとのこと。
TraceQL は特定のトレースデータを取得するためのクエリ言語です。
Apache Parquet はトレースデータを保持するためのストレージバックエンドで、オープンなフォーマットでデータが保存されるため、いろいろなツールからトレースデータが使いやすくなるみたいです。
Kustomize v5.0.0
Kustomize v5.0 がリリースされました。
新機能としては、出力するリソースの順番を制御できるようになったのがとても便利そうです。
Breaking Changes もたくさん含まれているのでアップグレードの際には注意しましょう。
👀 Notable Articles
Linuxコンテナの「次」としてのWebAssembly、の解説
最近は Kubernetes 界隈でも WASM が注目されていますが、どのような問題を解決するために WASM を導入しようとしているのかという話をわかりやすく紹介しています。
etcd: getting 30% more write/s
EBS のボリュームタイプを gp2 から gp3 にしたら etcd の書き込み性能が30%上がったという話。
ただし etcd では同期書き込みをおこなう必要があるので、スペックに記載されている IOPS ほどの性能は出ないとのこと。
Generating SBOMs for Your Image with BuildKit
前回の NecoWeekly でも紹介した BuildKit 0.11 の Attestations に関する記事。
これは SBOM や SLSA Provenance のようなコンテナイメージがどんなコンポーネントを含んでいるのかや、どのように作られたのかという情報をコンテナイメージに含めるというものです。
なお、以下のような問題も起きていたようなので注意ですね。
GitHub Actions – Updating the default GITHUB_TOKEN permissions to read-only
GitHub Actions の GITHUB_TOKEN のデフォルト権限がリードオンリーに変わるとのこと。
なお、既存のリポジトリに影響はなく、Organization やリポジトリごとに個別にデフォルト設定を変更することができるそうです。
🛠️ Tools, Frameworks, Libraries
Kubernetes での Job 実行機能を拡張する "Furiko" について
Kubernetes の Job/CronJob を機能強化した OSS です。
ジョブを実行する日時の範囲を指定できたり、指定時間内のランダムなタイミングで実行できたり、実行に失敗したら別のノードでリトライできたり、数多くの便利な機能を搭載していてなかなかよさそうです。
DBのスキーマをKubernetesのカスタムリソースとして管理するやつ。
データベースのスキーマを Kubernetes のカスタムリソースで扱えるようにするオペレーター実装。
現在のところ PostgreSQL, MySQL, CockroachDB, Cassandra, SQLite に対応しているようです。
我々が開発している MySQL Operator MOCO にもこういう機能が欲しいと考えていたので、うまく連携させられるといいなあ。
KubeWatch
Kubernetes のリソースを監視して、いつ何がデプロイされたとかバージョンアップされたなどの情報を知ることができるツール。
Slack をはじめ、さまざまな通知先に対応しているようです。
QuestDB
Prometheus のバックエンドに利用可能な時系列データベース実装。
問い合わせる際に PromQL ではなく SQL を利用できるようです。
📘 Books
『マスタリングLinuxシェルスクリプト 第2版』、こういう1冊手元に有るとずっと使える本はちゃんと買っておきたいですね
普段シェルスクリプトを書く機会は多いもののいつも適当に書いてるので、こういう書籍を読んでちゃんと勉強しておくべきなんでしょうね。
あとがき
CI/CD Conference 2023 には Neco チームから 2 件のプロポーザルを出していたのですが、どちらとも不採択でした。ざんねん😔
Discussion