[2021/07/02] 今週のKubernetes + Cloud Native + その他ニュース
この記事は#kubenewsの2021年7月2日の回で話す、@bells17が今週気になったニュース記事をまとめたものです。
自分が気になった今週のKubernetes + Cloud Native + その他なニュースをまるっとまとめておいて、その中から時間内に話せるものを話そうと思ってます。
あと記事はざっと読んで書いてるものが多いので、詳細はリンクとかで貼ってる記事の中を読んでもらった方が正確です。
配信URL:
今週のピックアップ+感想
個人的な今週のピックアップや感想をまとめているので、時間ない人はここに書いた記事を軽く見て頂けると時短になります!
- Kubernetesのアンケート取ってるらしいので皆さまよければ書いてもらえると!
- Cloud Native Lounge #2のToriさんを始めとしたスピーカーの方のお話しがとても良かったです。Toriさんのセッションがめっちゃ刺さったので何度か見直したいです
- @Ladicleさんのコードリーディングメモで@Ladicleさんがどんなふうにコードを読んでメモをしてるのか知れて面白い
- @TenForwardさんによるInfra Study 2ndの解説記事読んであのイベント良かったな〜と思い出しました
- 合成モニタリングというのを初めて知ったんだけど、結構面白そうだった
- helmプラグインの作り方知らなかったので面白い
- cadvisorについての記事があったので、今までとりあえずcadvisorっていうのがk8sにあるんでしょ?くらいの今までの理解からステップアップしたい
- PodSecurity admissionがマージされたのでもうしばらくしたら来そう
- KubernetesでデフォルトでSeccompが設定される機能が追加されたので、Kubernetesのデフォルトコンテナセキュリティが強化される感じ
- Serviceのtype: LoadBalancer用のLoadBalancer切り替えのためのLoadBalancer Classがbetaに昇格
- Podを殺してJobの実行を一時停止するSuspend Jobがbetaに昇格
- Dockerfile内でapt-get upgradeしないのがベストプラクティスというのが無くなったとのこと。しばらく前に話が出て個人的にも最近気になってたので良きという感じ
- MariaDBの開発に日本人の方が関わることになるらしい
- サイボウズのsatさんによるソフトウェアのサポート業務の話が結構実際的にどんな感じのことをやるのかをイメージできてよかった
告知とか
Kubernetesのアンケート
Kubernetes Slackのいんだくたさん曰く
Kubernetes production readinessに関するアンケートを受け付けているみたいです。
本番で動かしてる皆さんのフィードバックを是非お願いします!
とのことです!
Cloud Native Database Meetupスポンサーセッション決まったらしいですよ
Open Policy Agent Rego Knowledge Sharing Meetup
OPAに関する勉強会が、来週の2021/07/07(水)19:00 〜 20:10に開催予定とのことです。
OPAなどの(セキュリティを含む)ポリシーをどうしているのか?といった内容は今まであまりなかったので気になります。
Cloud Native Lounge #2「クラウドネイティブなシステムの継続的改善と企業文化」
今週水曜日にCloud Native Lounge #2が行われました。
スポンサーのNewsPick社の事例話に加えて、Tori Haraさんが基調講演をしていて、相変わらず勉強になるなと思いました。
YouTubeのvideoIDが不正です
今のところスライドなどは公開されていないようなので、動画の方から見るしかなさそうでした。
Toriさんのお話しとしては個人的には継続的開発が必要な理由の言語化をすごいうまくされてるところが良いなと思ったのですが、ちゃんと消化できてない気がしてるのであと何度か見返したいなという感じです。
ちなみにToriさんがセッション中で言及されていた記事が以下とのことです。
3-shake SRE Tech Talk #2
3-shake SRE Tech Talk #2が開催されたようです。
先程動画も公開されたようなので、僕も後で見たいと思います。
ただスライドは全部アップロードされているようなので貼っておきます。
メインセッション
Docker と containerd の違い - コンテナログ編
Google Cloud で実践する SRE
LT
再送処理再入門
SRE本第三弾の(簡単な)ご紹介
READYFOR:SREの取り組み事例のご紹介
Kubernetes + Cloud Native
VPA Recommenderコードリーディングメモ
@Ladicle さんによるKubernetesのVPA Recommender機能を個人的にコードリーディングされた際のメモとのこと。
その機能をコードリーディングするモチベーションといった情報を構造化しメモするの良さそうだな。
ちなみにコードリーディング方法について紹介した記事
も紹介されているが、org-capture楽そうなのでvscodeでも似たようなプラグインが欲しい
(こうgitのリモートリポジトリがGithubだったらGithubのURLに変換してその行のリンクを取得できる的なやつ)
もし知ってる人いたら教えて下さい。
ちなみに僕が今技術書典向けに調べてるAPI Serverのメモは以下のような感じで、特にKEPベースで調べてるわけでも無いのでほんとスクラップという感じになってる。
@TenForwardさんによるInfra Study 2ndの解説記事
Infra Study 2ndで登壇された@TenForwardさんによるイベントの解説記事。
登壇者によるセッションまとめはありがたいですね。
kubectlの補完が爆速になるらしいです
個人的にcompletionsをコードで実装してる例を知らないので、こんな感じでやってるんだーというのが気になりました。
Kubernetes Namespaces vs. Virtual Clusters
これまでに何度か kubenews でも紹介してきた Virtual Cluster について記事。
(確か記事の執筆が開発元だった気がします)
Namespace と比べたときの Virtual Cluster メリット/デメリットについて書いてあります。
雑に紹介してしまうと Namespace よりも色んなレベルの分離が可能で、別のKubernetesクラスターを構築するより簡単という感じです。
また、Virtual Clusterの制限として
現時点では、仮想クラスターはすべてのKubernetes機能をサポートしているわけではありません。たとえば、仮想ストレージクラス、コンテナランタイム、ネットワークプラグインはvclusterで使用できないため、アプリケーション内でこれらの機能へのアクセスを制限するか、ホストクラスターにフォールバックする必要があります。
という感じで書かれてたので、機能制限がどうなってるのかを知れたのが良かったかなと。
WebLogic Kubernetes Operator
このツイートでWebLogic Kubernetes Operatorというのがあることを知りました。
WebLogicというのはJavaの実行環境的なものなんですかね..?
Google製のOracle Database Operator
似たような感じですが、GoogleがOracle Database Operatorをリリースしたそうです
まさかのOracle製じゃなくてGoogle製だそうです
Dockerfile内でapt-get upgradeしないというのがDocker Best Practiceなどから削除
Dockerfile内でapt-get upgradeしないというのがDocker Best Practiceなどから削除されたそうです
これに対して僕の方で「apt-get upgradeが必要なイメージを使ってた場合、開発で使う各イメージ全部でapt-get upgradeを毎回するの辛くない?」と思い、共通のベースイメージを作るのはありかなと伺ったのですが、それもありとのことでした。
Controller RuntimeのWebhookがmanager無しで利用可能に
前回の kubenews でアルパカさんが話してくれていたController RuntimeのWebhookがmanager無しで利用可能になったPRがこちらとのこと。
NGINX Ingress ControllerのサポートはKubernetes 1.18まで
networking.k8s.io/v1beta1 Ingress オブジェクトのサポートを切るためでサポートが制限されるとのこと。
別のところでもToriさんツイートされてたと思うけど、特にマネージドサービスなKubernetesとかKubernetesのバージョンアップが順調でないケースは影響を受けることがありそう。
似たような話はこれからも定期的に出てきそうな気はしてるので、Kubernetesのサポートバージョンへの追随は大事なんだろうなと思いました。
ECS Firelensの解説記事
ECS Firelensについての解説記事。
Firelensが
- Fluentd Docker ログドライバー
- TCPソケット経由のFluentd Forward Protocol メッセージ
を介してFirelensのコンテナに送られていて、FireLensはFluentd または FluentBitのシンタックスシュガーになってるらしいことがなんとなくわかった。
kubeweekly
CNCF End User Community Provides Insights into Kubernetes Cluster Management with Technology Radar
Kubernetesクラスター管理にどんなものを利用しているのかのアンケートを取ったという話し
以下にアンケート結果のページがある
CNCFエンドユーザーコミュニティの140以上の企業のうち24社から得られた解答を元にしたアンケートっぽい
- Operator
- Helm
などのツールが人気があるようだった
Monitoring Kyverno with Prometheus
Prometheusを使ってKyvernoのモニタリングする記事。
Go言語のeBook
$35から買えるGo言語のeBook
What is eBPF and why does it matter for observability?
NewRelicによるeBPFの記事
数分で作るhelmプラグイン
まずhelmのプラグインという存在を初めて知った
cAdvisorによるKubernetesモニタリングガイド
cAdvisor自体の知識が乏しいので参考にしたい
Ingress ControllerとかをKubernetesの外部で実行する方法
できることは知ってるけどやったことないやつなので興味ある
kuberhealthy/kuberhealthy
特に真新しいツールでは無いけど初めて知った。
Kubernetesで合成モニタリングができるツールとのこと。
合成モニタリングは以下のような記事があった
エンドユーザがウェブアプリケーションを介して進む経路をシミュレートするためのスクリプトを展開し、シミュレーターが体験した性能をレポートします。
ということで単体の情報ではわからないものをスクリプトなどを用いて生成して、その結果をモニタリングする、的なものかな?
んでkuberhealthyはどのように合成モニタリングを実現してるかというとkhcheckといったCRDを利用することで定義済の合成モニタリングを実行可能にする仕組みのよう。
更に以下のドキュメントを参考に独自の合成モニタリングを作り、それをCRDから利用することも可能らしい。
例えばPodのステータス以上をチェックする組み込みのスクリプトは以下のような感じで結構シンプルな感じ。
lwkd
PodSecurity admission
もうマージされてる
KEPはこれ
KEPの中にもあるように以下のような設定を書くことでPodSecurity admissionの設定を設定することができるっぽい
apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- name: PodSecurity
configuration:
defaults: # Defaults applied when a mode label is not set.
enforce: <default enforce policy level>
enforce-version: <default enforce policy version>
audit: <default audit policy level>
audit-version: <default audit policy version>
warn: <default warn policy level>
warn-version: <default warn policy version>
exemptions:
usernames: [ <array of authenticated usernames to exempt> ]
runtimeClassNames: [ <array of runtime class names to exempt> ]
namespaces: [ <array of namespaces to exempt> ]
...
kubectl command completion is now fully migrated from Bash to Go
これはすぱぶらさんのツイートで紹介済
API ServerがOpenTelemetry形式でのトレーシングをサポート
KEPはこれ
Add kubelet SeccompDefault alpha feature
KubeletでSeccompDefaultというfeature gateが追加され、有効にするとRuntimeDefaultというSeccompがデフォルトで利用されるようになるらしい
KEPはこれ
Feature: add unified on CRI to support cgroup v2
cgroup v2のメモリコントローラーを使ったメモリ分離を行うメモリQOSがCRIでサポートされたとのこと
KEP
Relax csiNodeIDMaxLength length limit to 256
CSIの仕様変更に伴い、CSI NodeリソースのIDが256まで延びたとのこと
Add doc.go explaining client-go apply support
client-goパッケージのapplyのドキュメントがdoc.goに追加されたとのこと
CSIServiceAccountToken ga
CSIドライバーのボリュームをマウントしてるPodのサービスアカウントトークンをマウントする機能がGAになったとのこと
以下のKEPのユーザーストーリーにあるような
- https://github.com/kubernetes-sigs/secrets-store-csi-driver でVaultを使ったときにVaultへの認証を行う
- Cert manager CSI dirverがCertificateRequestsリソースを操作する
といった際に利用されるらしい
KEP
kubectl command headers as default in beta
kubectlコマンドの実行情報(kubectl applyなど)をAPI Serverへのリクエストヘッダーに追加することで問題があったときの解析やモニタリングに役立てる機能のようだが、それがbetaになったとのこと
KEP
Promote loadbalancerclass feature to beta
Ingress classのtype: LoadBalancer版がbetaに
KEP
graduate SuspendJob to beta
SuspendJobというJobリソースでJobを一時的にPodを殺して一時停止する機能がbetaに
KEP
その他
日本人の開発者の方がMariaDB Server および storage engine の開発に関わられるらしいです
あたり前といえばあたり前ですが、MariaDBも独自に開発してるんだなというのをこのツイートを見て初めて認識しました。
そして日本人でも開発者の方いるんだなーと思い「おーすげぇ」と思いました(感想雑ですみません)。
Github Copilotと著作権のお話し
GitHub Copilotという関数名やコメントからコードをサジェストしてくれる機能?がテクニカルプレビューでリリースされたましたが、そのサジェストされたコードの著作権とかどうなってるん?というお話しです。
今年からKyashのCTOになられた @ymzkmct さんの記事
CTOになってどんなことやってる話しは、例えば今LayerXにいる松本さんとかは結構発信してるイメージだけど、全体としては情報が少なかったりまとまっていない気がしているので、CTO活動の一連として参考になりました。
ちなみにTwitterはこちらのようでした。
登 大遊さんのインタビュー記事
「問題に直面して、複雑な新しいやり方を発案する、すごく苦痛を伴う“頭脳を使うという方法”があります。これが先ほど説明した頭脳の強化によって、できるようになるのです。アヘンに対応する言葉で、私は“かぶれ”と呼んでいます。日本のICTは結局、本質的につらいことをやっていないのです。OS、ネットワーク、セキュリティ、クラウド技術といった現代社会の基礎を作ってこられた世界中の方々は、みんなつらいことをやっているのです。問題に直面して頭脳を使って自分たちで考え、解決してきたのです」
を見て結局は実際に色々やってくと大変なことが多いけど、1つ1つやっていくしかないよねという認識を改めてしました。
git undoコマンド
マージやリベースを戻すことができるgit undoコマンドの紹介。
このgit-branchlessというツールの1つらしいです。
gitの操作で元に戻したいときとか毎回調べてgit reset --hardしたりとかしてるけど、このプラグインでいい感じにできると良いなというのと、git周りの深い仕組みをあまり理解できてないので、こういうツールきっかけで理解深めたいなと。
IIJエンジニアの方によるQUICプロトコル解説
QUICプロトコルについての解説記事第一弾とのことだったので、続きを読んできたい。
記事で紹介されているQUIC Indicator入れてみたらたしかにhttps://www.google.comでQUICが利用されてるらしいことが確認できました。
DMMブックスのキャンペーン、60億円の損害出てたんですね
キャンペーン施策とか考えるのも大変だなと思いました。
Slackにdiscordみたいなボイス/ビデオミーティング機能が追加されるとのこと
追加されるそうです。
オンラインでちょっと相談とかがやりやすくなると良いですね。
LinkedInで92%ほどのユーザーデータが流出とのこと
とのことなので、LinkedInに色んな情報入れてた人は気をつけたほうが良いかも
(何をどう気をつければええんや..)
Goへのコントリビュートネタの紹介
今忙しいけど興味ある
サイボウズsatさんによるソフトウェアのサポート業務について
サイボウズsatさんによるソフトウェアのサポート業務についての記事です。
サポートエンジニアが実際にどんなふうに仕事をしているのかがイメージしやすかったので良かったです。
IPAによるゼロトラストについての資料
別にゼロトラスト詳しくないけど(どっちかというとService Meshとかの文脈のほうが馴染み深い)IPAがゼロトラストの記事を出すのってなんか浸透してきたな〜という印象です。
SRE と Developer のコラボレーションを支える仕組み
Quipper社のSRE と Developer のコラボレーションを支える仕組みについての記事。
今の僕の所属組織だとまたチーム構造が異なっているので、直接利用できる仕組みではないんだけど、エンジニアがコラボレーションできるコミュニケーションなどの仕組みづくりは大事だな〜と思ってるので参考にしたい。
GithubのWebhook Deliveries API機能がリリースされたらしい
@mumoshu さんのツイート見てると色々便利に使えそう〜
Discussion