-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.json
1 lines (1 loc) · 538 KB
/
index.json
1
[{"authors":null,"categories":null,"content":"Hi, I\u0026rsquo;m a software engineer interested in Kubernetes and other cloud-native technologies. I am currently working as an software engineer at Z Lab Corporation.\nI want to make use of the experience I gained on the job to contribute to other companies. If your company has any problems or questions about Kubernetes, please contact us!\n","date":-62135596800,"expirydate":-62135596800,"kind":"term","lang":"en","lastmod":-62135596800,"objectID":"2525497d367e79493fd32b198b28f040","permalink":"https://d-kuro.github.io/author/d-kuro/","publishdate":"0001-01-01T00:00:00Z","relpermalink":"/author/d-kuro/","section":"authors","summary":"Hi, I\u0026rsquo;m a software engineer interested in Kubernetes and other cloud-native technologies. I am currently working as an software engineer at Z Lab Corporation.\nI want to make use of the experience I gained on the job to contribute to other companies.","tags":null,"title":"d-kuro","type":"authors"},{"authors":[],"categories":[],"content":"Note ","date":1616513038,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1616513038,"objectID":"0415f331fbfcb76d7317bf5cbf0c9834","permalink":"https://d-kuro.github.io/diaries/202103/20210324/","publishdate":"2021-03-23T15:23:58Z","relpermalink":"/diaries/202103/20210324/","section":"diaries","summary":"Note ","tags":[],"title":"20210324","type":"diaries"},{"authors":[],"categories":[],"content":"Note etcd の Learner とは? - Qiita https://qiita.com/kkohtaka/items/b7b0475428821b22814a 投票権を持たない member のこと failure tolerance は壊れてもいい member の数 etcd のヘルスチェックの参考実装 | etcd/ep_command.go at v3.5.0-alpha.0 · etcd-io/etcd https://github.com/etcd-io/etcd/blob/v3.5.0-alpha.0/etcdctl/ctlv3/command/ep_command.go#L127-L155 https://github.com/etcd-io/etcd/commit/00e00f16bb1df1cf14476e76a35ac5346f4d8e3a health というキーを Get している ヘルスチェックがしたいだけなので取得の結果とかはどうでもいい、みたいな感じかな 1: Go 1.16 and Generics with tenntenn - e34.fm https://e34.fm/1/ 新しい podcast, @deeeet さんとかがやってる ","date":1616426224,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1616426224,"objectID":"3b52943c758f3a7053429a311eab9c38","permalink":"https://d-kuro.github.io/diaries/202103/20210323/","publishdate":"2021-03-22T15:17:04Z","relpermalink":"/diaries/202103/20210323/","section":"diaries","summary":"Note etcd の Learner とは? - Qiita https://qiita.com/kkohtaka/items/b7b0475428821b22814a 投票権を持たない member のこと failure tolerance は壊れてもい","tags":[],"title":"2021-03-23","type":"diaries"},{"authors":[],"categories":[],"content":"Note Rustにおける「厳密な型付け」という文化 - Qiita https://qiita.com/dalance/items/93928ad1e0f68f9baa2d Rust の型付けについて、Go との比較が載っておりわかりやすい Astroで構造化されたTerraformを管理してみる - BIGLOBE Style | 多様な働き方やイノベーションを生み出すヒントをピックアップするメディア https://style.biglobe.co.jp/entry/2021/03/19/100000 Terraform を構造化して実行できるやつ、ディレクトリ分けられるのは嬉しい気もする go 1.16のgo installを用いてtools.goを削除する https://zenn.dev/tarotaro0/articles/1d5bf3e32d5ef2 go install がバージョン指定可能になったので tools.go みたいなのがいらなくなった といっても go.mod に記載されることでライブラリのアップグレードエコシステムに載れる恩恵は確かにあったなあとは思う Go database/sql tutorial http://go-database-sql.org/ *sql.DB は使いまわせとか rows.Close() 呼べとか rows.Err() でエラーハンドリングしろとか ","date":1616339795,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1616339795,"objectID":"b58ba21f44928358f8865cf7088a8559","permalink":"https://d-kuro.github.io/diaries/202103/20210322/","publishdate":"2021-03-21T15:16:35Z","relpermalink":"/diaries/202103/20210322/","section":"diaries","summary":"Note Rustにおける「厳密な型付け」という文化 - Qiita https://qiita.com/dalance/items/93928ad1e0f68f9baa2d Rust の型付け","tags":[],"title":"2021-03-22","type":"diaries"},{"authors":[],"categories":[],"content":"Note How To Get Hired as a Software Engineer into a FAANG Company · Dan Hacks https://www.danhacks.com/software/getting-hired-by-a-faang-company.html テックジャイアントに Software Enginner として採用される方法、まとまってる Cracking the Coding Interview, 読みたい applyconfigurations · pkg.go.dev https://pkg.go.dev/k8s.io/[email protected]/applyconfigurations Server Side Apply を typed client から実行できるやつらしい、Kubernetes v1.21 から追加 With なんちゃらでフィールドを足していく fucntional option pattern みたいな感じっぽい https://pkg.go.dev/k8s.io/[email protected]/applyconfigurations/apps/v1 KEP-2155: Apply for client-go\u0026rsquo;s typed client https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/2155-clientgo-apply 上のやつの KEP Goアセンブリの書き方 - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2021/03/17/113000 Go でアセンブリが書ける Goの型同一性を理解する https://zenn.dev/syumai/articles/77bc12aca9b654 Go の言語仕様輪読会、面白そう Ladicle/kubectl-rolesum: Summarize Kubernetes RBAC roles for the specified subjects. https://github.com/Ladicle/kubectl-rolesum RBAC をいい感じに見やすく表示してくれる kubectl plugin、便利 ","date":1616253400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1616253400,"objectID":"70b48eab2608d6b4ecd7575e007b0818","permalink":"https://d-kuro.github.io/diaries/202103/20210321/","publishdate":"2021-03-20T15:16:40Z","relpermalink":"/diaries/202103/20210321/","section":"diaries","summary":"Note How To Get Hired as a Software Engineer into a FAANG Company · Dan Hacks https://www.danhacks.com/software/getting-hired-by-a-faang-company.html テックジャイアントに Software Enginner と","tags":[],"title":"2021-03-21","type":"diaries"},{"authors":[],"categories":[],"content":"Note APIとかABIとかシステムコールとか https://zenn.dev/satoru_takeuchi/articles/d0fc7eaa0080cf7c0b02 Goでひたすら運用を楽にするためのコード生成をする. Goでコード生成をするのは非常に簡単なので、それを公式のコードや記述のサンプルを… | by kaneshin | Eureka Engineering | Medium https://medium.com/eureka-engineering/advent-calendar-2020-vim-go-generate-1a2a11cf0cef go/format パッケージ便利、imports もほしい golang : template で変数を利用した前後のスペース、改行をなくす - i++ http://increment.hatenablog.com/entry/2018/08/05/121602 {{-, -}} のような書き方をすると前後のスペースが消せるらしい eBPFやLD_PRELOADを利用した共有ライブラリの関数フック - Tier IV Tech Blog https://tech.tier4.jp/entry/2021/03/10/160000 カーネルわからん Dockerfileのベストプラクティス Top 20 | Sysdig https://sysdig.jp/blog/dockerfile-best-practices/ いいまとめ golang.org/x/tools/go/analysis を使ってコードを自動修正する - tchsskのブログ https://tchssk.hatenablog.com/entry/2019/12/03/070000 SuggestedFix、便利 netaddr.IP: a new IP address type for Go · Tailscale Blog https://tailscale.com/blog/netaddr-new-ip-type-for-go/ IP アドレスを扱うためのライブラリの紹介 途中出てくる _ [0]func() ってなんだっけってなったけど == による比較を禁止するやつらしい // A Value pointer is the handle to an underlying comparable value. // See func Get for how Value pointers may be used. type Value struct { _ [0]func() // prevent people from accidentally using value type as comparable cmpVal interface{} // resurrected is guarded by mu (for all instances of Value). // It is set true whenever v is synthesized from a uintptr. resurrected bool } Ensmallening Go binaries by prohibiting comparisons – The acme of foolishness https://dave.cheney.net/2020/05/09/ensmallening-go-binaries-by-prohibiting-comparisons 比較禁止させるやつについての Dave Cheney さんのブログ マイクロサービスでもポチポチ確認するための Kubefork | Wantedly Engineer Blog https://www.wantedly.com/companies/wantedly/post_articles/313884 Watntedly の Pull Request 環境についてのブログ、めっちゃキレイに作られてる気がする Kubernetes マニフェストを Go で書きやすくする https://zenn.dev/f110/articles/01e208994e09f2 プログラムで書くのだるいわかる Kubernetes 1.18: clientgofix を使って client-go の新しいインタフェイスに移行する | text․superbrothers․dev https://text.superbrothers.dev/200406-trying-to-use-clientgofix/ clientgofix、役に立った ちゃんと -custom-clientset オプションが生えててちゃんとしてた $ clientgofix -h Usage of clientgofix: -custom-clientset string package path of generated client sets that need to be transformed, multiple paths separated by commas, eg: github.com/xx/xxrepo/pkg/clientset/versioned/typed/ -overwrite overwrite files in place (defaults to true; when false, results are written to peer tmp files) (default true) -version display version information -write-on-error write files even when errors are encountered (defaults to false) ","date":1616167288,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1616167288,"objectID":"ee5ec2c5f467ded8c4086903cb1ca173","permalink":"https://d-kuro.github.io/diaries/202103/20210320/","publishdate":"2021-03-19T15:21:28Z","relpermalink":"/diaries/202103/20210320/","section":"diaries","summary":"Note APIとかABIとかシステムコールとか https://zenn.dev/satoru_takeuchi/articles/d0fc7eaa0080cf7c0b02 Goでひたすら運用","tags":[],"title":"2021-03-20","type":"diaries"},{"authors":[],"categories":[],"content":"Note Rust入門 https://zenn.dev/mebiusbox/books/22d4c1ed9b0003 新しい Rust book Intro to generics - Learn Go with tests https://quii.gitbook.io/learn-go-with-tests/meta/intro-to-generics Go の generics について学べる Kubernetes: etcd の容量管理 (Quota, Compaction, Defrag など) - Qiita https://qiita.com/tkusumi/items/235cb82847d0bf8795ae しらなかった etcd はデフォルトで 2GB のクォータ が設定されています。これを超過すると etcd が Alarm があがった状態となり、アラームを解除 (disarm) しない限り、etcd にデータの書き込みができない状態になります。\n etcd docs | Metrics https://etcd.io/docs/v3.4.0/metrics/ etcd_mvcc_db_total_size_in_bytes この辺ドキュメントにない etcd_server_quota_backend_bytes Server のクオータはこれ File Finder | etcd https://github.com/etcd-io/etcd/find/ae7862e8bc8007eb396099db4e0e04ac026c8df5 metrics.go で find するとソースが見つかる Prometheus の rate() 関数を理解する - Qiita https://qiita.com/MetricFire/items/356054a458f4ef88d86c rate() よくわからん AA(アスキーアート)で始める各種図のすヽめ - Qiita https://qiita.com/ayumu838/items/ceb6106a02ab99db9f7b ASCIIFlow https://asciiflow.com/#/ AA で図を書けるやつ、前より使いやすくなってた ","date":1615130195,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1615130195,"objectID":"e5d50fe45cbbbb33c01e6d9d54b37ba5","permalink":"https://d-kuro.github.io/diaries/202103/20210308/","publishdate":"2021-03-07T15:16:35Z","relpermalink":"/diaries/202103/20210308/","section":"diaries","summary":"Note Rust入門 https://zenn.dev/mebiusbox/books/22d4c1ed9b0003 新しい Rust book Intro to generics - Learn Go with tests https://quii.gitbook.io/learn-go-with-tests/meta/intro-to-generics Go の generics について学","tags":[],"title":"2021-03-08","type":"diaries"},{"authors":[],"categories":[],"content":"Note EKS FargateとGKE Autopilotの違いを外野から解説してみる - inductor\u0026rsquo;s blog https://blog.inductor.me/entry/2021/03/07/011811 GKE Autopilot, 顧客が求めていたもの感ある [Kubernetes] ConfigMapのおさらい (作成・環境変数・ボリュームマウント) - zaki work log https://zaki-hmkc.hatenablog.com/entry/2020/12/27/211908 subPath の挙動がよくわからない人をやっていた ConfigMapの場合もこの機能を使うことができ、でもConfigMapではディレクトリの概念がないため、「マウントポイントにファイルをマウント」という動作になる。\n ","date":1615043732,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1615043732,"objectID":"003432f7cf65a2e6b93b992a3b45dc17","permalink":"https://d-kuro.github.io/diaries/202103/20210307/","publishdate":"2021-03-06T15:15:32Z","relpermalink":"/diaries/202103/20210307/","section":"diaries","summary":"Note EKS FargateとGKE Autopilotの違いを外野から","tags":[],"title":"2021-03-07","type":"diaries"},{"authors":[],"categories":[],"content":"Note Entire Computer Science Curriculum in 1000 YouTube Videos | Laconicml https://laconicml.com/computer-science-curriculum-youtube-videos/ Youtube で学ぶ CS、こういうの絶対見ない問題 ","date":1614957619,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614957619,"objectID":"6521d366a6805a643274d445fb823238","permalink":"https://d-kuro.github.io/diaries/202103/20210306/","publishdate":"2021-03-05T15:20:19Z","relpermalink":"/diaries/202103/20210306/","section":"diaries","summary":"Note Entire Computer Science Curriculum in 1000 YouTube Videos | Laconicml https://laconicml.com/computer-science-curriculum-youtube-videos/ Youtube で学ぶ CS、こういうの絶対見ない問","tags":[],"title":"2021-03-06","type":"diaries"},{"authors":[],"categories":[],"content":"Note ","date":1614871219,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614871219,"objectID":"6d773a07462a1dcf2e7e6180ea627ff7","permalink":"https://d-kuro.github.io/diaries/202103/20210305/","publishdate":"2021-03-04T15:20:19Z","relpermalink":"/diaries/202103/20210305/","section":"diaries","summary":"Note ","tags":[],"title":"2021-03-05","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetes 専門家として知るべき 47 のこと - 誰かの役に立てばいいブログ https://ymmt.hatenablog.com/entry/k8s-things 意外とわからない人をやった, Kubernetes 専門家難しい Goエラーハンドリング戦略 https://zenn.dev/nobonobo/articles/0b722c9c2b18d5 ビルドタグ使いこなしたい Go言語の記述の迷いどころについて https://zenn.dev/nobonobo/articles/19c84c231aff46 レシーバはポインタ Goクイズアドベントカレンダー1日目 - tenntenn.dev https://tenntenn.dev/ja/posts/2020-12-01-goquiz/ 構造体のコピーはハマるのでポインタ コピーチェック, 使ってみたい 構造体はとりあえずポインタ関連リンク https://github.com/golang/go/wiki/CodeReviewComments#copying https://github.com/golang/go/wiki/CodeReviewComments#receiver-type ","date":1614784533,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614784533,"objectID":"76bedb81764ca3298e7a80be505ed27a","permalink":"https://d-kuro.github.io/diaries/202103/20210304/","publishdate":"2021-03-03T15:15:33Z","relpermalink":"/diaries/202103/20210304/","section":"diaries","summary":"Note Kubernetes 専門家として知るべき 47 のこと - 誰かの役に立てばいいブログ","tags":[],"title":"2021-03-04","type":"diaries"},{"authors":[],"categories":[],"content":"Note strategicpatch · pkg.go.dev https://pkg.go.dev/k8s.io/apimachinery/pkg/util/strategicpatch Strategic Merge Patch するアレ、apimachinery に生えてた Scaling Kubernetes to 7,500 Nodes https://openai.com/blog/scaling-kubernetes-to-7500-nodes/ 7500 Node の大規模 Kubernetes クラスタ, 流石に色々なところがボトルネックになって大変そう ","date":1614697985,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614697985,"objectID":"98723cbe7dd89c5db4c45a9bd106b66a","permalink":"https://d-kuro.github.io/diaries/202103/20210303/","publishdate":"2021-03-02T15:13:05Z","relpermalink":"/diaries/202103/20210303/","section":"diaries","summary":"Note strategicpatch · pkg.go.dev https://pkg.go.dev/k8s.io/apimachinery/pkg/util/strategicpatch Strategic Merge Patch するアレ、apimachinery に生えてた","tags":[],"title":"2021-03-03","type":"diaries"},{"authors":[],"categories":[],"content":"Note ko を使用して Go アプリケーションを Cloud Run に迅速にデプロイ | Google Cloud Blog https://cloud.google.com/blog/ja/products/containers-kubernetes/ship-your-go-applications-faster-cloud-run-ko Dockerfile なしでコンテナイメージをビルドしてくれて Image registory に push してくれるやつ ググラビリティ低くない? Kubernetes におけるシャーディングの方法 https://github.com/kubernetes/kube-state-metrics/blob/v2.0.0-beta/pkg/sharding/listwatch.go#L89-L98 Object の UID を hash して mod すれば良さそう、かんたん StatefulSet Pod にして末尾の数字を使えば shard number になる どうでもいいけど mod のことをモジュロ演算っていうらしい golangで使える 軽量ハッシュアルゴリズム FNV - Qiita https://qiita.com/yamasaki-masahide/items/d478dd111690bc84784a 上ので出てきたやつ ","date":1614611730,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614611730,"objectID":"5ec324b7b9faba2aab2710b4ae4f1ecc","permalink":"https://d-kuro.github.io/diaries/202103/20210302/","publishdate":"2021-03-01T15:15:30Z","relpermalink":"/diaries/202103/20210302/","section":"diaries","summary":"Note ko を使用して Go アプリケーションを Cloud Run に迅速にデプロイ | Google Cloud","tags":[],"title":"2021-03-02","type":"diaries"},{"authors":[],"categories":[],"content":"Note Prometheus の監視対象を ServiceDiscovery で動的に設定する - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-service-discovery Kubernetes の Service Discovery について Implementing Custom Service Discovery | Prometheus https://prometheus.io/blog/2018/07/05/implementing-custom-sd/ なんかファイルでやるのがあんま好きじゃない Go 1.16で追加されたiotest.ErrReaderを使ってio.Readerの異常系をテストする https://zenn.dev/rinchsan/articles/e37c4444d601246536ec 便利そう ","date":1614525289,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614525289,"objectID":"a56ed907c89400126e045071a37b67a5","permalink":"https://d-kuro.github.io/diaries/202103/20210301/","publishdate":"2021-02-28T15:14:49Z","relpermalink":"/diaries/202103/20210301/","section":"diaries","summary":"Note Prometheus の監視対象を ServiceDiscovery で動的に設定する - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-service-discovery Kubernetes の Service Discovery について Implementing","tags":[],"title":"2021-03-01","type":"diaries"},{"authors":[],"categories":[],"content":"Note Prometheus でカスタムコレクタを用意する - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-custom-collector Promethues の Collector interface について RDBMSの先を行く?NewSQLを支えるアルゴリズムRaftをGoで紐解く - カミナシ開発者ブログ https://kaminashi-developer.hatenablog.jp/entry/newsql-algorithm-raft-golang Go での Raft の実装 ","date":1614438891,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614438891,"objectID":"12b61600c63a873ffce2bc12057affbf","permalink":"https://d-kuro.github.io/diaries/202102/20210228/","publishdate":"2021-02-27T15:14:51Z","relpermalink":"/diaries/202102/20210228/","section":"diaries","summary":"Note Prometheus でカスタムコレクタを用意する - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-custom-collector Promethues の Collector interface について RD","tags":[],"title":"2021-02-28","type":"diaries"},{"authors":[],"categories":[],"content":"Note expfmt · pkg.go.dev https://pkg.go.dev/github.com/prometheus/common/expfmt Prometheus の metrics の parser RDBMSの先を行く?NewSQLを支えるアルゴリズムRaftをGoで紐解く - カミナシ開発者ブログ https://kaminashi-developer.hatenablog.jp/entry/newsql-algorithm-raft-golang Go での Raft の実装 ","date":1614352498,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614352498,"objectID":"f37e81622723f57537214abeebbfd8ea","permalink":"https://d-kuro.github.io/diaries/202102/20210227/","publishdate":"2021-02-26T15:14:58Z","relpermalink":"/diaries/202102/20210227/","section":"diaries","summary":"Note expfmt · pkg.go.dev https://pkg.go.dev/github.com/prometheus/common/expfmt Prometheus の metrics の parser RDBMSの先を行く?NewSQLを支え","tags":[],"title":"2021-02-27","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kyopro Encyclopedia of Algorithms (ア辞典) | Kyopro Encyclopedia of Algorithms https://dic.kimiyuki.net/ 競プロとかで使えそうなアルゴリズム時点 Goのプロジェクト構成の基本 https://zenn.dev/nobonobo/articles/4fb018a24f9ee9 GOPATH, まあ罠っぽい ","date":1614266460,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614266460,"objectID":"19f848e0c0fb1934ff13767c258decb5","permalink":"https://d-kuro.github.io/diaries/202102/20210226/","publishdate":"2021-02-25T15:21:00Z","relpermalink":"/diaries/202102/20210226/","section":"diaries","summary":"Note Kyopro Encyclopedia of Algorithms (ア辞典) | Kyopro Encyclopedia of Algorithms https://dic.kimiyuki.net/ 競プロとかで使えそうなアルゴ","tags":[],"title":"2021-02-26","type":"diaries"},{"authors":[],"categories":[],"content":"Note Contexts and structs - The Go Blog https://blog.golang.org/context-and-structs context を構造体に入れるのはやめようねという話のブログ 完全マネージドな k8s ! GKE Autopilot を解説する | by Kazuu Shinohara | google-cloud-jp | Feb, 2021 | Medium https://medium.com/google-cloud-jp/gke-autopilot-87f8458ccf74 Autopilot, EKS Farget よりは筋が良いなーと思ってみてる ","date":1614180677,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614180677,"objectID":"2f5b2b760a1e391f65cce5bca663c978","permalink":"https://d-kuro.github.io/diaries/202102/20210225/","publishdate":"2021-02-24T15:31:17Z","relpermalink":"/diaries/202102/20210225/","section":"diaries","summary":"Note Contexts and structs - The Go Blog https://blog.golang.org/context-and-structs context を構造体に入れるのはやめようねという話の","tags":[],"title":"2021-02-25","type":"diaries"},{"authors":[],"categories":[],"content":"Note Dependabot で go modules の自動アップデートをする(go mod tidy付き) - Hack Your Design! https://blog.toshimaru.net/dependabot-gomod/ 最近 Renovate の go mod tidy うまく動かないのがだるので dependabot でいいかってなってる ","date":1614095975,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614095975,"objectID":"61d8e2fb592b8ba5c9dee5e48c4b9f87","permalink":"https://d-kuro.github.io/diaries/202102/20210224/","publishdate":"2021-02-23T15:59:35Z","relpermalink":"/diaries/202102/20210224/","section":"diaries","summary":"Note Dependabot で go modules の自動アップデートをする(go mod tidy付き) - Hack","tags":[],"title":"2021-02-24","type":"diaries"},{"authors":[],"categories":[],"content":"Note Dockerfile COPY の –chown フラグが便利 – oki2a24 https://oki2a24.com/2019/10/26/dockerfile-copy-chown-is-useful/ 便利 Kubernetes Pod Security Policy Deprecation: All You Need to Know https://blog.aquasec.com/kubernetess-policy PSP が廃止されるのでその代替手段について ","date":1614006913,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1614006913,"objectID":"375bcda75e7f6ed5503e333f556d3119","permalink":"https://d-kuro.github.io/diaries/202102/20210223/","publishdate":"2021-02-22T15:15:13Z","relpermalink":"/diaries/202102/20210223/","section":"diaries","summary":"Note Dockerfile COPY の –chown フラグが便利 – oki2a24 https://oki2a24.com/2019/10/26/dockerfile-copy-chown-is-useful/ 便利 Kubernetes Pod Security Policy Deprecation: All You Need to","tags":[],"title":"2021-02-23","type":"diaries"},{"authors":[],"categories":[],"content":"Note hediet/browser-ext-github-monaco: This extension brings the famous Monaco editor to Github https://github.com/hediet/browser-ext-github-monaco Chrome 拡張, GitHub のテキスト欄にシンタックスハイライトとか出してくれる 最近素の GitHub の勝手にインデントいれてくるやつだるかった ","date":1613920482,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613920482,"objectID":"bcaa6c1c0e93e25257f8e256952ef285","permalink":"https://d-kuro.github.io/diaries/202102/20210222/","publishdate":"2021-02-21T15:14:42Z","relpermalink":"/diaries/202102/20210222/","section":"diaries","summary":"Note hediet/browser-ext-github-monaco: This extension brings the famous Monaco editor to Github https://github.com/hediet/browser-ext-github-monaco Chrome 拡張, GitHub のテキスト欄にシンタックス","tags":[],"title":"2021-02-22","type":"diaries"},{"authors":[],"categories":[],"content":"Note Rust Cookbook for Beginners - CADDi Tech Blog https://caddi.tech/archives/2381 Rust 学習リンク Rust Language Cheat Sheet https://cheats.rs/ Rust cheat sheet ","date":1613834079,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613834079,"objectID":"c495c7847bea5d927d39eb8e66bd1c46","permalink":"https://d-kuro.github.io/diaries/202102/20210221/","publishdate":"2021-02-20T15:14:39Z","relpermalink":"/diaries/202102/20210221/","section":"diaries","summary":"Note Rust Cookbook for Beginners - CADDi Tech Blog https://caddi.tech/archives/2381 Rust 学習リンク Rust Language Cheat Sheet https://cheats.rs/ Rust cheat sheet","tags":[],"title":"2021-02-21","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go で普通にアセンブリが動かせるらしい https://twitter.com/dqneo/status/1362624226088218629?s=21 ","date":1613747869,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613747869,"objectID":"d4ac095868478432a57efe5ec178725c","permalink":"https://d-kuro.github.io/diaries/202102/20210220/","publishdate":"2021-02-19T15:17:49Z","relpermalink":"/diaries/202102/20210220/","section":"diaries","summary":"Note Go で普通にアセンブリが動かせるらしい https://twitter.com/dqneo/status/1362624226088218629?s=21","tags":[],"title":"2021-02-20","type":"diaries"},{"authors":[],"categories":[],"content":"Note New module changes in Go 1.16 - The Go Blog https://blog.golang.org/go116-module-changes go.mod と go.sum が勝手に更新されなくなったらしい cmd/go: lazy module loading · Issue #36460 · golang/go https://github.com/golang/go/issues/36460 ビルドするパッケージに関わるモジュール以外は読み込まないやつかな, ほしい ","date":1613661294,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613661294,"objectID":"98b9b6eb316d4b33223649bb28e74818","permalink":"https://d-kuro.github.io/diaries/202102/20210219/","publishdate":"2021-02-18T15:14:54Z","relpermalink":"/diaries/202102/20210219/","section":"diaries","summary":"Note New module changes in Go 1.16 - The Go Blog https://blog.golang.org/go116-module-changes go.mod と go.sum が勝手に更新されなくなったらし","tags":[],"title":"2021-02-19","type":"diaries"},{"authors":[],"categories":[],"content":"Note GoDocドキュメントの書き方 - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2018/05/14/150400 最近わりと気を使って書く機会が増えた シェルスクリプトを書くときにいつもやるやつを調べた - Please Sleep https://blog.lufia.org/entry/2018/05/14/150400 シェルスクリプト書くとき毎回 set なんちゃらでググってる Extend the Kubernetes API with CustomResourceDefinitions | Kubernetes https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#controlling-pruning x-kubernetes-preserve-unknown-fields 未指定のフィールドの prun を制御できるらしい でも kubectl 側で validate error 出ると思うのであんまり恩恵のあるケースなさそう ","date":1613575584,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613575584,"objectID":"3b242a676cce35381701c36a178acc7f","permalink":"https://d-kuro.github.io/diaries/202102/20210218/","publishdate":"2021-02-17T15:26:24Z","relpermalink":"/diaries/202102/20210218/","section":"diaries","summary":"Note GoDocドキュメントの書き方 - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2018/05/14/150400 最","tags":[],"title":"2021-02-18","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go 1.16 リリース https://twitter.com/golang/status/1361770660306034690 手元の OSS とか諸々書き換えないと CalicoによるKubernetesピュアL3ネットワーキング - Yahoo! JAPAN Tech Blog https://techblog.yahoo.co.jp/infrastructure/kubernetes_calico_networking/ Calico とか DSR の話 ロードバランサ再入門 https://www.slideshare.net/ryuichitakashima3/ss-72343772 ネットワーク弱すぎて L3DSR とか言われてもあんまりわかっていない Enable kubectl-get to strip managed fields by knight42 · Pull Request #96878 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/pull/96878 kubectl が managedFields を消してくれるようになったっぽい, 最高便利 Yahoo! JAPAN 仮想化への取り組み ~ OpenStack with LBaaS ~ https://www.janog.gr.jp/meeting/janog33/doc/janog33-lbaas-miyata-1.pdf Yahoo の L3DSR についてとか ","date":1613488478,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613488478,"objectID":"05d4f8c1a0abd59a00aaa21def12cb94","permalink":"https://d-kuro.github.io/diaries/202102/20210217/","publishdate":"2021-02-16T15:14:38Z","relpermalink":"/diaries/202102/20210217/","section":"diaries","summary":"Note Go 1.16 リリース https://twitter.com/golang/status/1361770660306034690 手元の OSS とか諸々書き換えないと Calicoに","tags":[],"title":"2021-02-17","type":"diaries"},{"authors":[],"categories":[],"content":"Note 負荷分散装置:DSR(Direct Server Return)方式 - ぢろーらものおもちゃ箱:引っ越し後 https://blog.goo.ne.jp/jiro-omocha/e/7d18783e28725dc54c894df52534f306 DSR の話 DSR の話, 図解付き https://www.opensquare.co.jp/lmfile/support/document/TraningG/Module-8.pdf Linux kernel Parameters Arp_ignore \u0026amp; arp_announce Detailed https://topic.alibabacloud.com/a/linux-kernel-parameters-arp_ignore-amp-arp_announce-detailed_1_16_30136827.html ","date":1613402099,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613402099,"objectID":"fcce3b349017f60b49e545cb57df5bbd","permalink":"https://d-kuro.github.io/diaries/202102/20210216/","publishdate":"2021-02-15T15:14:59Z","relpermalink":"/diaries/202102/20210216/","section":"diaries","summary":"Note 負荷分散装置:DSR(Direct Server Return)方式 - ぢ","tags":[],"title":"2021-02-16","type":"diaries"},{"authors":[],"categories":[],"content":"Note Early Access Program for Qodana, a New Product That Brings the \u0026ldquo;Smarts\u0026rdquo; of JetBrains IDEs Into Your CI Pipeline | JetBrains Blog https://blog.jetbrains.com/idea/2021/02/early-access-program-for-qodana-a-new-product-that-brings-the-smarts-of-jetbrains-ides-into-your-ci-pipeline/ JetBrains IDE の静的解析が OSS になったのかな scale · pkg.go.dev https://pkg.go.dev/k8s.io/client-go/scale k8s.io/client-go/scale, scale API を扱う client-go のパッケージ Structure size optimization in Golang (alignment/padding). More effective memory layout (linters). | by Roman Romadin | Feb, 2021 | ITNEXT https://itnext.io/structure-size-optimization-in-golang-alignment-padding-more-effective-memory-layout-linters-fffdcba27c61 Go の構造体のメモリサイズの最適化をしてくれる linter について フィールドの順番が重要らしいがあんまり理解できてない GCPでSagaパターン実装 https://zenn.dev/tkatsuma/articles/2c443fa4fb5bd7 分散トランザクションの実装パターンである Saga について、失敗した場合、以前のトランザクションを打ち消すトランザクションを発行する kind(Kubernetes IN Docker)でローカルの Docker image を使う方法 - Qiita https://qiita.com/ryysud/items/81f8e17ddb140980ab8c kind load docker-image IMAGE:TAG, たまに忘れる stackrox/Kubernetes_Security_Specialist_Study_Guide https://github.com/stackrox/Kubernetes_Security_Specialist_Study_Guide CKS, 難しそう Goのtestを理解する in 2018 #go - My External Storage https://budougumi0617.github.io/2018/08/19/go-testing2018 TestMain の記述を見直した テストにビルドタグ書くのとかも便利そう Tutorial - Write a Shell in C • Stephen Brennan https://brennan.io/2015/01/16/write-a-shell-in-c/ C で shell 実装するやつ、読めてない プロダクト名に Kubernetes を入れるには CNCF の承認がいるよというやつ https://twitter.com/amsy810/status/1298043098073665536 kustomize v4 https://twitter.com/superbrothers/status/1361118746253819904 hashicorp/go-getter が外されたので今まで取得できていた外部リソースが一部取得できなくなった模様 ","date":1613315664,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613315664,"objectID":"636495e922222dfbf39c7496c075885f","permalink":"https://d-kuro.github.io/diaries/202102/20210215/","publishdate":"2021-02-14T15:14:24Z","relpermalink":"/diaries/202102/20210215/","section":"diaries","summary":"Note Early Access Program for Qodana, a New Product That Brings the \u0026ldquo;Smarts\u0026rdquo; of JetBrains IDEs Into Your CI Pipeline | JetBrains Blog https://blog.jetbrains.com/idea/2021/02/early-access-program-for-qodana-a-new-product-that-brings-the-smarts-of-jetbrains-ides-into-your-ci-pipeline/ JetBrains IDE の静的解","tags":[],"title":"2021-02-15","type":"diaries"},{"authors":[],"categories":[],"content":"Note Goのバイナリから依存するmodule情報を取り出す方法 - knqyf263\u0026rsquo;s blog https://knqyf263.hatenablog.com/entry/2021/02/12/162928 go version -m \u0026lt;binary\u0026gt; で依存 module が見れるらしい The Best Golang Blogs - DEV Community https://dev.to/draft/the-best-golang-blogs-4ih7 全然読んだことなかった ","date":1613229254,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613229254,"objectID":"a3c60404bf70dd922ac8ecd709a7a104","permalink":"https://d-kuro.github.io/diaries/202102/20210214/","publishdate":"2021-02-13T15:14:14Z","relpermalink":"/diaries/202102/20210214/","section":"diaries","summary":"Note Goのバイナリから依存するmodule情報を取り出す方法 -","tags":[],"title":"2021-02-14","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go 標準のソート・アルゴリズム https://zenn.dev/spiegel/articles/20200926-standard-sort-package-by-golang Go の sort パッケージのソートアルゴリズム、条件によって使い分けされている Building container images in Go https://ahmet.im/blog/building-container-images-in-go/ google/go-containerregistry の話、Go だけで Image Pull したりレイヤーを足したりできる ","date":1613142884,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613142884,"objectID":"9e596ca2edcab4217e2405802fd2803e","permalink":"https://d-kuro.github.io/diaries/202102/20210213/","publishdate":"2021-02-12T15:14:44Z","relpermalink":"/diaries/202102/20210213/","section":"diaries","summary":"Note Go 標準のソート・アルゴリズム https://zenn.dev/spiegel/articles/20200926-standard-sort-package-by-golang Go の sort パッケージのソートアル","tags":[],"title":"2021-02-13","type":"diaries"},{"authors":[],"categories":[],"content":"Note Rustの非同期ランタイムが多すぎる?io_uringなやつを使おう! - nttlabs - Medium https://medium.com/nttlabs/rust-async-runtime-comparison-7a79a4477fed 非同期ランタイム非公式ってなんでそんな感じになってるんだろう Go 1.16のsignal.NotifyContext() | フューチャー技術ブログ https://future-architect.github.io/articles/20210212/ 便利 signal.NotifyContext で作った context を使って exec.CommandContext すると孫プロセスが作られたとき詰むよね Goで子プロセスを確実にKillする方法 | makiuchi-d.github.io http://makiuchi-d.github.io/2020/05/10/go-kill-child-process.ja.html 覚え直しシリーズ Network Policy Editor for Kubernetes https://editor.cilium.io/ Network Policy をビジュアル化できるやつ、便利っぽい ","date":1613056475,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1613056475,"objectID":"f6c17763a9db502425cb7b78b489a09f","permalink":"https://d-kuro.github.io/diaries/202102/20210212/","publishdate":"2021-02-11T15:14:35Z","relpermalink":"/diaries/202102/20210212/","section":"diaries","summary":"Note Rustの非同期ランタイムが多すぎる?io_uringなや","tags":[],"title":"2021-02-12","type":"diaries"},{"authors":[],"categories":[],"content":"Note Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記 https://wonderwall.hatenablog.com/entry/rust-command-line-tools 便利、だけど整備がめんどいのでデフォルトで使えるものを使おうってなるやつ Markdown support in milestones - GitHub Changelog https://github.blog/changelog/2021-02-11-markdown-support-in-milestones/ milestone に markdown を書けるようになったらしい ","date":1612970148,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612970148,"objectID":"ad971f034ff2433ed9770a5879e02636","permalink":"https://d-kuro.github.io/diaries/202102/20210211/","publishdate":"2021-02-10T15:15:48Z","relpermalink":"/diaries/202102/20210211/","section":"diaries","summary":"Note Linuxメモ : あると便利かもしれないRust製コマンドラ","tags":[],"title":"20210211","type":"diaries"},{"authors":[],"categories":[],"content":"Note DBaaS on Kubernetes: Under the Hood - Percona Database Performance Blog https://www.percona.com/blog/2021/02/08/dbaas-on-kubernetes-under-the-hood/ Kubernetes で DBaaS を提供するときのパターンについて A fork() in the road を読んで.md https://gist.github.com/4ge32/7139dfd3041d4d4723cd9faff18e9279 fork() syscall の問題点について ブラウザにおけるメモリリークを解決するために読んでおけると良い資料 - mizdra\u0026rsquo;s blog https://www.mizdra.net/entry/2021/02/09/001157 メモリ撹拌、初めて聞いた 税の視点で街を歩く :: デイリーポータルZ https://dailyportalz.jp/kiji/streethee-daikanyama-01 経費について、おもしろい kstatus: k8s リソースの status 判定ツール https://zenn.dev/dulltz/articles/02f2e820a658b8 .status.conditions の format, type の一覧とかが決まってるっぽい, controller これに準拠したほうがいいんだろうなあ cgroup による oom-killer の状態を eventfd 経由で受け取る https://harasou.jp/2015/05/20/cgroup-eventfd/ cgroup の OOM について Go1.16からのio/ioutilパッケージ | フューチャー技術ブログ https://future-architect.github.io/articles/20210210/ リリースされたら移行していきたい Living with Kubernetes: API Lifecycles and You – The New Stack https://thenewstack.io/living-with-kubernetes-api-lifecycles-and-you/ Kubernetes の API version について Versions in CustomResourceDefinitions | Kubernetes https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/ Webhook conversion, 知らなかった CRD の API Version を webhook で変換するやつらしい CustomResourceConversionWebhook が名称かな CRD の spec に書くっぽい kubernetes/test/images/crd-conversion-webhook at v1.15.0 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/tree/v1.15.0/test/images/crd-conversion-webhook 上のやつの実装 Getting Started with Traefik and the New Kubernetes Service APIs https://traefik.io/blog/getting-started-with-traefik-and-the-new-kubernetes-service-apis/ Kubernetes の新しい Service API について, 現状は CRD として提供されているらしい HTTPRoute という Object がある, Ingress っぽい Rustのturbofishを理解する | κeenのHappy Hacκing Blog https://keens.github.io/blog/2019/12/03/rustnoturbofishworikaisuru/ なんもわからんな ","date":1612884796,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612884796,"objectID":"f42b29bffef10e4faedaab8a57747704","permalink":"https://d-kuro.github.io/diaries/202102/20210210/","publishdate":"2021-02-09T15:33:16Z","relpermalink":"/diaries/202102/20210210/","section":"diaries","summary":"Note DBaaS on Kubernetes: Under the Hood - Percona Database Performance Blog https://www.percona.com/blog/2021/02/08/dbaas-on-kubernetes-under-the-hood/ Kubernetes で DBaaS を提供するときのパターンにつ","tags":[],"title":"2021-02-10","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go 1.16のgo installについて | フューチャー技術ブログ https://future-architect.github.io/articles/20210209/ ツールのインストールをするときは go install を使おうというやつ、バージョン指定ができるようになったらしい Go: Type Parameters - Draft Design 抄訳 https://zenn.dev/shuyo/books/4536b976e169ca Go の generics design の日本語訳 time.Time の比較が覚えれん! | text.Baldanders.info https://text.baldanders.info/golang/order-by-time/ わかる a が b より before/after なのか a は b より before/after なのかで毎回悩む UnixNano とかに変換して比較するのが一番わかりやすくねってなってる Time Methed Result a == b a.Equal(b) true a == b a.Before(b) false a == b a.After(b) false a \u0026gt; b a.Equal(b) false a \u0026gt; b a.Before(b) false a \u0026gt; b a.After(b) true a \u0026lt; b a.Equal(b) false a \u0026lt; b a.Before(b) true a \u0026lt; b a.After(b) false ","date":1612797277,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612797277,"objectID":"2014b7f64062dd4d9508846c2bc45c0c","permalink":"https://d-kuro.github.io/diaries/202102/20210209/","publishdate":"2021-02-08T15:14:37Z","relpermalink":"/diaries/202102/20210209/","section":"diaries","summary":"Note Go 1.16のgo installについて | フューチャー技術ブ","tags":[],"title":"2021-02-09","type":"diaries"},{"authors":[],"categories":[],"content":"Note 多次元 Pod 自動スケーリングの構成 | Kubernetes Engine ドキュメント | Google Cloud https://cloud.google.com/kubernetes-engine/docs/how-to/multidimensional-pod-autoscaling MultidimPodAutoscaler, HPA と VPA のあわせ技みたいなやつ OSS になってないのかな 原理原則から適切なgoroutineの数を考える https://zenn.dev/imamura_sh/articles/goroutine-29492669efb6aef33306 難しい、厳密にやるならちゃんと計測しろ案件 Go 1.16連載が始まります | フューチャー技術ブログ https://future-architect.github.io/articles/20210207/ Go 1.16からリリースされたgo:embedとは | フューチャー技術ブログ https://future-architect.github.io/articles/20210208/ 便利そう、testdata とかもこっちに寄せるのがいいのかな ","date":1612710961,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612710961,"objectID":"c2a7768e3ed39870782328d93ad8c966","permalink":"https://d-kuro.github.io/diaries/202102/20210208/","publishdate":"2021-02-07T15:16:01Z","relpermalink":"/diaries/202102/20210208/","section":"diaries","summary":"Note 多次元 Pod 自動スケーリングの構成 | Kubernetes Engine ドキュメント | Google Cloud https://cloud.google.com/kubernetes-engine/docs/how-to/multidimensional-pod-autoscaling MultidimPodAutoscaler,","tags":[],"title":"2021-02-08","type":"diaries"},{"authors":[],"categories":[],"content":"Note Repl.it - Killing Containers at Scale https://blog.repl.it/killing-containers-at-scale Docker 経由でコンテナが死ぬのを待ってたら遅かったので自分でコンテナの PID に対して SIGKILL 送って殺した話? Rustの所有権(ownership)を語義から理解する - igagurimk2の日記 https://igaguri.hatenablog.com/entry/2019/08/17/184205 わかるけどわからん 英語力と技術力向上のための海外Tech系Youtuber10選 +1 - Qiita https://qiita.com/e99h2121/items/81aad5a2b5be667b93cb Hacking Kubernetes [Book] https://www.oreilly.com/library/view/hacking-kubernetes/9781492081722/ Kubernetes のセキュリティ周りの本 ","date":1612624435,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612624435,"objectID":"5e02d92c6dbccda05b016aa9bb3d8af8","permalink":"https://d-kuro.github.io/diaries/202102/20210207/","publishdate":"2021-02-06T15:13:55Z","relpermalink":"/diaries/202102/20210207/","section":"diaries","summary":"Note Repl.it - Killing Containers at Scale https://blog.repl.it/killing-containers-at-scale Docker 経由でコンテナが死ぬのを待ってたら遅かった","tags":[],"title":"2021-02-07","type":"diaries"},{"authors":[],"categories":[],"content":"Note N番目の素数を求める - すぎゃーんメモ https://memo.sugyan.com/entry/2021/02/06/021949 アトキンの篩, しらない 本当は遅い「似非エラトステネスの篩」の罠 https://zenn.dev/noodlewhale/articles/c5b069237ee72a リストの操作すると遅いので bool で管理しようねというやつ ","date":1612538051,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612538051,"objectID":"7e0795628d37a0a9d96d10f9b188d0dc","permalink":"https://d-kuro.github.io/diaries/202102/20210206/","publishdate":"2021-02-05T15:14:11Z","relpermalink":"/diaries/202102/20210206/","section":"diaries","summary":"Note N番目の素数を求める - すぎゃーんメモ https://memo.sugyan.com/entry/2021/02/06/021949 アトキンの篩, しらな","tags":[],"title":"2021-02-06","type":"diaries"},{"authors":[],"categories":[],"content":"Note Krator: My God, it\u0026rsquo;s Full of States! https://deislabs.io/posts/introducing-krator/ Operator を作るための Rust のライブラリ Serviceをたずねて3000行 - Kubernetesコードリーディングの旅 https://zenn.dev/ryusa/articles/3000-lines-in-search-of-service Service の内部の話 iptables とか Hildegard: Kubernetesを標的とする新たなTeamTNTのマルウェア https://unit42.paloaltonetworks.jp/hildegard-malware-teamtnt/ Kubernetes をターゲットにしたマルウェアの話, kubelet の API を使ってゴニョゴニョするらしい [Golang]errors.Is() errors.As() 完全ガイド〜使い方と違いをしっかり調査しました〜 https://zenn.dev/kskumgk63/articles/550dc9d42078d968beac As/Is, 毎回忘れる ","date":1612451665,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612451665,"objectID":"82abc41b9813d8ecbeeb6380f9f67080","permalink":"https://d-kuro.github.io/diaries/202102/20210205/","publishdate":"2021-02-04T15:14:25Z","relpermalink":"/diaries/202102/20210205/","section":"diaries","summary":"Note Krator: My God, it\u0026rsquo;s Full of States! https://deislabs.io/posts/introducing-krator/ Operator を作るための Rust のライブラリ Service","tags":[],"title":"2021-02-05","type":"diaries"},{"authors":[],"categories":[],"content":"Note Building container images in Go https://ahmet.im/blog/building-container-images-in-go/ Go から container image 操作できるやつ、なんか使えそう、container registory の list とか生えてないかな 標準パッケージでスタックトレース出せたっけって思ったけど pkg/errors の方だった https://twitter.com/k1LoW/status/1356974970526601216 https://pkg.go.dev/github.com/pkg/errors#WithStack etcd の health check しらなかった $ kubectl get --raw /healthz/etcd ok Kubernetes API health endpoints | Kubernetes https://kubernetes.io/docs/reference/using-api/health-checks/ /healthz は v1.16 以降非推奨らしい EKSでDNSを安定させるために対応したこと - Chatwork Creator\u0026rsquo;s Note https://creators-note.chatwork.com/entry/2021/01/05/104206 EKS で node-local-dns 使う際の force_tcp、ハマり事例をたまに見る 📖 upgrade migration guide for v3 by camilamacedo86 · Pull Request #1916 · kubernetes-sigs/kubebuilder https://github.com/kubernetes-sigs/kubebuilder/pull/1916 kubebuilder v3 の migration guide go getだけでコマンドのバージョンを埋め込む - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2020/12/18/002238 最高 ","date":1612365692,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612365692,"objectID":"fbcf0dec2a6c704faaed7cc7abc8bf7f","permalink":"https://d-kuro.github.io/diaries/202102/20210204/","publishdate":"2021-02-03T15:21:32Z","relpermalink":"/diaries/202102/20210204/","section":"diaries","summary":"Note Building container images in Go https://ahmet.im/blog/building-container-images-in-go/ Go から container image 操作できるやつ、なんか使えそう、co","tags":[],"title":"2021-02-04","type":"diaries"},{"authors":[],"categories":[],"content":"Note Graceful shutdown and zero downtime deployments in Kubernetes https://learnk8s.io/graceful-shutdown Pod のライフサイクルについて、図解付き Site Reliability Engineer (Service Mesh) at SpaceX - Stack Overflow https://stackoverflow.com/jobs/451055/site-reliability-engineer-service-mesh-spacex 宇宙に istio、ワードが強い ","date":1612278986,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612278986,"objectID":"ef1f2f2e774240144f552b309a0960c8","permalink":"https://d-kuro.github.io/diaries/202102/20210203/","publishdate":"2021-02-02T15:16:26Z","relpermalink":"/diaries/202102/20210203/","section":"diaries","summary":"Note Graceful shutdown and zero downtime deployments in Kubernetes https://learnk8s.io/graceful-shutdown Pod のライフサイクルについて、図解付き Site Reliability","tags":[],"title":"2021-02-03","type":"diaries"},{"authors":[],"categories":[],"content":"Note 絶対にRosetta 2を入れてはいけないM1 Mac開発環境構築 2021-2-1版 https://zenn.dev/hinastory/articles/71983c4ac8aa2d わりとやれそう、でも M2 の噂とか来てるし待ちたい気持ちもある ","date":1612193242,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612193242,"objectID":"0f5a0c09e575ff4471fc3c3d01390510","permalink":"https://d-kuro.github.io/diaries/202102/20210202/","publishdate":"2021-02-01T15:27:22Z","relpermalink":"/diaries/202102/20210202/","section":"diaries","summary":"Note 絶対にRosetta 2を入れてはいけないM1 Mac開発環境","tags":[],"title":"2021-02-02","type":"diaries"},{"authors":[],"categories":[],"content":"Note GoLand 2021.1 Early Access Program Begins! | JetBrains Blog https://blog.jetbrains.com/go/2021/01/29/goland-2021-1-eap-begins/ 機械学習コード補完、なるほど ","date":1612106284,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612106284,"objectID":"d4d811f83f6700dd96f30ad26817b4a4","permalink":"https://d-kuro.github.io/diaries/202102/20210201/","publishdate":"2021-01-31T15:18:04Z","relpermalink":"/diaries/202102/20210201/","section":"diaries","summary":"Note GoLand 2021.1 Early Access Program Begins! | JetBrains Blog https://blog.jetbrains.com/go/2021/01/29/goland-2021-1-eap-begins/ 機械学習コード補完、なるほど","tags":[],"title":"2021-02-01","type":"diaries"},{"authors":[],"categories":[],"content":"Note Rust Collections Case Study: BTreeMap https://cglab.ca/~abeinges/blah/rust-btree-case/ Rust の BTreeMap の話し、なぜ 二分探索木じゃだめなのかとか実装の話が書いてある 二分探索木はメモリ効率が悪いらしい maguro.dev - Rust の BTreeSet / BTreeMap で最大値を素早く取得する方法 https://maguro.dev/btree-maximum-value/ BTreeSet/Map があるんだ ","date":1612019778,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1612019778,"objectID":"d7dc7e772c26fc94f6da1fa752b6bcfe","permalink":"https://d-kuro.github.io/diaries/202101/20210131/","publishdate":"2021-01-30T15:16:18Z","relpermalink":"/diaries/202101/20210131/","section":"diaries","summary":"Note Rust Collections Case Study: BTreeMap https://cglab.ca/~abeinges/blah/rust-btree-case/ Rust の BTreeMap の話し、なぜ 二分探索木じゃだめなのかとか","tags":[],"title":"2021-01-31","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetes クラスタが AWS 上でコンテナイメージを pull するときの権限まわりの話 | トリの部屋 https://toris.io/2021/01/how-kubernetes-pulls-private-container-images-on-aws/ 今は kubelet にクラウドプロバイダ固有のコードが生えているらしい ","date":1611933416,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611933416,"objectID":"0129d2e03626504cff3c27f717ce3773","permalink":"https://d-kuro.github.io/diaries/202101/20210130/","publishdate":"2021-01-29T15:16:56Z","relpermalink":"/diaries/202101/20210130/","section":"diaries","summary":"Note Kubernetes クラスタが AWS 上でコンテナイメージを pull するときの権限まわり","tags":[],"title":"2021-01-30","type":"diaries"},{"authors":[],"categories":[],"content":"Note PipeCDを使ってSecretsをGitで極力安全に管理する · blog.stormcat.io https://blog.stormcat.io/post/pipecd-sealed-secret/ PipeCD、よさそうにみえる、なんか事例出始めれば流行る気もするけどどうだろう ","date":1611847056,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611847056,"objectID":"57a6cc53712472a0c03c9d48f9f01aa5","permalink":"https://d-kuro.github.io/diaries/202101/20210129/","publishdate":"2021-01-28T15:17:36Z","relpermalink":"/diaries/202101/20210129/","section":"diaries","summary":"Note PipeCDを使ってSecretsをGitで極力安全に管理","tags":[],"title":"2021-01-29","type":"diaries"},{"authors":[],"categories":[],"content":"Note 質の高い技術文書を書く方法 - As a Futurist\u0026hellip; https://blog.riywo.com/2021/01/how-to-write-high-quality-technical-doc/ 物書き、難しい go/analysisのSuggestedFixでコードを修正する - daisuzu\u0026rsquo;s notes https://daisuzu.hatenablog.com/entry/2021/01/28/121303 便利 GitHub CLI now includes comment support for issues and pull requests - GitHub Changelog https://github.blog/changelog/2021-01-27-github-cli-now-includes-comment-support-for-issues-and-pull-requests/ Issue と PR にコメントできるようになった便利 ","date":1611760611,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611760611,"objectID":"8ef3a3fa3e4b239b94428225a1300ea1","permalink":"https://d-kuro.github.io/diaries/202101/20210128/","publishdate":"2021-01-27T15:16:51Z","relpermalink":"/diaries/202101/20210128/","section":"diaries","summary":"Note 質の高い技術文書を書く方法 - As a Futurist\u0026hellip; https://blog.riywo.com/2021/01/how-to-write-high-quality-technical-doc/ 物書き、難しい go/a","tags":[],"title":"2021-01-28","type":"diaries"},{"authors":[],"categories":[],"content":"Note プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog https://keens.github.io/blog/2021/01/04/future_of_proguramming_languages/ Rust やりたいと言い続けて N ヶ月たった git commit \u0026ndash;fixup とは何か - 詩と創作・思索のひろば https://motemen.hatenablog.com/entry/2015/10/git-commit-fixup しらんかった、べんり Graceful Node Shutdown では critical system pods があとに終了されるようになっているという話 https://twitter.com/ryot_a_rai/status/1354040432846544896 Scenario Testing to Improve Product Quality at Merpay - Google スライド https://docs.google.com/presentation/d/1526Md64pmPdQIEamz5IBWvVZd7X70grz4XZ5VG4JFx4/edit#slide=id.gb926849ae2_0_0 メルペイの E2E の事例、Prow とか使いつつ相当作り込まれてる ","date":1611674215,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611674215,"objectID":"c4f4ea18e6c0a2cb5050ace548dc98d5","permalink":"https://d-kuro.github.io/diaries/202101/20210127/","publishdate":"2021-01-26T15:16:55Z","relpermalink":"/diaries/202101/20210127/","section":"diaries","summary":"Note プログラミング言語の未来はどうなるか | κeenのHappy","tags":[],"title":"2021-01-27","type":"diaries"},{"authors":[],"categories":[],"content":"Note Scaling Kubernetes to 7,500 Nodes https://openai.com/blog/scaling-kubernetes-to-7500-nodes/ めちゃくちゃ頑張ってる free-programming-books/free-programming-books-ja.md at master · EbookFoundation/free-programming-books https://github.com/EbookFoundation/free-programming-books 無料本まとめ コンテナレジストリの可用性を高める取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ https://blog.cybozu.io/entry/2021/01/26/090000 Pull Through Cache、便利 ","date":1611588832,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611588832,"objectID":"d1de040c2ea7745c4852c0139cb2cfec","permalink":"https://d-kuro.github.io/diaries/202101/20210126/","publishdate":"2021-01-25T15:33:52Z","relpermalink":"/diaries/202101/20210126/","section":"diaries","summary":"Note Scaling Kubernetes to 7,500 Nodes https://openai.com/blog/scaling-kubernetes-to-7500-nodes/ めちゃくちゃ頑張ってる free-programming-books/free-programming-books-ja.md at master · EbookFoundation/free-programming-books https://github.com/EbookFoundation/free-programming-books 無料本まとめ","tags":[],"title":"2021-01-26","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go Modulesのproxyとsumdb - sambaiz-net https://www.sambaiz.net/article/261/ private repo はめんどくさいなあ Prometheus でカスタムコレクタを用意する - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-custom-collector direct instrumentation の違いが微妙にわかってない ","date":1611502398,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611502398,"objectID":"3ae7286797108167b155e062a8628766","permalink":"https://d-kuro.github.io/diaries/202101/20210125/","publishdate":"2021-01-24T15:33:18Z","relpermalink":"/diaries/202101/20210125/","section":"diaries","summary":"Note Go Modulesのproxyとsumdb - sambaiz-net https://www.sambaiz.net/article/261/ private repo はめんど","tags":[],"title":"2021-01-25","type":"diaries"},{"authors":[],"categories":[],"content":"Note generics 便利そう https://go2goplay.golang.org/p/WWPUAGNo1xe 大量にあるKubernetesをどのように運用するか ヤフーの運用自動化の仕組み - ログミーTech https://logmi.jp/tech/articles/323803 Yahoo の話 普通の人が資産運用で99点をとる方法とその考え方 - hayato https://hayatoito.github.io/2020/investing/ しっかり読みたいシリーズ ","date":1611415998,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611415998,"objectID":"f739dceea855749c0432ca5954239c19","permalink":"https://d-kuro.github.io/diaries/202101/20210124/","publishdate":"2021-01-23T15:33:18Z","relpermalink":"/diaries/202101/20210124/","section":"diaries","summary":"Note generics 便利そう https://go2goplay.golang.org/p/WWPUAGNo1xe 大量にあるKubernetesをどのように運用","tags":[],"title":"2021-01-24","type":"diaries"},{"authors":[],"categories":[],"content":"Note Rust を始めるための資料集 - Don\u0026rsquo;t Repeat Yourself https://blog-dry.com/entry/2021/01/23/141936 すごい便利っぽい Rust 便利リンク集 モノレポのはなし / karino2 - Message Passing https://messagepassing.github.io/07-repo/01-karino2/ 面白い, monorepo ちゃんと整備に使えるリソースあるならそんな悪くないよ派 でもまあエコシステムが未成熟だよね感はある ","date":1611329598,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1611329598,"objectID":"a781d248cceed4ad673555c591f026fd","permalink":"https://d-kuro.github.io/diaries/202101/20210123/","publishdate":"2021-01-22T15:33:18Z","relpermalink":"/diaries/202101/20210123/","section":"diaries","summary":"Note Rust を始めるための資料集 - Don\u0026rsquo;t Repeat Yourself https://blog-dry.com/entry/2021/01/23/141936 すごい便利っぽい Rust 便利リン","tags":[],"title":"2021-01-23","type":"diaries"},{"authors":[],"categories":[],"content":"Note AtCoder と Rust で始める!競技プログラミング入門(Rust 版 APG4b) https://zenn.dev/toga/books/apg4b-rust-ver シュッとまとまっていて便利そう Unit Testing for Rules | Prometheus https://prometheus.io/docs/prometheus/latest/configuration/unit_testing_rules/ Prometheus のクエリのテスト Prometheus: アラートルールのユニットテスト - Qiita https://qiita.com/tkusumi/items/7dc8aa2c2cfb8c742146 Unit Testing for Prometheus Rules - Speaker Deck https://speakerdeck.com/tksm/unit-testing-for-prometheus-rules わかりやすいスライド ","date":1610983937,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1610983937,"objectID":"e40cac66adbf988499566e220640835a","permalink":"https://d-kuro.github.io/diaries/202101/20210119/","publishdate":"2021-01-18T15:32:17Z","relpermalink":"/diaries/202101/20210119/","section":"diaries","summary":"Note AtCoder と Rust で始める!競技プログラミング入門(Rust 版 APG4","tags":[],"title":"2021-01-19","type":"diaries"},{"authors":[],"categories":[],"content":"Note Prometheus でAPIサーバの監視【HTTP】 - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-application-over-http error rate のクエリの書き方が参考になった sum by(handler, method)(rate(http_requests_total{code=~\u0026quot;4..\u0026quot;}[1m])) / sum by(handler, method)(rate(http_requests_total[1m])) Query functions | Prometheus https://prometheus.io/docs/prometheus/latest/querying/functions/ 覚えられないシリーズ Prometheus Absent function - Stack Overflow https://stackoverflow.com/questions/53191746/prometheus-absent-function absent はグルーピングできないので下みたいなのを使うらしい count(up{job=\u0026quot;prometheus\u0026quot;} offset 1h) by (project) unless count(up{job=\u0026quot;prometheus\u0026quot;} ) by (project) ","date":1610897334,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1610897334,"objectID":"aab475d0001ef14e34f59b9f9abbd858","permalink":"https://d-kuro.github.io/diaries/202101/20210118/","publishdate":"2021-01-17T15:28:54Z","relpermalink":"/diaries/202101/20210118/","section":"diaries","summary":"Note Prometheus でAPIサーバの監視【HTTP】 - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-application-over-http error rate のクエリの書","tags":[],"title":"2021-01-18","type":"diaries"},{"authors":[],"categories":[],"content":"Note 攻撃しながら考えるKubernetesセキュリティ / Considering Kubernetes Security While Attacking 2 - Speaker Deck https://speakerdeck.com/fujiihda/considering-kubernetes-security-while-attacking-2 ServiceAccount を悪用されて攻撃される話 Using Persistent Volumes on AWS – Giant Swarm Documentation https://docs.giantswarm.io/guides/using-persistent-volumes-on-aws/ AWS で PV 使うとき TerraformでNLBを使う - Carpe Diem https://christina04.hatenablog.com/entry/2018/02/09/095743 NLB にはセキュリティグループをつけられない、ハマった PodSecurityPolicy が 1.21 で deprecate, 1.25 で removal https://twitter.com/ymmt2005/status/1350613526407127040 ついに死ぬらしい ","date":1610810968,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1610810968,"objectID":"aef8e4f23c4d81230d806a87a2ecd9ed","permalink":"https://d-kuro.github.io/diaries/202101/20210117/","publishdate":"2021-01-16T15:29:28Z","relpermalink":"/diaries/202101/20210117/","section":"diaries","summary":"Note 攻撃しながら考えるKubernetesセキュリティ / Considering Kubernetes Security","tags":[],"title":"2021-01-17","type":"diaries"},{"authors":[],"categories":[],"content":"Note Istio Source Code Reading https://zenn.dev/potsbo/scraps/4f1348365625e7 Istio のソースリーディングのメモ 「会社で買うなら」知っておきたいJetBrainsのライセンスとお金の話 | JetBrains Blog https://blog.jetbrains.com/ja/2019/02/25/1731/ JetBrains のライセンスについて、個人で買ったものは仕事でも使える Certified Kubernetes Application Developer (CKAD) Study Guide [Book] Certified Kubernetes Application Developer (CKAD) Study Guide [Book] CKAD の本 ","date":1610724662,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1610724662,"objectID":"2335030808d9a3ea1bcab9364cfd0eae","permalink":"https://d-kuro.github.io/diaries/202101/20210116/","publishdate":"2021-01-15T15:31:02Z","relpermalink":"/diaries/202101/20210116/","section":"diaries","summary":"Note Istio Source Code Reading https://zenn.dev/potsbo/scraps/4f1348365625e7 Istio のソースリーディングのメモ 「会社で買うなら」知","tags":[],"title":"2021-01-16","type":"diaries"},{"authors":[],"categories":[],"content":"Note openstackclient — Homebrew Formulae https://formulae.brew.sh/formula/openstackclient openstack コマンドのインストール Go のレシーバもコンパイルすると関数の引数と変わらないという話 https://twitter.com/DQNEO/status/1349670759665340416 ","date":1610638342,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1610638342,"objectID":"08d3d16c5f0c2de952a19b72e56fd498","permalink":"https://d-kuro.github.io/diaries/202101/20210115/","publishdate":"2021-01-14T15:32:22Z","relpermalink":"/diaries/202101/20210115/","section":"diaries","summary":"Note openstackclient — Homebrew Formulae https://formulae.brew.sh/formula/openstackclient openstack コマンドのインストール Go のレシーバもコンパイル","tags":[],"title":"2021-01-15","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetes で cgroup がどう利用されているか - VA Linux エンジニアブログ https://valinux.hatenablog.com/entry/20210114 Kubernetes における cgroup について, シュッとまとまっていて便利 Go Slice Tricks Cheat Sheet https://ueokande.github.io/go-slice-tricks/ Go の slice の chatsheet, 図で書いてあって便利 パーシャルクローンとシャロークローンを活用しよう - GitHubブログ https://github.blog/jp/2021-01-13-get-up-to-speed-with-partial-clone-and-shallow-clone/ ケース分けしてあって便利 Introduction - Rust By Example 日本語版 https://doc.rust-jp.rs/rust-by-example-ja/ Rust のサンプルスクリプト集らしい, 軽く見るときに良さそう Home | Rustの日本語ドキュメント/Japanese Docs for Rust https://doc.rust-jp.rs/ Rust について学ぶときのエントリーポイントして Introduction - Rust Design Patterns https://rust-unofficial.github.io/patterns/intro.html いつか読むかもしれない Rust の所有権システムが難しくて一度挫折したあの日の自分のためにわかりやすい読み物があるとよいと思ったのだ。 - Qiita https://qiita.com/nirasan/items/9e169859c6807c2c175b 所有権なんもわからん ","date":1610551987,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1610551987,"objectID":"7e4bddf3ddedc5f00fe92f2bcac12c2b","permalink":"https://d-kuro.github.io/diaries/202101/20210114/","publishdate":"2021-01-13T15:33:07Z","relpermalink":"/diaries/202101/20210114/","section":"diaries","summary":"Note Kubernetes で cgroup がどう利用されているか - VA Linux エンジニアブログ https://valinux.hatenablog.com/entry/20210114 Kubernetes にお","tags":[],"title":"2021-01-14","type":"diaries"},{"authors":null,"categories":null,"content":" from: Quipper Limited to: ゼットラボ株式会社 Quipper を 2020 年 12 月末で退職して 2021 年 1 月から Z Lab で働いています。 Quipper では SRE として働いていましたが、Z Lab ではソフトウェアエンジニアとして働きます。\n何をやっていたか SRE として主に Kubernetes 周りのお仕事などを積極的にやっていたりしました。 CPU スロットリング撲滅してこの辺の登壇に繋がったり色々学ばせていただいたなーと思っています。\n 後半は社内の monorepo で既存のデプロイメントフローを踏襲した上で GitOps を実現するために必要なコンポーネントの開発を Go でやったりもしていました。 この辺外部にアウトプットしたかったけど残念。\nなぜ転職するのか Kubernetes をもっともっとやっていきたかったというのと、Quipper の SRE としての仕事を通して自分はプラットフォーム開発に興味があることがわかってきたのでそこにチャレンジしたいなと思ったのが大きいです。\nQuipper では SRE を募集しています 現在 Quipper では SRE を募集中です。 海外に拠点もあって英語でコミュニケーションする機会があったり、抱えている課題も面白いものがあるので興味のある方はぜひ!\nカジュアル面談もやっているので @chaspy_ さんとかに気軽にリプライを送ってみると話が聞けると思います。\n野良 Envoy(Control Plane で管理されてないの意)が増えてきたので誰か入社してシュッと Service Mesh いれてください。。。https://t.co/SbZGJYrTbY\n\u0026mdash; Takeshi Kondo (@chaspy_) January 6, 2021 干し芋 \u0008 いつもの干し芋です。\nhttps://www.amazon.jp/hz/wishlist/ls/1A2K96YA85SCT?ref_=wl_share\n","date":1610177396,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1610177396,"objectID":"1fe3a10d0167f54516a09b0296d28eea","permalink":"https://d-kuro.github.io/post/zlab/","publishdate":"2021-01-09T16:29:56+09:00","relpermalink":"/post/zlab/","section":"post","summary":"from: Quipper Limited to: ゼットラボ株式会社 Quipper を 2020 年 12 月末で退職して 2021 年 1 月か","tags":null,"title":"Quipper を退職して Z Lab に入社しました","type":"post"},{"authors":null,"categories":null,"content":" https://k8sjp.github.io/kubefest-2020/sessions/12/\n","date":1602514800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1602514800,"objectID":"2c74bd2f7206b97e5ac9e3ebdfd219c4","permalink":"https://d-kuro.github.io/talk/understanding-cpu-throttling-in-kubernetes-to-improve-application-performance/","publishdate":"2020-10-13T00:00:00+09:00","relpermalink":"/talk/understanding-cpu-throttling-in-kubernetes-to-improve-application-performance/","section":"talk","summary":"https://k8sjp.github.io/kubefest-2020/sessions/12/","tags":null,"title":"Understanding CPU throttling in Kubernetes to improve application performance","type":"talk"},{"authors":[],"categories":[],"content":"Note Kubernetes 1.19: Metrics Changes と SIG Instrumentation の変更内容 - Qiita https://qiita.com/watawuwu/items/8be903465f92e44f4286 構造化ログはいい話 フェーズから読み解くKubernetesクラスタ構築ツールの全貌『解体kubeadm』発行 技術の泉シリーズ、9月の新刊|株式会社インプレスホールディングスのプレスリリース https://prtimes.jp/main/html/rd/p/000003429.000005875.html kubeadm の話 Kubernetesのマルチテナントの現状を整理する - TECHSTEP https://techstep.hatenablog.com/entry/2020/09/06/160435 まとまってる, でもクラスタ分けとこうなが一番いいと思ってる Kubernetes 1.19: SIG-Apps の変更内容 - Qiita https://qiita.com/yosshi_/items/56493481553ded0c3ad1 めぼしいものはなかった Introducing Structured Logs | Kubernetes https://kubernetes.io/blog/2020/09/04/kubernetes-1-19-introducing-structured-logs/ 構造化ログの話, klog に InfoS と ErrorS が生えたらしい Warning: Helpful Warnings Ahead | Kubernetes https://kubernetes.io/blog/2020/09/03/warnings/ deprecated な API を kubectl で呼び出したときに警告がでるようになった, 便利 Scaling Kubernetes Networking With EndpointSlices | Kubernetes https://kubernetes.io/blog/2020/09/02/scaling-kubernetes-networking-with-endpointslices/ EndpointSlice の話, 今までの Endpoint だと etcd のサイズ制限に接触する可能性があったしデータ転送量も馬鹿にならなかった, それをシャーディングの容量でEndpintSlice に分割することで解決した Ephemeral volumes with storage capacity tracking: EmptyDir on steroids | Kubernetes https://kubernetes.io/blog/2020/09/01/ephemeral-volumes-with-storage-capacity-tracking/ ephemeral volumes の話, CSI になんか入ったのかな Increasing the Kubernetes Support Window to One Year | Kubernetes https://kubernetes.io/blog/2020/08/31/kubernetes-1-19-feature-one-year-support/ v1.19 からサポート期間が一年に Kubernetes 1.19: Accentuate the Paw-sitive | Kubernetes https://kubernetes.io/blog/2020/08/26/kubernetes-release-1.19-accentuate-the-paw-sitive/ 公式ブログの v1.19 まとめ Moving Forward From Beta | Kubernetes https://kubernetes.io/blog/2020/08/21/moving-forward-from-beta/ 永続的に beta な API が生まれることを回避するために 9 ヶ月で今の beta が非推奨になる仕組みができたらしい ","date":1602083027,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1602083027,"objectID":"a5d48ca24a4bd138ecf575eafadaf011","permalink":"https://d-kuro.github.io/diaries/202010/20201008/","publishdate":"2020-10-07T15:03:47Z","relpermalink":"/diaries/202010/20201008/","section":"diaries","summary":"Note Kubernetes 1.19: Metrics Changes と SIG Instrumentation の変更内容 - Qiita https://qiita.com/watawuwu/items/8be903465f92e44f4286 構造化ログはいい話 フェーズか","tags":[],"title":"2020-10-08","type":"diaries"},{"authors":[],"categories":[],"content":"Note 攻撃しながら考えるKubernetesのセキュリティ / Considering Kubernetes Security While Attacking - Speaker Deck https://speakerdeck.com/fujiihda/considering-kubernetes-security-while-attacking セキュリティの本, 良さそうと思いつつ買ってない Istio integrated Telepresence - Speaker Deck https://speakerdeck.com/morux2/istio-integrated-telepresence ちゃんとしてる How to gracefully kill Kubernetes Jobs with a sidecar? - Suraj Deshmukh https://suraj.io/post/how-to-gracefully-kill-kubernetes-jobs-with-a-sidecar/ shareProcessNamespace: true にして Job で pkill を実行して sidecar を殺す話, かんたんで良さそう GitHub Container Registry(ghcr.io)にDockerイメージをpushする手順 - Qiita https://qiita.com/zembutsu/items/1effae6c39ceae3c3d0a 便利 KubernetesのCPU limits設定時における「不要なスロットリング」を回避する方法とは? - GIGAZINE https://gigazine.net/news/20200904-kubernetes-buffer-remove-cpu-limit/ 翻訳記事 How a Kubernetes Pod Gets an IP Address | Ronak Nathani https://ronaknathani.com/blog/2020/08/how-a-kubernetes-pod-gets-an-ip-address/ Pod 同士がどうやって通信しているのか, CNI とかについて深堀りして書いてある, 便利 Kubernetes NodePort and iptables rules | Ronak Nathani https://ronaknathani.com/blog/2020/07/kubernetes-nodeport-and-iptables-rules/ Service と iptables の話 ","date":1601996652,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1601996652,"objectID":"a0da4a4311e2e8453cd128e3f50c508d","permalink":"https://d-kuro.github.io/diaries/202010/20201007/","publishdate":"2020-10-06T15:04:12Z","relpermalink":"/diaries/202010/20201007/","section":"diaries","summary":"Note 攻撃しながら考えるKubernetesのセキュリティ / Considering Kubernetes","tags":[],"title":"2020-10-07","type":"diaries"},{"authors":[],"categories":[],"content":"Note syscall - The Go Programming Language https://golang.org/pkg/syscall/#Errno syscall で帰ってくる Errno の GoDoc Man page of WAIT https://linuxjm.osdn.jp/html/LDP_man-pages/man2/waitpid.2.html wait() syscall の man 7-4. ネットワークサービスは必ずforkしよう https://www.ipa.go.jp/security/awareness/vendor/programmingv1/b07_04_main.html ゾンビと wait() syscall の話が書いてある Go 1.14でシステムコールがEINTRエラーを返すようになった - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2020/02/29/162727 らしい [CNDT2020]Linux Observability with BPF Performance Tools - Speaker Deck https://speakerdeck.com/govargo/cndt2020-linux-observability-with-bpf-performance-tools 便利そう OOM のとか割とすぐつかいたい ","date":1601910239,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1601910239,"objectID":"bf0aab8bde11b93c74aa41ffca5c7646","permalink":"https://d-kuro.github.io/diaries/202010/20201006/","publishdate":"2020-10-05T15:03:59Z","relpermalink":"/diaries/202010/20201006/","section":"diaries","summary":"Note syscall - The Go Programming Language https://golang.org/pkg/syscall/#Errno syscall で帰ってくる Errno の GoDoc Man page of WAIT https://linuxjm.osdn.jp/html/LDP_man-pages/man2/waitpid.2.html wait() syscall の man 7-4. ネッ","tags":[],"title":"2020-10-06","type":"diaries"},{"authors":[],"categories":[],"content":"Note 「プログラミング言語Go完全入門」の「完全」公開のお知らせ | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/goforbeginners/ ずっと無料公開, すごい ramr/go-reaper: Process (Grim) reaper library for golang - this is useful for cleaning up zombie processes inside docker containers (which do not have an init process running as pid 1). https://github.com/ramr/go-reaper ゾンビ刈り取るくん, 検討してたけど結局 pause コンテナ使ってしまった Docker で node.js を動かすときは PID 1 にしてはいけない - ngzmのブログ https://ngzm.hateblo.jp/entry/2017/08/22/185224 node が SIGTERM をハンドリングしてないので Tini を PID 1 にしてあげる initのお仕事〜tiniのコードを読んでみた - ローファイ日記 https://udzura.hatenablog.jp/entry/2018/04/16/162024 コードの話, 割とシンプルで読みやすい Unix プロセスと Docker の罠 :: けちゃぶろぐ — GoとかVimとか色々と https://kechako.dev/posts/2015/05/27/210459/ SIGCHLD signal で子が死んだときの通知を受け取ることができるので signal をハンドリングして wait() を呼んであげることでゾンビの対処ができる ","date":1601823825,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1601823825,"objectID":"94d40907c675f717638958ed7ea2d3ac","permalink":"https://d-kuro.github.io/diaries/202010/20201005/","publishdate":"2020-10-04T15:03:45Z","relpermalink":"/diaries/202010/20201005/","section":"diaries","summary":"Note 「プログラミング言語Go完全入門」の「完全」公開のお知らせ","tags":[],"title":"2020-10-05","type":"diaries"},{"authors":[],"categories":[],"content":"Note 【暫定版】 Kubernetesの性能監視で必要なメトリクス一覧とPrometheusでのHowTo - kashionki38 blog https://kashionki38.hatenablog.com/entry/2020/08/06/011420 Kubernetes の監視すべきメトリクスがまとまっている, すごい github.com/prometheus/client_golang を使って 99.9 percentileでのHTTPハンドラのメトリクスを取ってみる - 京都行きたい https://progret.hatenadiary.com/entry/2018/12/19/154927 Go の Prometheus client を使ってパーセンタイルメトリクスを取る話, Summary で取れるらしい What’s new in Kubernetes 1.19? | Sysdig https://sysdig.com/blog/whats-new-kubernetes-1-19/ Kubernetes v1.19, 細かいので嬉しいものが多い気がする eBPF and Kubernetes: Little Helper Minions for Scaling Microservices - @kanatakita\u0026rsquo;s blog https://kanatakita.hatenablog.com/entry/2020/08/20/012851 eBPF なにもわからない Improving the Performance of Your Kubernetes Cluster - @kanatakita\u0026rsquo;s blog https://kanatakita.hatenablog.com/entry/2020/08/19/115825 Kubernetes Cluster のパフォーマンスを改善する話, ちゃんと計測しててすごい ","date":1601737415,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1601737415,"objectID":"48dfee0e38a2f905f67708ab6fb8ec3c","permalink":"https://d-kuro.github.io/diaries/202010/20201004/","publishdate":"2020-10-03T15:03:35Z","relpermalink":"/diaries/202010/20201004/","section":"diaries","summary":"Note 【暫定版】 Kubernetesの性能監視で必要なメトリクス","tags":[],"title":"2020-10-04","type":"diaries"},{"authors":[],"categories":[],"content":"Note 循環小数の循環節を求める「ウサギとカメのアルゴリズム」 https://hack.jp/?p=254 フロイドの循環検出法というらしい OSSエンジニアを1年やってみた所感 - knqyf263\u0026rsquo;s blog https://knqyf263.hatenablog.com/entry/2020/08/28/074749 仕事で OSS したい人生だった Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜 | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/how_to_use_t_parallel/ なんだかんだ使ったこと無い エンジニア向けの余白の基礎 / Spacing - Speaker Deck https://speakerdeck.com/yuyaink/spacing 余白の話, スライドづくりに, スライド作ってるとデザイン勉強したくなる How does a Prometheus Counter work? – Robust Perception | Prometheus Monitoring Experts https://www.robustperception.io/how-does-a-prometheus-counter-work Prometheus の Counter Metrics について How does a Prometheus Gauge work? – Robust Perception | Prometheus Monitoring Experts Prometheus の Gauge Metrics について How does a Prometheus Summary work? – Robust Perception | Prometheus Monitoring Experts https://www.robustperception.io/how-does-a-prometheus-summary-work Primetheus の Summary Metrics について How does a Prometheus Histogram work? – Robust Perception | Prometheus Monitoring Experts https://www.robustperception.io/how-does-a-prometheus-histogram-work Prometheus の Histogram Metrics について, いちばんよくわからない ","date":1601651017,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1601651017,"objectID":"223793d5188ae62353d28753a6c59f2c","permalink":"https://d-kuro.github.io/diaries/202010/20201003/","publishdate":"2020-10-02T15:03:37Z","relpermalink":"/diaries/202010/20201003/","section":"diaries","summary":"Note 循環小数の循環節を求める「ウサギとカメのアルゴリズム」 https://hack.jp/?p=254 フ","tags":[],"title":"2020-10-03","type":"diaries"},{"authors":[],"categories":[],"content":"Note [Go] signal.Notifyを使うときは必ずバッファ付きチャネルで利用すること - My External Storage https://budougumi0617.github.io/2020/09/06/why_signal_notify_want_buffered_channel/ バッファ忘れないようにしような patchStrategicMerge elides null and {} · Issue #2734 · kubernetes-sigs/kustomize https://github.com/kubernetes-sigs/kustomize/issues/2734 kustomize が foo: {} をうまく解釈できなかったバグ, 直っていた Kubernetes’ Shadows. KubernetesにはShadowsと言われる、将来のリーダー候補を育てるため… | by Hodagi | Sep, 2020 | Medium https://medium.com/@genboku/%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%81%E3%83%BC%E3%83%A0-shadows-996c8174fb6b OSS 真面目にやりたい人生だった その Kubernetes は 効率的にマシンを活用できているか #CNDT2020_RJKT #CNDT2020_RJKT_B / CNDT2020 Rejekts - Speaker Deck https://speakerdeck.com/koudaiii/cndt2020-rejekts ARP table 原因って突き止めたのすごい, Pod が増えすぎたのが起因らしいので覚えとく プロセスとスレッドの違い - ついでにタスクとジョブ - | ただ屋ぁのブログ https://tadtadya.com/process-thread-task-job/ ゾンビとかについての説明もある Goで子プロセスを確実にKillする方法 | makiuchi-d.github.io http://makiuchi-d.github.io/2020/05/10/go-kill-child-process.ja.html os/exec で呼び出したプロセスの子がいるとそれがゾンビになったりする, cmd.SysProcAttr = \u0026amp;syscall.SysProcAttr{Setpgid: true} を設定 Docker/Kubernetes で PID 1 問題を回避する | text․superbrothers․dev https://text.superbrothers.dev/200328-how-to-avoid-pid-1-problem-in-kubernetes/ Pod の spec.shareProcessNamespace を true にすると pause コンテナが PID1 になる, そいつがゾンビの刈り取りとかをしてくれるの便利 ","date":1601564644,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1601564644,"objectID":"0ed0ba8789b8b91cb7a4f56efa45f665","permalink":"https://d-kuro.github.io/diaries/202010/20201002/","publishdate":"2020-10-01T15:04:04Z","relpermalink":"/diaries/202010/20201002/","section":"diaries","summary":"Note [Go] signal.Notifyを使うときは必ずバッファ付きチ","tags":[],"title":"2020-10-02","type":"diaries"},{"authors":[],"categories":[],"content":"Note pauseコンテナについて - Qiita https://qiita.com/tkj06/items/3e72701962c5f4c525c2 pause コンテナ, ゾンビの刈り取りもしてくれる kubernetes/pause.c at v1.19.2 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/blob/v1.19.2/build/pause/pause.c passe コンテナの中身, C で書かれている waitシステムコールとerrnoによる子プロセスがいないときの判定方法 https://kaworu.jpn.org/kaworu/2007-12-22-2.php wait() で子プロセスの終了のハンドリングするときの処理方法 GitHub Container Registry 入門 - 生産性向上ブログ https://www.kaizenprogrammer.com/entry/2020/09/03/060236 GitHub のレジストリ, 個人用とはぜんぶこっちで良さそう Kubernetes: Make your services faster by removing CPU limits · Eric Khun https://erickhun.com/posts/kubernetes-faster-services-no-cpu-limits/ CPU Limits を削除してスロットリングを解消した話, ちゃんと計測してて偉い ","date":1601478241,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1601478241,"objectID":"c32ba470e16af2e1b6f8092fbe84f061","permalink":"https://d-kuro.github.io/diaries/202010/20201001/","publishdate":"2020-09-30T15:04:01Z","relpermalink":"/diaries/202010/20201001/","section":"diaries","summary":"Note pauseコンテナについて - Qiita https://qiita.com/tkj06/items/3e72701962c5f4c525c2 pause コンテナ, ゾンビの刈り取","tags":[],"title":"2020-10-01","type":"diaries"},{"authors":[],"categories":[],"content":"Note kubectlのプラグイン機構とおすすめプラグインのご紹介 〜 Kubernetes制御用コマンド #k8sjp - Yahoo! JAPAN Tech Blog https://techblog.yahoo.co.jp/entry/2020081830014718/ kubectl プラグインまとめ ","date":1597849379,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597849379,"objectID":"7f9c0787de928d9628f45a0642ccc565","permalink":"https://d-kuro.github.io/diaries/202008/20200820/","publishdate":"2020-08-19T15:02:59Z","relpermalink":"/diaries/202008/20200820/","section":"diaries","summary":"Note kubectlのプラグイン機構とおすすめプラグインのご紹介","tags":[],"title":"2020-08-20","type":"diaries"},{"authors":[],"categories":[],"content":"Note Deconstructing Kubernetes Networking · Emanuel Evans https://eevans.co/blog/deconstructing-kubernetes-networking/ いい記事, Kubernetes のネットワーキングについて CNI とかの説明が書いてある Kubernetes Controllers - A new hope | Slinky\u0026rsquo;s corner https://slinkydeveloper.com/Kubernetes-controllers-A-New-Hope/ WASM の Kubernetes Controller の話 秒間3万リクエストをkubernetesでさばく - Gunosy Tech Blog https://tech.gunosy.io/entry/high_traffic_server_on_eks sidecar fluentd, DaemonSet に比べてリソースもったいなくない?という気持ちがある ","date":1597762999,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597762999,"objectID":"9034d2596512c0bdfb63867de4dae4ff","permalink":"https://d-kuro.github.io/diaries/202008/20200819/","publishdate":"2020-08-18T15:03:19Z","relpermalink":"/diaries/202008/20200819/","section":"diaries","summary":"Note Deconstructing Kubernetes Networking · Emanuel Evans https://eevans.co/blog/deconstructing-kubernetes-networking/ いい記事, Kubernetes のネットワーキングについて CNI とか","tags":[],"title":"2020-08-19","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetesのモダンな活用法 - 設計メソッドと、Virtual Kubeletで実現するサーバーレス化を学ぼう - エンジニアHub|若手Webエンジニアのキャリアを考える! https://employment.en-japan.com/engineerhub/entry/2020/08/18/103000 virtual kubelet, AWS が EKS Fargate で採用しないあたりでうーんになった感がある Introducing launch template and custom AMI support in Amazon EKS Managed Node Groups | Containers https://aws.amazon.com/jp/blogs/containers/introducing-launch-template-and-custom-ami-support-in-amazon-eks-managed-node-groups/ managed node group が launch tempalate に対応, kubelet の option とかいじれるようになったかな Intuit and Red Hat join forces on Argo Project! | by Mukulika Kapas | Aug, 2020 | Argo Project https://blog.argoproj.io/red-hat-and-intuit-join-forces-on-argo-project-3442e9ae9bd8 Red Hat が join したらしい ","date":1597676577,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597676577,"objectID":"5769b760af67bf11ea6501f7549a5004","permalink":"https://d-kuro.github.io/diaries/202008/20200818/","publishdate":"2020-08-17T15:02:57Z","relpermalink":"/diaries/202008/20200818/","section":"diaries","summary":"Note Kubernetesのモダンな活用法 - 設計メソッドと、Vi","tags":[],"title":"2020-08-18","type":"diaries"},{"authors":[],"categories":[],"content":"Note その後のgolangと(Dockerと)OOM — KaoriYa https://www.kaoriya.net/blog/2020/08/16/golang-vs-oom-part2/ 仮想メモリと物理メモリの話 is わからん Knowledge map – JetBrains Academy https://hyperskill.org/knowledge-map/521?v=table JetBrains Academy, アルゴリズムとか学べるらしい, やりたい ","date":1597590212,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597590212,"objectID":"f012c92c773484ba818c73d710d08f24","permalink":"https://d-kuro.github.io/diaries/202008/20200817/","publishdate":"2020-08-16T15:03:32Z","relpermalink":"/diaries/202008/20200817/","section":"diaries","summary":"Note その後のgolangと(Dockerと)OOM — KaoriYa https://www.kaoriya.net/blog/2020/08/16/golang-vs-oom-part2/ 仮想メ","tags":[],"title":"2020-08-17","type":"diaries"},{"authors":[],"categories":[],"content":"Note Argo CD v1.7-rc1 is here!. The first release candidate is… | by Alexander Matyushentsev | Aug, 2020 | Argo Project https://blog.argoproj.io/argo-cd-v1-7-rc1-is-here-bd133c7d5c64 Argo CD v1.7 の話, namespace の自動作成とか sync のリトライポリシーとか指定できるようになったっぽい aws-sdk-go, aws-sdk-go-v2 でMFAトークンによるAssumeRoleに対応する · horizoon https://horizoon.jp/post/2019/08/16/aws_sdk_go_assumerole/ v2 だと aws/session パッケージが削除されたらしい, まじか ","date":1597503786,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597503786,"objectID":"70e5c94a51650bcb62c5762928786f96","permalink":"https://d-kuro.github.io/diaries/202008/20200816/","publishdate":"2020-08-15T15:03:06Z","relpermalink":"/diaries/202008/20200816/","section":"diaries","summary":"Note Argo CD v1.7-rc1 is here!. The first release candidate is… | by Alexander Matyushentsev | Aug, 2020 | Argo Project https://blog.argoproj.io/argo-cd-v1-7-rc1-is-here-bd133c7d5c64 Argo CD v1.7 の話,","tags":[],"title":"2020-08-16","type":"diaries"},{"authors":[],"categories":[],"content":"Note Feature Gates | Kubernetes https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/ Kubernetes の feature gates 一覧, 便利 Incident Management With Datadog | Datadog https://www.datadoghq.com/ja/blog/incident-response-with-datadog/ Datadog の incident management 機能, 便利 Singleton Pattern in Go · marcio.io http://marcio.io/2015/07/singleton-pattern-in-go/ sync.Once の使い所さん ","date":1597417381,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597417381,"objectID":"f20aeae7a250e045d026ae5a77cda668","permalink":"https://d-kuro.github.io/diaries/202008/20200815/","publishdate":"2020-08-14T15:03:01Z","relpermalink":"/diaries/202008/20200815/","section":"diaries","summary":"Note Feature Gates | Kubernetes https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/ Kubernetes の feature gates 一覧, 便利 Incident Management With Datadog | Datadog https://www.datadoghq.com/ja/blog/incident-response-with-datadog/ Datadog の incident management 機能, 便","tags":[],"title":"2020-08-15","type":"diaries"},{"authors":[],"categories":[],"content":"Note Introducing Hierarchical Namespaces | Kubernetes https://kubernetes.io/blog/2020/08/14/introducing-hierarchical-namespaces/ 階層的な Namesapce, RABC とかを引き継ぐ Docker Hub の新しいコンテナ・イメージ保管ポリシー(参考訳) - Qiita https://qiita.com/zembutsu/items/e92a2e2f46b147e5a206 半年使ってない Image を消すよとのこと ","date":1597331005,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597331005,"objectID":"c214ea90074773a9b9f1926063e0ed49","permalink":"https://d-kuro.github.io/diaries/202008/20200814/","publishdate":"2020-08-13T15:03:25Z","relpermalink":"/diaries/202008/20200814/","section":"diaries","summary":"Note Introducing Hierarchical Namespaces | Kubernetes https://kubernetes.io/blog/2020/08/14/introducing-hierarchical-namespaces/ 階層的な Namesapce, RABC とかを引き継ぐ Docker Hub の新しいコンテナ","tags":[],"title":"20200814","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go 1.15 Release Notes - The Go Programming Language https://golang.org/doc/go1.15 Go 1.15, リリースされた Build@Mercari第2〜4週目のテーマ「データ構造/アルゴリズム」を深堀り!#BuildAtMercari | mercan (メルカン) https://mercan.mercari.com/articles/24335/ データ構造とアルゴリズム, 学びたい Release v1.0.0 · operator-framework/operator-sdk https://github.com/operator-framework/operator-sdk/releases/tag/v1.0.0 v1 になった ","date":1597244579,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597244579,"objectID":"08e4b8613479146325eb50143bf65cab","permalink":"https://d-kuro.github.io/diaries/202008/20200813/","publishdate":"2020-08-12T15:02:59Z","relpermalink":"/diaries/202008/20200813/","section":"diaries","summary":"Note Go 1.15 Release Notes - The Go Programming Language https://golang.org/doc/go1.15 Go 1.15, リリースされた Build@Merc","tags":[],"title":"2020-08-13","type":"diaries"},{"authors":[],"categories":[],"content":"Note メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog https://keens.github.io/blog/2017/04/30/memoritosutakkutohi_puto/ スタックとヒープの話, Ruby は全部ヒープを使うのか Introducing Tekton Hub - CD Foundation https://cd.foundation/blog/2020/08/10/introducing-tekton-hub/ Tekton Hub, なんか色々登録されていた golangのio.Readerは使い回しできない - Qiita https://qiita.com/sueken/items/30b6da9259e94c1ede71 io.TeeReader で使い回す, 便利 ","date":1597158198,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597158198,"objectID":"7a12145ce991384e279ba2f88ce62d77","permalink":"https://d-kuro.github.io/diaries/202008/20200812/","publishdate":"2020-08-11T15:03:18Z","relpermalink":"/diaries/202008/20200812/","section":"diaries","summary":"Note メモリとスタックとヒープとプログラミング言語 | κeenのH","tags":[],"title":"2020-08-12","type":"diaries"},{"authors":[],"categories":[],"content":"Note golangとDockerとOOM — KaoriYa https://www.kaoriya.net/blog/2020/01/18/golang-on-docker-oom/ Linux のメモリ管理の話なんもわからん テストのためだけにinterfaceを書きたくないでござる — KaoriYa https://www.kaoriya.net/blog/2020/01/20/never-interface-only-for-tests/ テストのために interface を切らずにビルドタグで頑張る話, よく出る話だけどあんまりこのやり方は一般的じゃないような気がしてうーんみたいなのはある 負荷試験コトハジメ https://gist.github.com/voluntas/00da5ea7a1a14d82adf2e718c7d8a145 負荷試験でやることがフェーズごとにまとまっている ","date":1597071767,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1597071767,"objectID":"7288005f84902bd09377a90f5499c14c","permalink":"https://d-kuro.github.io/diaries/202008/20200811/","publishdate":"2020-08-10T15:02:47Z","relpermalink":"/diaries/202008/20200811/","section":"diaries","summary":"Note golangとDockerとOOM — KaoriYa https://www.kaoriya.net/blog/2020/01/18/golang-on-docker-oom/ Linux のメモリ管理の話","tags":[],"title":"2020-08-11","type":"diaries"},{"authors":[],"categories":[],"content":"Note FlannelのVXLANバックエンドの仕組み - めもめも https://enakai00.hatenablog.com/entry/2015/04/02/173739 仮想ネットワークなんもわからん…… なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか? https://mahata.gitlab.io/post/2018-10-15-goroutines-vs-java-threads/ goroutine は軽量スレッド, スケジューラをランタイムが実装している イケてるエンジニアになろうシリーズ 〜メモリとプロセスとスレッド編〜 - もろず blog https://moro-archive.hatenablog.com/entry/2014/09/11/013520 プロセスとスレッドの違い マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー https://naoya-2.hatenadiary.org/entry/20071010/1192040413 スレッドの話 ","date":1596985354,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596985354,"objectID":"30e8d81e3098327c919d4cb1f6470a19","permalink":"https://d-kuro.github.io/diaries/202008/20200810/","publishdate":"2020-08-09T15:02:34Z","relpermalink":"/diaries/202008/20200810/","section":"diaries","summary":"Note FlannelのVXLANバックエンドの仕組み - めもめも https://enakai00.hatenablog.com/entry/2015/04/02/173739","tags":[],"title":"2020-08-10","type":"diaries"},{"authors":[],"categories":[],"content":"Note nil は nil — プログラミング言語 Go | text.Baldanders.info https://text.baldanders.info/golang/nil-is-nil/ 型付き nil の話 ホストからの Prometheus および OpenMetrics メトリクスの収集 https://docs.datadoghq.com/ja/integrations/guide/prometheus-host-collection/ Datadog で prometheus exporter からメトリクス収集するやつ ","date":1596898969,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596898969,"objectID":"19af31e94f0feab4c807a5dac6c32bcf","permalink":"https://d-kuro.github.io/diaries/202008/20200809/","publishdate":"2020-08-08T15:02:49Z","relpermalink":"/diaries/202008/20200809/","section":"diaries","summary":"Note nil は nil — プログラミング言語 Go | text.Baldanders.info https://text.baldanders.info/golang/nil-is-nil/ 型付き nil の話 ホストからの","tags":[],"title":"2020-08-09","type":"diaries"},{"authors":[],"categories":[],"content":"Note 最速のJSONライブラリを求めて - Speaker Deck https://speakerdeck.com/goccy/zui-su-falsejsonraiburariwoqiu-mete Decode よりも Unmarshal のは速いのか…… Extend the Kubernetes API - Google スライド https://docs.google.com/presentation/d/1xiAaW1jjmyincK2yDezJZxwq9AaclQ658vkO-17fTIA/edit#slide=id.p kubebuilder の話 リトライでtime.Sleepを使ったら積んだ話 https://www.slideshare.net/ssuser329cba/timesleep-237600676 mercari.go #14 オンライン開催 - YouTube https://www.youtube.com/watch?v=BpKBUAqkxsw ","date":1596812576,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596812576,"objectID":"2f1262996b87bae105163ddcd699ea38","permalink":"https://d-kuro.github.io/diaries/202008/20200808/","publishdate":"2020-08-07T15:02:56Z","relpermalink":"/diaries/202008/20200808/","section":"diaries","summary":"Note 最速のJSONライブラリを求めて - Speaker Deck https://speakerdeck.com/goccy/zui-su-falsejsonraiburariwoqiu-mete Decode よりも Unmarshal のは速い","tags":[],"title":"20200808","type":"diaries"},{"authors":[],"categories":[],"content":"Note argoproj-labs/argocd-image-updater: Automatic container image update for ArgoCD https://github.com/argoproj-labs/argocd-image-updater Argo CD 用の image tag 更新する君, Git に変更を push するのではなく Application に永続化するらしい アルゴリズム本、書きました! - Qiita https://qiita.com/drken/items/08fd5c8c2b9d8c441dc3 良さそう, DP よくわからんので欲しいな 問題解決力を鍛える!アルゴリズムとデータ構造 (KS情報科学専門書) 大槻 兼資 https://www.amazon.co.jp/dp/4065128447/ Keeping Google Meet ahead of usage demand during COVID-19 | Google Cloud Blog https://cloud.google.com/blog/products/g-suite/keeping-google-meet-ahead-of-usage-demand-during-covid-19 Google Meet のスケールについて GitHub Availability Report: July 2020 https://github.blog/2020-08-05-github-availability-report-july-2020/ ImagePullPolicy を Always にしてて OOM で死んだ後名前解決ができずに死んだらしい ","date":1596726162,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596726162,"objectID":"0e890172a8bcfaaad117fcda0849315d","permalink":"https://d-kuro.github.io/diaries/202008/20200807/","publishdate":"2020-08-06T15:02:42Z","relpermalink":"/diaries/202008/20200807/","section":"diaries","summary":"Note argoproj-labs/argocd-image-updater: Automatic container image update for ArgoCD https://github.com/argoproj-labs/argocd-image-updater Argo CD 用の image tag 更新する君, Git に変更を push するの","tags":[],"title":"2020-08-07","type":"diaries"},{"authors":[],"categories":[],"content":"Note 【Kubernetes Operator】operator-sdkとkubebuilder統合に関する注意点 - Qiita https://qiita.com/iaoiui/items/024673f0af1057ab08f6 統合されるのか, いい話っぽい Using Custom Plugin Indexes · Krew https://krew.sigs.k8s.io/docs/user-guide/custom-indexes/ Krew の Custom Index 機能 Kubernetes CronJobs at Scale Part 1 by Kevin Yang | Lyft Engineering https://eng.lyft.com/improving-kubernetes-cronjobs-at-scale-part-1-cf1479df98d4 Lyft の CronJob 運用の話 Kubernetes CronJobs at Scale Part 2 by Kevin Yang | Lyft Engineering https://eng.lyft.com/how-we-learned-to-improve-kubernetes-cronjobs-at-scale-part-2-of-2-dad0c973ffca Alert とかどうしてるかみたいなのが書いてある, create job --from=cronjob で手動で実行してテストとか手動での回復とかに使ってるらしい 実践Rustプログラミング入門 初田 直也 https://www.amazon.co.jp/dp/4798061700 Rust やりたい Netlifyが日本からだと遅い - id:anatooのブログ https://blog.anatoo.jp/2020-08-03 デバッグの仕方, 参考になる ","date":1596639775,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596639775,"objectID":"06dd4896fbc371eb53505c3e9adf0719","permalink":"https://d-kuro.github.io/diaries/202008/20200806/","publishdate":"2020-08-05T15:02:55Z","relpermalink":"/diaries/202008/20200806/","section":"diaries","summary":"Note 【Kubernetes Operator】operator-","tags":[],"title":"2020-08-06","type":"diaries"},{"authors":[],"categories":[],"content":"Note AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita https://qiita.com/drken/items/fd4e5e3630d0f5859067 あとでみる 計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita https://qiita.com/drken/items/872ebc3a2b5caaa4a0d0 なんかループとかはわかるんだけど log n みたいなのをシュッと出せない lxc-jp/Namespace-in-Operation-ja: lwn.net の Namespaces in Operation シリーズ (http://lwn.net/Articles/531114/) の翻訳 https://github.com/lxc-jp/Namespace-in-Operation-ja namespace なんもわからん LIFULLを支えるKubernetesエコシステムまとめ 2020年版 - LIFULL Creators Blog https://www.lifull.blog/entry/2020/08/03/113000 よくばりセットみたいな感じ Announcing the Spinnaker Kubernetes Operator: Spinnaker Management Made Simple | by Rosalind Benoit | Aug, 2020 | The Spinnaker Community Blog https://blog.spinnaker.io/announcing-the-spinnaker-kubernetes-operator-spinnaker-management-made-simple-8ea69fc3cf64 Spinnaker Operator, なるほど ","date":1596553368,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596553368,"objectID":"75818fc543d42befa9106cd2366ce576","permalink":"https://d-kuro.github.io/diaries/202008/20200805/","publishdate":"2020-08-04T15:02:48Z","relpermalink":"/diaries/202008/20200805/","section":"diaries","summary":"Note AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去","tags":[],"title":"2020-08-05","type":"diaries"},{"authors":[],"categories":[],"content":"Note Gopher道場 自習室 - Gopher道場 https://gopherdojo.org/studyroom/ 動画公開された Prometheus で独自メトリクスを用意する - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-metrics-collector Go で Prometheus exporter 作る時に見るやつ Prometheus でAPIサーバの監視【HTTP】 - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-application-over-http Go で Prometheus exporter 作る時に見るやつ その 2 slok/go-http-metrics: Go modular http middleware to measure HTTP requests independent of metrics backend (with Prometheus and OpenCensus as backend implementations) and http framework/library https://github.com/slok/go-http-metrics Duration の metrics 作る時に参考になった ","date":1596466978,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596466978,"objectID":"df22ff798389cc2caa50dc9b425ad056","permalink":"https://d-kuro.github.io/diaries/202008/20200804/","publishdate":"2020-08-03T15:02:58Z","relpermalink":"/diaries/202008/20200804/","section":"diaries","summary":"Note Gopher道場 自習室 - Gopher道場 https://gopherdojo.org/studyroom/ 動画公開された Prometheus","tags":[],"title":"2020-08-04","type":"diaries"},{"authors":[],"categories":[],"content":"Note goroutineはなぜ軽量なのか - Carpe Diem https://christina04.hatenablog.com/entry/why-goroutine-is-good メモリ使用量が少なくてスイッチングコストが低いらしい Service Topology | Kubernetes https://kubernetes.io/docs/concepts/services-networking/service-topology/ Service で通信する時に zone が違いところにルーティングするみたいなのができるやつ 悩みに悩んだ Kubernetes Secrets の管理方法、External Secrets を選んだ理由 | PLAID engineer blog https://tech.plaid.co.jp/nayanda-kubernetes-secret-management/ external-secrets, Go 製じゃないのが微妙だなあと思いつつみてる Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository - Speaker Deck https://speakerdeck.com/sonatard/ideal-and-reality-of-abstraction-by-repository Go で Repository 書く時に見るやつ もう一度テストパターンを整理しよう(WebApp編) - Speaker Deck https://speakerdeck.com/codehex/mou-du-tesutopatanwozheng-li-siyou-webappbian Go で Repository 書く時に見るやつその 2 GoのAPIのテストにおける共通処理. GoのAPIを書くとき、参考になるユニットテストの話は非常によく見ます。Tabl… | by timakin | Medium https://medium.com/@timakin/go-api-testing-173b97fb23ec ","date":1596380576,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596380576,"objectID":"d5abb075e23a4b0403e5d8aed223a267","permalink":"https://d-kuro.github.io/diaries/202008/20200803/","publishdate":"2020-08-02T15:02:56Z","relpermalink":"/diaries/202008/20200803/","section":"diaries","summary":"Note goroutineはなぜ軽量なのか - Carpe Diem https://christina04.hatenablog.com/entry/why-goroutine-is-good メモリ使用量が少","tags":[],"title":"2020-08-03","type":"diaries"},{"authors":[],"categories":[],"content":"Note The Kubernetes CPU Manager: a Ghost Story | by Michael Vigilante | Redbubble | Jul, 2020 | Medium https://medium.com/redbubble/the-kubernetes-cpu-manager-a-ghost-story-4ef9575a0791 CPU スロットリングの話, 最終的に CPU manager でコアを専有させた The Seccomp Notifier - New Frontiers in Unprivileged Container Development — Christian Brauner https://people.kernel.org/brauner/the-seccomp-notifier-new-frontiers-in-unprivileged-container-development 読んでも全然わからん Kubernetes Secrets: A Secure Credential Store for Jenkins https://tech.ebayinc.com/research/kubernetes-secrets-a-secure-credential-store-for-jenkins/ Jenkins の credential を Kubernetes の Secret として保存するプラグイン hostPathとlocalのPersistentVolumeの違い - Qiita https://qiita.com/sotoiwa/items/09d2f43a35025e7be782 Volume 全然わからん ","date":1596294184,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596294184,"objectID":"4c58b6b18637ad267e343c2f7bc3e8ff","permalink":"https://d-kuro.github.io/diaries/202008/20200802/","publishdate":"2020-08-01T15:03:04Z","relpermalink":"/diaries/202008/20200802/","section":"diaries","summary":"Note The Kubernetes CPU Manager: a Ghost Story | by Michael Vigilante | Redbubble | Jul, 2020 | Medium https://medium.com/redbubble/the-kubernetes-cpu-manager-a-ghost-story-4ef9575a0791 CPU スロットリングの話","tags":[],"title":"2020-08-02","type":"diaries"},{"authors":[],"categories":[],"content":"Note GKE のベスト プラクティス: 高可用性クラスタの設計と構築 | Google Cloud Blog https://cloud.google.com/blog/ja/products/containers-kubernetes/best-practices-for-creating-a-highly-available-gke-cluster CustomResourceDefinitions relationships - The Cluster API Book https://cluster-api.sigs.k8s.io/developer/crd-relationships.html Cluster API の CRD の関連図 dockerネットワーキングとか、kubernetesネットワーキングとか | fukabori.fm https://fukabori.fm/episode/11 Podcast, ラジオにしよう CPU/memoryベースのHPAとVPAはなぜ併用できないのか? - Qiita https://qiita.com/Ladicle/items/812c7cbee51c7ae8ccac HPA が requests ベースで使用率を計算していて VPA が requests を書き換えるので ","date":1596207766,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596207766,"objectID":"402f87b4a3f2fb2f5d162f367a402886","permalink":"https://d-kuro.github.io/diaries/202008/20200801/","publishdate":"2020-07-31T15:02:46Z","relpermalink":"/diaries/202008/20200801/","section":"diaries","summary":"Note GKE のベスト プラクティス: 高可用性クラスタの設計と構築 | Google Cloud","tags":[],"title":"2020-08-01","type":"diaries"},{"authors":[],"categories":[],"content":"Note Introducing the Datadog Mobile App | Datadog https://www.datadoghq.com/ja/blog/datadog-mobile-app/ datadog のモバイルアプリ, 今までダッシュボードがスマホだと見れたもんじゃなかったのでそれはありがたい Kubernetes Prometheus and OpenMetrics metrics collection https://docs.datadoghq.com/ja/agent/kubernetes/prometheus/ 毎回忘れる Golangで簡単にPrometheusのExporterを作れる。 - ry\u0026rsquo;s Tech blog https://ryo-xjsbx.hatenablog.com/entry/prometheus-exporter-with-golang Prometheus で独自メトリクスを用意する - Carpe Diem https://christina04.hatenablog.com/entry/prometheus-metrics-collector Go の Prometheus exporter で Counter, Gauge, Summary, Histogram, それぞれの使い方が載ってる Certificate management on Kubernetes · Banzai Cloud https://banzaicloud.com/blog/cert-management-on-kubernetes/ cert-manager, 完全に理解したい multi-tenancy/incubator/hnc at master · kubernetes-sigs/multi-tenancy https://github.com/kubernetes-sigs/multi-tenancy/tree/master/incubator/hnc Hierarchical Namespace Controller, Namespace を階層構造にできるやつ Hierarchical Namespace で Namespace を階層構造に管理してオブジェクトを伝搬させる - @amsy810\u0026rsquo;s Blog https://amsy810.hateblo.jp/entry/2019/12/01/230822 日本語ブログ aws-samples/amazon-k8s-node-drainer: Gracefully drain Kubernetes pods from EKS worker nodes during autoscaling scale-in events. https://github.com/aws-samples/amazon-k8s-node-drainer ASG の scale-in event で Pod を drain してくれるやつ ","date":1596121387,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596121387,"objectID":"175a14965304659eec2e3c34d34890ea","permalink":"https://d-kuro.github.io/diaries/202007/20200731/","publishdate":"2020-07-30T15:03:07Z","relpermalink":"/diaries/202007/20200731/","section":"diaries","summary":"Note Introducing the Datadog Mobile App | Datadog https://www.datadoghq.com/ja/blog/datadog-mobile-app/ datadog のモバイルアプリ, 今までダッシュボードが","tags":[],"title":"2020-07-31","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kustomize でマニフェストのフィールドを削除する | text․superbrothers․dev https://text.superbrothers.dev/200315-delete-field-with-kustomize/ null で patch する, 便利だよね Extend the Kubernetes API with CustomResourceDefinitions | Kubernetes https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/ CRD の書き方, 細かいフィールドの定義はなくてもいいのか Linux は全てがファイルと言う概念なので IOPS が大事という話 https://twitter.com/hodahgi/status/1288321007048986624 OAuth 2.0 サーバをGo言語で実装しテストを書く at golang.tokyo#18 - Speaker Deck https://speakerdeck.com/hgsgtk/oauth-2-dot-0-sahawogoyan-yu-teshi-zhuang-sitesutowoshu-ku-at-golang-dot-tokyo-number-18 Namespaces in operation, part 1: namespaces overview [LWN.net] https://lwn.net/Articles/531114/ Linux の namespace について lxc-jp/Namespace-in-Operation-ja: lwn.net の Namespaces in Operation シリーズ (http://lwn.net/Articles/531114/) の翻訳 https://github.com/lxc-jp/Namespace-in-Operation-ja 上の翻訳 ","date":1596034976,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1596034976,"objectID":"ed086a0eb53e4014e1bcdf1b623964a4","permalink":"https://d-kuro.github.io/diaries/202007/20200730/","publishdate":"2020-07-29T15:02:56Z","relpermalink":"/diaries/202007/20200730/","section":"diaries","summary":"Note Kustomize でマニフェストのフィールドを削除する | text․supe","tags":[],"title":"2020-07-30","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go関連の比較的新しいTips - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2020/07/28/215746 reflect.Select, そんなのあるのか, pkg.go.dev のバッジとかは便利 NodeLocal DNSCache の設定 | Kubernetes Engine ドキュメント | Google Cloud https://cloud.google.com/kubernetes-engine/docs/how-to/nodelocal-dns-cache ちゃんとしてる NodeLocal DNSCache のドキュメント Webブラウザ上で純粋なHTTPだけで単方向リアルタイム通信を可能にするHTTPのストリーミングアップロードが遂にやってくる - nwtgck / Ryo Ota https://cloud.google.com/kubernetes-engine/docs/how-to/nodelocal-dns-cache すごいな golang.tokyo#4でGo開発環境Goglandのライブデモを見てきた | メルカリエンジニアリング https://engineering.mercari.com/blog/entry/2017-03-23-124437/ GoLand 使いこなせません Goで作るテキストエディタ - Sansan Builders Blog https://buildersbox.corp-sansan.com/entry/2020/07/29/113000 GapBuffer, なるほど ","date":1595948575,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595948575,"objectID":"eb4ec6dbc77c873fcba6aacf6826e86f","permalink":"https://d-kuro.github.io/diaries/202007/20200729/","publishdate":"2020-07-28T15:02:55Z","relpermalink":"/diaries/202007/20200729/","section":"diaries","summary":"Note Go関連の比較的新しいTips - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2020/07/28/215746 reflect.Select,","tags":[],"title":"2020-07-29","type":"diaries"},{"authors":[],"categories":[],"content":"Note summerwind/actions-runner-controller: Kubernetes controller for GitHub Actions self-hosted runnners https://github.com/summerwind/actions-runner-controller self hosted GtiHub Actions の controller, よさそう flant/k8s-image-availability-exporter: Alert if an image used in Kubernetes cannot be pulled from container registry https://github.com/flant/k8s-image-availability-exporter Image が使えるかのメトリクスを出してくれる君 1人運用を支えるAmazon EKSノウハウ / Amazon EKS Know-How - Speaker Deck https://speakerdeck.com/hi1280/amazon-eks-know-how GitHub Actions の self-hosted runner と Amazon EKS を使った Docker の Build Pipeline/Build Pipeline for Docker with GitHub Actions self-hosted runner and Amazon EKS - Speaker Deck https://speakerdeck.com/tmnakagawa/build-pipeline-for-docker-with-github-actions-self-hosted-runner-and-amazon-eks self hosted な CI を使うとクレデンシャルを引き渡ししないといけない問題が解決する, 確かに GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline - Speaker Deck https://speakerdeck.com/manabusakai/secure-docker-build-pipeline Introduction to Flagger - Speaker Deck https://speakerdeck.com/mathetake/introduction-to-flagger Flagger のアーキテクチャ, Argo Rollout よりも好き ","date":1595862159,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595862159,"objectID":"b0c21feb1885ecd4d81ff9c0f9e5b818","permalink":"https://d-kuro.github.io/diaries/202007/20200728/","publishdate":"2020-07-27T15:02:39Z","relpermalink":"/diaries/202007/20200728/","section":"diaries","summary":"Note summerwind/actions-runner-controller: Kubernetes controller for GitHub Actions self-hosted runnners https://github.com/summerwind/actions-runner-controller self hosted GtiHub Actions の controller, よさそう flant/k8s-image-availability-exporter: Alert if an image used in Kubernetes cannot be","tags":[],"title":"2020-07-28","type":"diaries"},{"authors":[],"categories":[],"content":"Note 第45回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[6]:LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社 https://gihyo.jp/admin/serial/01/linux_containers/0045?page=1 cgroup なんもわからん プロダクションの Rails サーバーの利用メモリがひたすら増加していくような挙動を観測したとき、どう対応するのがよいですか? - Quora https://jp.quora.com/purodakushon-no-Rails-sa-ba-no-riyou-memori-ga-hitasura-zouka-shi-tei-ku-you-na-kyodou-wo-kansoku-shita-toki-dou-taiou-suru-no-ga-yoi-desu-ka memory bloat, フラグメンテーションで再利用できない領域がだんだん増えていく, なるほど introduction-to-modern-gc - Speaker Deck https://speakerdeck.com/yokotaso/introduction-to-modern-gc 3分で理解するG1ガベージコレクション - Qiita https://qiita.com/tshk_mtsys/items/5a027fe00b3bff009b17 GoのGCを10分で学ぼう - Qiita https://qiita.com/gold-kou/items/4431d3dd41606d41732b Go の GC はコンパクションをしない Go言語のGCについて - LINE ENGINEERING https://engineering.linecorp.com/ja/blog/go-gc/ TCMalloc ベースのメモリアロケータで断片化の問題を解決したらしい ","date":1595775771,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595775771,"objectID":"81fce77bb8fb33e3bf374be00ce02ace","permalink":"https://d-kuro.github.io/diaries/202007/20200727/","publishdate":"2020-07-26T15:02:51Z","relpermalink":"/diaries/202007/20200727/","section":"diaries","summary":"Note 第45回 Linuxカーネルのコンテナ機能 ― cgroupの改","tags":[],"title":"2020-07-27","type":"diaries"},{"authors":[],"categories":[],"content":"Note Linux Foundation の A Beginner\u0026rsquo;s Guide to Linux Kernel Development (LFD103) ってやつで Linux の開発が学べるらしい https://twitter.com/o8_vm/status/1287049635131924480 Bringing Traffic Into Your Kubernetes Cluster - Speaker Deck https://speakerdeck.com/thockin/bringing-traffic-into-your-kubernetes-cluster https://twitter.com/superbrothers/status/1287178380903714816 Kubernetes クラスタの外からのトラフィックの流れを解説する記事 andreazorzetto/yh: YAML syntax highlighter to bring colours where only jq could https://github.com/andreazorzetto/yh パイプで繋いで Kubernets の YAML を色付けするやつ, 便利そう 中年プログラマの競プロ事始 - hydrakecat’s blog https://hydrakecat.hatenablog.jp/entry/2020/07/26/%E4%B8%AD%E5%B9%B4%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E7%AB%B6%E3%83%97%E3%83%AD%E4%BA%8B%E5%A7%8B 競技プログラミング真面目にやりたいと思いつつやる気が続かないやつをやっている ","date":1595689353,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595689353,"objectID":"f2f924b1532af462021a0851ba85066c","permalink":"https://d-kuro.github.io/diaries/202007/20200726/","publishdate":"2020-07-25T15:02:33Z","relpermalink":"/diaries/202007/20200726/","section":"diaries","summary":"Note Linux Foundation の A Beginner\u0026rsquo;s Guide to Linux Kernel Development (LFD103) ってやつで Linux の開発が学べるらしい https://twitter.com/o8_vm/status/1287049635131924480 Bringing","tags":[],"title":"2020-07-26","type":"diaries"},{"authors":[],"categories":[],"content":"Note ドイツの大学院でコンピュータサイエンスを学ぶー文系卒会社員から理転して修士号を取得するまで - 元コンサルタントな歴史家―ドイツから見た日本 https://www.ito-tomohide.com/entry/Master-in-Computer-Science-in-Germany 行動力がすごすぎる Amazon EFS CSI Driver is now generally available https://aws.amazon.com/jp/about-aws/whats-new/2020/07/amazon-efs-csi-driver-now-generally-available/ EKS の EFS CSI Driver が GA Container Networking Security Issue (CVE-2020-8558) https://aws.amazon.com/jp/security/security-bulletins/AWS-2020-002/ CVE Kubernetesでやりたいことがまだたくさんある - Speaker Deck https://speakerdeck.com/takanariko/kubernetesdeyaritaikotogamadatakusanaru Zlab の話 VSCode + golangでの快適な補完について自分なりにまとめてみた - Qiita https://qiita.com/akinobufujii/items/50d605ecf22daa3309cb Go / VSCode Prow に学ぶ Kubernetes のCI環境/Prow \u0026amp; Kubernetes - Speaker Deck https://speakerdeck.com/bells17/prow-and-kubernetes Prow, 大体の場合複雑すぎるなあと思いつつ生きてる July Tech Festa 2020で Prowについてお話しました | by bells17 | Jul, 2020 | Medium https://medium.com/@bells17/talked-about-prow-at-july-tech-festa-2020-f293c6365048 上のスライドの解説ブログ ","date":1595602943,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595602943,"objectID":"06068e1c4a7b0afbc4e01ce6ce6fd5bb","permalink":"https://d-kuro.github.io/diaries/202007/20200725/","publishdate":"2020-07-24T15:02:23Z","relpermalink":"/diaries/202007/20200725/","section":"diaries","summary":"Note ドイツの大学院でコンピュータサイエンスを学ぶー文系卒会社員","tags":[],"title":"2020-07-25","type":"diaries"},{"authors":[],"categories":[],"content":"Note Alerting on Kubernetes: How to \u0026amp; best practices | Sysdig https://sysdig.com/blog/alerting-kubernetes/ Kubernetes のアラートをどうするか, 結局はアプリケーションに SLO が定義してあればそれに対するアラートだけあればいいのではという気持ちがありつつ プラットフォーム SLO みたいなのを考える時にどうするみたいなのはある CRD is just a table in Kubernetes | by Hiro OSAKI | Jul, 2020 | ITNEXT https://itnext.io/crd-is-just-a-table-in-kubernetes-13e15367bbe4 CRD を DB のテーブルと見立てる話, まあわかる, いい感じに client-go から扱うすべを知りたい Introducing Domain-Oriented Microservice Architecture | Uber Engineering Blog https://eng.uber.com/microservice-architecture/ Uber のマイクロサービスの話, ドメイン志向のアーキテクチャになってるらしい ","date":1595516571,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595516571,"objectID":"e4421f572659ac1e7825b4ddec871953","permalink":"https://d-kuro.github.io/diaries/202007/20200724/","publishdate":"2020-07-23T15:02:51Z","relpermalink":"/diaries/202007/20200724/","section":"diaries","summary":"Note Alerting on Kubernetes: How to \u0026amp; best practices | Sysdig https://sysdig.com/blog/alerting-kubernetes/ Kubernetes のアラートをどうするか, 結局はアプ","tags":[],"title":"2020-07-24","type":"diaries"},{"authors":[],"categories":[],"content":"Note 動的計画法超入門! Educational DP Contest の A ~ E 問題の解説と類題集 - Qiita https://qiita.com/drken/items/dc53c683d6de8aeacf5a 動的計画法なんもわからん 典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ - Qiita https://qiita.com/drken/items/a5e6fe22863b7992efdb 解説見ればわかるんだけどわからん GoBGP https://osrg.github.io/gobgp/ Go の BGP 実装 ","date":1595430154,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595430154,"objectID":"c9ef49d2f44a3285c30d001328f88221","permalink":"https://d-kuro.github.io/diaries/202007/20200723/","publishdate":"2020-07-22T15:02:34Z","relpermalink":"/diaries/202007/20200723/","section":"diaries","summary":"Note 動的計画法超入門! Educational DP Contest の A ~ E 問題の解説と類題集 - Qiita https://qiita.com/drken/items/dc53c683d6de8aeacf5a 動","tags":[],"title":"2020-07-23","type":"diaries"},{"authors":[],"categories":[],"content":"Note さよならSpinnakerよろしくGitOps https://slides.com/shinofara/spinnaker-gitops Spinnaker から GitOps に移行した話 Datadog API Client Libraries Now Available for Java and Go | Datadog https://www.datadoghq.com/ja/blog/java-go-libraries/ Datadog の API client, Go があるらしい 10 most common mistakes using kubernetes – pipetail Blog https://blog.pipetail.io/posts/2020-05-04-most-common-mistakes-k8s/ わかりみがふかい ","date":1595343752,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595343752,"objectID":"c5285226348387a3bf92777893a4db76","permalink":"https://d-kuro.github.io/diaries/202007/20200722/","publishdate":"2020-07-21T15:02:32Z","relpermalink":"/diaries/202007/20200722/","section":"diaries","summary":"Note さよならSpinnakerよろしくGitOps https://slides.com/shinofara/spinnaker-gitops Spinnaker から GitOps に","tags":[],"title":"2020-07-22","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetes NodePort and iptables rules | Ronak Nathani https://ronaknathani.com/blog/2020/07/kubernetes-nodeport-and-iptables-rules/ kube-proxy が死んでもルーティングは iptables を用いて行われているので引き続き行われる Runtime Code Profile for Kubernetes Operators https://www.openshift.com/blog/runtime-code-profile-for-kubernetes-operators-1 Operator のプロファイルの話 Kubernetes のネットワークについてのスライド https://twitter.com/ahmetb/status/1283825893102612480 ","date":1595257363,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595257363,"objectID":"f330ba74f46fa2f2efdc92fa402ddec0","permalink":"https://d-kuro.github.io/diaries/202007/20200721/","publishdate":"2020-07-20T15:02:43Z","relpermalink":"/diaries/202007/20200721/","section":"diaries","summary":"Note Kubernetes NodePort and iptables rules | Ronak Nathani https://ronaknathani.com/blog/2020/07/kubernetes-nodeport-and-iptables-rules/ kube-proxy が死んでもルーティングは iptables を用いて行わ","tags":[],"title":"2020-07-21","type":"diaries"},{"authors":[],"categories":[],"content":"Note anuraghazra/github-readme-stats: Dynamically generated stats for your github readmes https://github.com/anuraghazra/github-readme-stats いい感じの GitHub の stats を表示するやつ, 自分の README に貼るといい感じになる go-sql-driver/mysql を用いる際に (*DB).SetConnMaxLifetime は不要なのか - Qiita https://qiita.com/ichizero/items/36036dbd8a32ce23ca5b kyaml2go を使って yaml から簡単にGolang のコードを生成して遊びたい - じゃあ、おうちで学べる https://syu-m-5151.hatenablog.com/entry/2020/07/21/222843 kyaml2go, 結局使ったことがない ","date":1595170961,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595170961,"objectID":"99de4ac34450cd09f4aacbda2ddf4d6c","permalink":"https://d-kuro.github.io/diaries/202007/20200720/","publishdate":"2020-07-19T15:02:41Z","relpermalink":"/diaries/202007/20200720/","section":"diaries","summary":"Note anuraghazra/github-readme-stats: Dynamically generated stats for your github readmes https://github.com/anuraghazra/github-readme-stats いい感じの GitHub の stats を表示するやつ, 自分の README","tags":[],"title":"2020-07-20","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetes Sample APIServerの動かし方 - Qiita https://qiita.com/go_vargo/items/c7a526c0d4dbc9199dd4 ユースケースがあんまりわからん, metrics-server とかがそうなのはそう Rust support in Envoy · Issue #12155 · envoyproxy/envoy https://github.com/envoyproxy/envoy/issues/12155 Rust, 触りたい Exposing services on GKE | Google Cloud Blog https://cloud.google.com/blog/products/containers-kubernetes/exposing-services-on-gke Kubernetes完全ガイド 第2版 (Top Gear) | ⻘⼭真也 |本 | 通販 | Amazon https://www.amazon.co.jp/dp/4295009792 第2版 New Kubernetes Security Specialist Certification to Help Professionals Demonstrate Expertise in Securing Container-Based Applications - Linux Foundation - Training https://training.linuxfoundation.org/announcements/new-kubernetes-security-specialist-certification-to-help-professionals-demonstrate-expertise-in-securing-container-based-applications/ セキュリティの新資格 マイクロサービスとはすなわち分散システムである https://www.infoq.com/jp/news/2016/10/microservices-distributed-system/ いい話 ","date":1595084553,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1595084553,"objectID":"3a3efff545a55583e521732f4648cfe8","permalink":"https://d-kuro.github.io/diaries/202007/20200719/","publishdate":"2020-07-18T15:02:33Z","relpermalink":"/diaries/202007/20200719/","section":"diaries","summary":"Note Kubernetes Sample APIServerの動かし方 - Qiita https://qiita.com/go_vargo/items/c7a526c0d4dbc9199dd4 ユースケースがあんま","tags":[],"title":"2020-07-19","type":"diaries"},{"authors":[],"categories":[],"content":"Note Register | Linux Foundation Events https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/register/ kubecon, 無料チケット Goのソースコード内のトリビア - YAMAGUCHI::weblog https://ymotongpoo.hatenablog.com/entry/2020/07/17/093000 へぇー どのようにPlatformチームの組織変更をしたか - Mercari Engineering Blog https://tech.mercari.com/entry/2020/07/16/083548 2 year goal, いいな ","date":1594998159,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594998159,"objectID":"b1a2b68e3e637772e72e87e05119aa11","permalink":"https://d-kuro.github.io/diaries/202007/20200718/","publishdate":"2020-07-17T15:02:39Z","relpermalink":"/diaries/202007/20200718/","section":"diaries","summary":"Note Register | Linux Foundation Events https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/register/ kubecon, 無料チケット Goのソースコード内のトリビア -","tags":[],"title":"2020-07-18","type":"diaries"},{"authors":[],"categories":[],"content":"Note コンピューターサイエンスの学習は簡単なチートではない - JavaScript勉強会 https://jsstudy.hatenablog.com/entry/Learning-computer-science-is-not-an-easy-cheat CS 学習したい人生だった 30分でOpenID Connect完全に理解したと言えるようになる勉強会 - Speaker Deck https://speakerdeck.com/d_endo/30fen-deopenid-connectwan-quan-nili-jie-sitatoyan-eruyouninarumian-qiang-hui 完全に理解したい DNS Lookups in Kubernetes - Karan Sharma https://speakerdeck.com/d_endo/30fen-deopenid-connectwan-quan-nili-jie-sitatoyan-eruyouninarumian-qiang-hui 定期 ndots Kubernetes pods /etc/resolv.conf ndots:5 option and why it may negatively affect your application performances https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html 定期 ndots ","date":1594911753,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594911753,"objectID":"a128fd6a401185083f1e1b733dc83f41","permalink":"https://d-kuro.github.io/diaries/202007/20200717/","publishdate":"2020-07-16T15:02:33Z","relpermalink":"/diaries/202007/20200717/","section":"diaries","summary":"Note コンピューターサイエンスの学習は簡単なチートではない - Ja","tags":[],"title":"2020-07-17","type":"diaries"},{"authors":[],"categories":[],"content":"Note Time型をJSONに変換するとtime.Locationの情報が欠落する場合の対処法 - A Day In The Life https://glassonion.hatenablog.com/entry/2020/07/12/135200 reflect.DeepEqual で比較すると死ぬというやつ, go-cmp 便利 かなカナ変換 — プログラミング言語 Go | text.Baldanders.info https://text.baldanders.info/golang/kana-conversion/ How we tracked down (what seemed like) a memory leak in one of our Go microservices | Detectify Blog https://text.baldanders.info/golang/kana-conversion/ メモリリークから pprof を使って原因を探して最終的に Go のランタイムの話になる, 面白い fluxcd/kustomize-controller: Experimental Kubernetes operator for building GitOps pipelines with Kustomize https://github.com/fluxcd/kustomize-controller kustomize build したものをデプロイする operator かな ","date":1594825346,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594825346,"objectID":"a9144a76fcfd17c7295ecc4e30ac26b8","permalink":"https://d-kuro.github.io/diaries/202007/20200716/","publishdate":"2020-07-15T15:02:26Z","relpermalink":"/diaries/202007/20200716/","section":"diaries","summary":"Note Time型をJSONに変換するとtime.Location","tags":[],"title":"2020-07-16","type":"diaries"},{"authors":[],"categories":[],"content":"Note 命名のプロセス - kawasima https://scrapbox.io/kawasima/%E5%91%BD%E5%90%8D%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9 命名, ほんと難しい GoLand の Semantic highlighting https://twitter.com/sonatard/status/1283284644935294976 変数をスコープ別に色付けしてくれる, 便利 Keeping Your Modules Compatible - The Go Blog https://blog.golang.org/module-compatibility 関数の互換性, ライブラリを書かないのであんまり気にしたことがない, functional option pattern を使うと良さそう Functional Option Pattern https://blog.web-apps.tech/go-functional-option-pattern/ 上で書いたあれ Golang でファイルを書き込んだ時に古い内容が末尾に残る件 - stamemo https://stakiran.hatenablog.com/entry/2019/06/19/071707 os.O_TRUNC, 知らなかった, そもそも上書きなら os.Create でいい ","date":1594738963,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594738963,"objectID":"f9facab0bfbf3f6880c462aea31c67d1","permalink":"https://d-kuro.github.io/diaries/202007/20200715/","publishdate":"2020-07-14T15:02:43Z","relpermalink":"/diaries/202007/20200715/","section":"diaries","summary":"Note 命名のプロセス - kawasima https://scrapbox.io/kawasima/%E5%91%BD%E5%90%8D%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9 命名, ほんと難しい GoLand の Semantic highlighting https://twitter.com/sonatard/status/1283284644935294976 変数をスコ","tags":[],"title":"2020-07-15","type":"diaries"},{"authors":[],"categories":[],"content":"Note Google の中途採用を受けてオファーをもらった話 • takecian https://takecian.github.io/posts/2019-12-17_diary/ Google 入社ブログ TCPが遅すぎる?QUICを使おう!. 「それ、QUIC使えないの?」 | by FUJITA Tomonori | nttlabs | Jul, 2020 | Medium https://medium.com/nttlabs/quic-with-rust-9cf9b44596ad QUIC なんもわからん Kubernetes Tip: What Happens To Pods Running On Node That Become Unreachable? | by Bhargav Bhikkaji | tailwinds-navigator | Medium https://medium.com/tailwinds-navigator/kubernetes-tip-what-happens-to-pods-running-on-node-that-become-unreachable-3d409f734e5d Node に疎通が取れなくなった時に Pod がどうなるのか, pod-eviction-timeout に依存する, デフォルト 5 分 Go 1.13 Release Notes - The Go Programming Language https://golang.org/doc/go1.13#language 8 進数が 0o660 みたいな書き方に変わった, このせいで linter に怒られた ","date":1594652555,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594652555,"objectID":"85c6dd65ebdcd0df5501eeff1cfe57c7","permalink":"https://d-kuro.github.io/diaries/202007/20200714/","publishdate":"2020-07-13T15:02:35Z","relpermalink":"/diaries/202007/20200714/","section":"diaries","summary":"Note Google の中途採用を受けてオファーをもらった話 • takecian https://takecian.github.io/posts/2019-12-17_diary/ Google 入社ブログ","tags":[],"title":"2020-07-14","type":"diaries"},{"authors":[],"categories":[],"content":"Note Japan Dev Blog | 日本で働くソフトウェアエンジニアの給与:東京で働く外国人エンジニアによる究極のガイド | Japan Dev https://japan-dev.com/blog/jp-software-developer-salaries-in-japan-the-ultimate-guide Rust ツアー - Let\u0026rsquo;s go on an adventure! https://tourofrust.com/00_ja.html 日本語版もあるのか 実践的低レイヤプログラミング https://tanakamura.github.io/pllp/docs/index.html なんもわからん amazon-eks-user-guide/kubernetes-versions.md at master · awsdocs/amazon-eks-user-guide https://github.com/awsdocs/amazon-eks-user-guide/blob/master/doc_source/kubernetes-versions.md#kubernetes-117 EKS, v1.17 がきている, めぼしい機能は Pod Topology Spread Constraints ぐらい? ","date":1594566128,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594566128,"objectID":"b35852bf1178a0e53165de1ebc7dd35d","permalink":"https://d-kuro.github.io/diaries/202007/20200713/","publishdate":"2020-07-12T15:02:08Z","relpermalink":"/diaries/202007/20200713/","section":"diaries","summary":"Note Japan Dev Blog | 日本で働くソフトウェアエンジニアの給与:東京で働く","tags":[],"title":"2020-07-13","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go 1.13時代のエラー実装者のお作法 - Qiita https://qiita.com/shibukawa/items/e633e426a6e67ea2e830 まだ Is しかつかったことがない Software Engineer Salaries in Japan | OpenSalary https://opensalary.jp/ 年収一覧サイト ","date":1594479744,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594479744,"objectID":"eaeb964ed73c4457fdb3403e420641aa","permalink":"https://d-kuro.github.io/diaries/202007/20200712/","publishdate":"2020-07-11T15:02:24Z","relpermalink":"/diaries/202007/20200712/","section":"diaries","summary":"Note Go 1.13時代のエラー実装者のお作法 - Qiita https://qiita.com/shibukawa/items/e633e426a6e67ea2e830 まだ Is しかつかっ","tags":[],"title":"2020-07-12","type":"diaries"},{"authors":[],"categories":[],"content":"Note google/go-safeweb: Secure-by-default HTTP servers in Go. https://github.com/google/go-safeweb なんだろうこれ ","date":1594393352,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594393352,"objectID":"ed2f84f26dd8bc55d157ea30ba92b65c","permalink":"https://d-kuro.github.io/diaries/202007/20200711/","publishdate":"2020-07-10T15:02:32Z","relpermalink":"/diaries/202007/20200711/","section":"diaries","summary":"Note google/go-safeweb: Secure-by-default HTTP servers in Go. https://github.com/google/go-safeweb なんだろうこれ","tags":[],"title":"2020-07-11","type":"diaries"},{"authors":[],"categories":[],"content":"Note 【Go言語】 time.Time - t.Sub(u)はu→t の正確な経過時間を返さない(かもしれない) - Qiita https://qiita.com/hogedigo/items/87887db81c56611f9446 時間周り色々罠がある plexsystems/sinker: A tool to sync images from one container registry to another https://github.com/plexsystems/sinker image レジストリ同期するやつ ","date":1594306946,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594306946,"objectID":"15c4fac26dc8b31664fe8360219d38d2","permalink":"https://d-kuro.github.io/diaries/202007/20200710/","publishdate":"2020-07-09T15:02:26Z","relpermalink":"/diaries/202007/20200710/","section":"diaries","summary":"Note 【Go言語】 time.Time - t.Sub(u)はu→t の正確な経過時間を","tags":[],"title":"2020-07-10","type":"diaries"},{"authors":[],"categories":[],"content":"Note OIDC issuer discovery for Kubernetes service accounts · Banzai Cloud https://banzaicloud.com/blog/kubernetes-oidc/ この辺なんもわからん Open Usage Commons https://openusage.org/ Istio が CNCF に入らずこっちに入ったらしい Graceful shutdown in Kubernetes is not always trivial | by Flant staff | Flant | Medium https://medium.com/flant-com/kubernetes-graceful-shutdown-nginx-php-fpm-d5ab266963c2 Graceful shutdown しような go.mod のメジャーバージョン上げる時に module に v2 とかつけるといいらしい https://twitter.com/sonatard/status/1280714421711499266 Datadog を Kubernetes 上で運用するときのカーディナリティ設定 - たんぶろぐ https://zuiurs.hatenablog.com/entry/2020/07/07/194501 DD_CHECKS_TAG_CARDINALITY, 知らなかった GoでWebアプリ開発時にあるあるだったレビューコメント | フューチャー技術ブログ https://future-architect.github.io/articles/20200709/ いいまとめ GitHub Actions: Manual triggers with workflow_dispatch The GitHub Blog https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/ GitHub Actions の手動実行, 便利な気がする Node で実行されている Pod のリソース計算に initContainers が考慮されてなかったのが直るらしい https://twitter.com/superbrothers/status/1280478918064005120 Kubernetesで private registry のイメージをPull する場合には ImagePullSecretsを使う | by makotow | makotow’s blog clone | Medium https://medium.com/makotows-blog/kubernetes-private-registry-tips-image-pullsecretse-20dfb808dfc-e20dfb808dfc ServiceAccount に IamgepullSecrets を追加できるらしい, 知らなかった ","date":1594220572,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594220572,"objectID":"1c90febef49d7c4ea5429a1ac8cec618","permalink":"https://d-kuro.github.io/diaries/202007/20200709/","publishdate":"2020-07-08T15:02:52Z","relpermalink":"/diaries/202007/20200709/","section":"diaries","summary":"Note OIDC issuer discovery for Kubernetes service accounts · Banzai Cloud https://banzaicloud.com/blog/kubernetes-oidc/ この辺なんもわからん Open Usage Commons https://openusage.org/ Istio が CNCF に","tags":[],"title":"2020-07-09","type":"diaries"},{"authors":[],"categories":[],"content":"Note マイクロサービスにおける決済トランザクション管理 - Mercari Engineering Blog https://tech.mercari.com/entry/2019/06/07/155849 補償トランザクションとかの話, 大変そう お手軽Kubernetesクラスタ作成ツール \u0026ldquo;kind\u0026quot;の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ https://blog.cybozu.io/entry/2019/07/03/170000 kind load コマンドの存在をよく忘れる ストレージの基礎 - Speaker Deck https://speakerdeck.com/ysakashita/sutorezifalseji-chu わかりやすくまとまっている, ブロックストレージとオブジェクトストレージの違いすら説明できんかった ","date":1594134141,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594134141,"objectID":"82a9f69cd164d8ca5af415a0de6515de","permalink":"https://d-kuro.github.io/diaries/202007/20200708/","publishdate":"2020-07-07T15:02:21Z","relpermalink":"/diaries/202007/20200708/","section":"diaries","summary":"Note マイクロサービスにおける決済トランザクション管理 - Mercari Engineering Blog https://tech.mercari.com/entry/2019/06/07/155849","tags":[],"title":"2020-07-08","type":"diaries"},{"authors":[],"categories":[],"content":"Note Minimum Viable Kubernetes · Emanuel Evans https://eevans.co/blog/minimum-viable-kubernetes/ 最小構成の Kubernetes を手動でセットアップするやつ Deepen Understanding of CNI by reading amazon-vpc-cni-k8s https://medium.com/@terako.studio/deepen-understanding-of-cni-by-reading-amazon-vpc-cni-k8s-11ab525882f2 CNI の実装について, 日本語記事 ","date":1594047761,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1594047761,"objectID":"202d672b2d3cf270651148a3a9c31d60","permalink":"https://d-kuro.github.io/diaries/202007/20200707/","publishdate":"2020-07-06T15:02:41Z","relpermalink":"/diaries/202007/20200707/","section":"diaries","summary":"Note Minimum Viable Kubernetes · Emanuel Evans https://eevans.co/blog/minimum-viable-kubernetes/ 最小構成の Kubernetes を手動でセットアップするやつ Deepen Understanding","tags":[],"title":"2020-07-07","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetes の API Version が廃止される時にどんな感じなのかみたいなのがわかるスレッド https://twitter.com/ngoktanio/status/1249606799923113984 API Serverが etcd に保存されている storage version をデコードできる実装が入っていれば API Version が廃止されても動作するらしい Featherweight Go を読んでみた https://matsubara0507.github.io/posts/2020-07-02-read-featherweight-go.html ジェネリクスの論文 図解 X.509 証明書 - Qiita https://qiita.com/TakahikoKawasaki/items/4c35ac38c52978805c69 わかりやすい madhuakula/kubernetes-goat: Kubernetes Goat is \u0026ldquo;Vulnerable by Design\u0026rdquo; Kubernetes Cluster. https://github.com/madhuakula/kubernetes-goat?utm_sq=gfxrapxrvj 意図的に脆弱な Kubernetes クラスタを使って勉強することができるやつ ","date":1593961318,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593961318,"objectID":"f9a6cbf0b351f9806ebbff24d8e42ade","permalink":"https://d-kuro.github.io/diaries/202007/20200706/","publishdate":"2020-07-05T15:01:58Z","relpermalink":"/diaries/202007/20200706/","section":"diaries","summary":"Note Kubernetes の API Version が廃止される時にどんな感じなのかみたいなのがわかる","tags":[],"title":"2020-07-06","type":"diaries"},{"authors":[],"categories":[],"content":"Note Amazon VPC CNI plugin for KubernetesのソースコードリーディングでEKSのネットワーキングについて理解を深める #1 - Qiita https://qiita.com/jlandowner/items/fec3cc33bc754282db11 CNI わからんって N 回言ってる気がする ","date":1593874946,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593874946,"objectID":"01b2eda14be969908da00ba78da38006","permalink":"https://d-kuro.github.io/diaries/202007/20200705/","publishdate":"2020-07-04T15:02:26Z","relpermalink":"/diaries/202007/20200705/","section":"diaries","summary":"Note Amazon VPC CNI plugin for Kubernetesのソースコードリーディングで","tags":[],"title":"2020-07-05","type":"diaries"},{"authors":[],"categories":[],"content":"Note Goのジェネリクスについて - Google スライド https://docs.google.com/presentation/d/1OdVqicGYtjdkp9XTlQKR2B_5_RWpu97GmNOKw4cPRnU/edit#slide=id.p ジェネリクスについて, まとまってる Go言語らしくGoコードを実装するための手法と思想 - かねしんショップ - BOOTH https://booth.pm/ja/items/1061168 本, 無料化 Kourier: A lightweight Knative Serving ingress - Red Hat Developer https://developers.redhat.com/blog/2020/06/30/kourier-a-lightweight-knative-serving-ingress/ https://twitter.com/kuromt_/status/1278492055916867584 Knative で istio の代わりに Kourier を Ingress に使えるようになったとかなんとか ","date":1593788543,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593788543,"objectID":"0327231000aad8190bf258ee2d44bc30","permalink":"https://d-kuro.github.io/diaries/202007/20200704/","publishdate":"2020-07-03T15:02:23Z","relpermalink":"/diaries/202007/20200704/","section":"diaries","summary":"Note Goのジェネリクスについて - Google スライド https://docs.google.com/presentation/d/1OdVqicGYtjdkp9XTlQKR2B_5_RWpu97GmNOKw4cPRnU/edit#slide=id.p ジェネリクスについ","tags":[],"title":"2020-07-04","type":"diaries"},{"authors":[],"categories":[],"content":"Note 次期 Go 言語で導入される総称型について予習する(その2) — プログラミング言語 Go | text.Baldanders.info https://text.baldanders.info/golang/generics-in-go-2-update/ ジェネリクスほしいけどまあそんないらない golang の iota の使い所 - pospomeのプログラミング日記 https://www.pospome.work/entry/2017/08/20/153604 そういやあんま使うコード書いたこと無いなあ ","date":1593702137,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593702137,"objectID":"e261be827355ef65df50c9ca128c3a37","permalink":"https://d-kuro.github.io/diaries/202007/20200703/","publishdate":"2020-07-02T15:02:17Z","relpermalink":"/diaries/202007/20200703/","section":"diaries","summary":"Note 次期 Go 言語で導入される総称型について予習する(その2) — プ","tags":[],"title":"2020-07-03","type":"diaries"},{"authors":[],"categories":[],"content":"Note Date Formats: ISO 8601 | SRCco.de https://srcco.de/posts/date-formats-iso-8601.html ISO 8601 を使おうという話, ごめん Production Checklist for Web Apps on Kubernetes | SRCco.de https://srcco.de/posts/web-service-on-kubernetes-production-checklist-2019.html Kubernetes の production readiness check list, まとまってる Goでインメモリキャッシュを取り扱う時にハマった話 - Gunosy Tech Blog インメモリキャッシュでポインタを格納するときは気をつけようねという話 Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ https://future-architect.github.io/articles/20190713/ ","date":1593615761,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593615761,"objectID":"adc4ea53bf8e9802db7da91b059ad01b","permalink":"https://d-kuro.github.io/diaries/202007/20200702/","publishdate":"2020-07-01T15:02:41Z","relpermalink":"/diaries/202007/20200702/","section":"diaries","summary":"Note Date Formats: ISO 8601 | SRCco.de https://srcco.de/posts/date-formats-iso-8601.html ISO 8601 を使おうという話, ごめん Production Checklist for Web Apps on Kubernetes |","tags":[],"title":"2020-07-02","type":"diaries"},{"authors":[],"categories":[],"content":"Note sync.Cond/コンディション変数についての解説 - Daisuke Maki - Medium https://medium.com/@lestrrat/sync-cond-%E3%82%B3%E3%83%B3%E3%83%87%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E5%A4%89%E6%95%B0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AE%E8%A7%A3%E8%AA%AC-dd2050cdfab7 なんとなーーーくわかった気がする Big Sky :: golang の sync パッケージの使い方 https://mattn.kaoriya.net/software/lang/go/20140625223125.htm sync.Cond の説明がわかりやすい ","date":1593529346,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593529346,"objectID":"06740281246953ca55b4cd58fcf51e59","permalink":"https://d-kuro.github.io/diaries/202007/20200701/","publishdate":"2020-06-30T15:02:26Z","relpermalink":"/diaries/202007/20200701/","section":"diaries","summary":"Note sync.Cond/コンディション変数についての解説 - Daisuke Maki","tags":[],"title":"2020-07-01","type":"diaries"},{"authors":[],"categories":[],"content":"Note Working with Terraform and Kubernetes | Kubernetes https://kubernetes.io/blog/2020/06/working-with-terraform-and-kubernetes/ Terraform で Kubernetes, YAML でよくない?みたいな気持ちになる uber-go/goleak: Goroutine leak detector https://github.com/uber-go/goleak goroutine の leak を調べるやつ, 便利そう ossu/computer-science: Path to a free self-taught education in Computer Science! https://github.com/ossu/computer-science やりたいと言ってるだけ詐欺筆頭 ","date":1593442924,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593442924,"objectID":"680a032d2920752c1b4199ce41757eff","permalink":"https://d-kuro.github.io/diaries/202006/20200630/","publishdate":"2020-06-29T15:02:04Z","relpermalink":"/diaries/202006/20200630/","section":"diaries","summary":"Note Working with Terraform and Kubernetes | Kubernetes https://kubernetes.io/blog/2020/06/working-with-terraform-and-kubernetes/ Terraform で Kubernetes, YAML でよくない?みたいな気持ちになる uber-go/goleak:","tags":[],"title":"2020-06-30","type":"diaries"},{"authors":[],"categories":[],"content":"Note Preparation toward running Docker on ARM Mac: Building multi-arch images with Docker BuildX https://medium.com/nttlabs/buildx-multiarch-2c6c2df00ca2 ARM くっそめんどくさそう Building a high performance JSON parser https://dave.cheney.net/high-performance-json.html davecheney が作った高速な JSON decoder tcpdump Cheat Sheet https://cdn.comparitech.com/wp-content/uploads/2019/06/tcpdump-cheat-sheet.jpg 便利, 毎回ググっている ペパボ トラブルシュート伝 - TCP: out of memory \u0026ndash; consider tuning tcp_mem の dmesg から辿る 詳解 Linux net.ipv4.tcp_mem - ペパボテックブログ https://tech.pepabo.com/2020/06/26/kernel-dive-tcp_mem/ Deep Dive だ…… Goで多層キャッシュを実装するときに役立つtips - Gunosy Tech Blog https://tech.gunosy.io/entry/go-multi-layered-cache-tips singleflight 使ったことがない Raft Consensus Algorithm https://raft.github.io/ Raft の解説 A visual guide on troubleshooting Kubernetes deployments https://learnk8s.io/troubleshooting-deployments Kubernetes に Operator API が作られるとかなんとか https://twitter.com/ido_kara_deru/status/1276383854157160449 ","date":1593356823,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593356823,"objectID":"809cff8ef311c90c971334c050a9f9d4","permalink":"https://d-kuro.github.io/diaries/202006/20200629/","publishdate":"2020-06-28T15:07:03Z","relpermalink":"/diaries/202006/20200629/","section":"diaries","summary":"Note Preparation toward running Docker on ARM Mac: Building multi-arch images with Docker BuildX https://medium.com/nttlabs/buildx-multiarch-2c6c2df00ca2 ARM くっそめんどくさそう Building a high performance","tags":[],"title":"2020-06-29","type":"diaries"},{"authors":[],"categories":[],"content":"Note Exploiting an Envoy heap vulnerability - Envoy Proxy https://blog.envoyproxy.io/exploiting-an-envoy-heap-vulnerability-96173d41792 Envoy のヒープの脆弱性 Deploying Istio with restricted Pod Security Policies · Banzai Cloud https://banzaicloud.com/blog/istio-operator-psp/ Architecting Kubernetes clusters — choosing a cluster size https://itnext.io/architecting-kubernetes-clusters-choosing-a-cluster-size-92f6feaa2908 クラスタサイズの選択, むずかしいよね ","date":1593270123,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593270123,"objectID":"b03d6fff3bed7bc63cf64aab554f524b","permalink":"https://d-kuro.github.io/diaries/202006/20200628/","publishdate":"2020-06-27T15:02:03Z","relpermalink":"/diaries/202006/20200628/","section":"diaries","summary":"Note Exploiting an Envoy heap vulnerability - Envoy Proxy https://blog.envoyproxy.io/exploiting-an-envoy-heap-vulnerability-96173d41792 Envoy のヒープの脆弱性 Deploying Istio with restricted Pod Security Policies · Banzai Cloud https://banzaicloud.com/blog/istio-operator-psp/","tags":[],"title":"2020-06-28","type":"diaries"},{"authors":[],"categories":[],"content":"Note asciinema / asciicast2gifでターミナルのアニメーションGIFをつくる - Copy/Cut/Paste/Hatena https://k1low.hatenablog.com/entry/2018/05/01/083000 asciinema, よく使ってたけど gif 変換できるやつ, 便利 kubernetes/describe.go at v1.18.5 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/blob/v1.18.5/staging/src/k8s.io/kubectl/pkg/describe/describe.go kubectl describe のコード, 普通にゴリ押しだった Linuxカーネルで学ぶC言語のマクロ - 覚書 https://satoru-takeuchi.hatenablog.com/entry/2020/03/29/051948 なんもわからん ","date":1593183724,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593183724,"objectID":"aab69de0ea6d2d37c4634aec4c2fc130","permalink":"https://d-kuro.github.io/diaries/202006/20200627/","publishdate":"2020-06-26T15:02:04Z","relpermalink":"/diaries/202006/20200627/","section":"diaries","summary":"Note asciinema / asciicast2gifでターミナルのアニメーション","tags":[],"title":"2020-06-27","type":"diaries"},{"authors":[],"categories":[],"content":"Note autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler VPA のドキュメント Handy Admission Webhook Library - Qiita https://qiita.com/toVersus/items/5316e94490d60c220af7 Webhook, 証明書がめんどい Welcome to cert-manager | cert-manager https://cert-manager.io/docs/ cert-manager のドキュメント ","date":1593097333,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593097333,"objectID":"94196bf88619096d23d4fba191ef9db7","permalink":"https://d-kuro.github.io/diaries/202006/20200626/","publishdate":"2020-06-25T15:02:13Z","relpermalink":"/diaries/202006/20200626/","section":"diaries","summary":"Note autoscaler/vertical-pod-autoscaler at master · kubernetes/autoscaler https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler VPA のドキュメント Handy Admission Webhook Library - Qiita https://qiita.com/toVersus/items/5316e94490d60c220af7 Webhook, 証明書がめんど","tags":[],"title":"2020-06-26","type":"diaries"},{"authors":[],"categories":[],"content":"Note Checking out pull requests locally - GitHub Help https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally git fetch origin pull/ID/head:BRANCHNAME git checkout BRANCHNAME 便利じゃん‥… Kubernetes Network Deep Dive (LoadBalancer) - Qiita https://qiita.com/sugimount/items/d0f5232b983e1deac556 ネットワークの話 Functional Option Pattern https://blog.web-apps.tech/go-functional-option-pattern/ Functional Option Pattern, なんだかんだ使ったことがない ","date":1593010917,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1593010917,"objectID":"c7773efbe6b8e2d22030f6862913ef12","permalink":"https://d-kuro.github.io/diaries/202006/20200625/","publishdate":"2020-06-24T15:01:57Z","relpermalink":"/diaries/202006/20200625/","section":"diaries","summary":"Note Checking out pull requests locally - GitHub Help https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally git fetch origin pull/ID/head:BRANCHNAME git checkout BRANCHNAME 便利じゃん‥… Kubernetes Network Deep Dive (LoadBalancer) -","tags":[],"title":"2020-06-25","type":"diaries"},{"authors":[],"categories":[],"content":"Note CPUキャッシュがGoのコードに与える影響(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社 https://techracho.bpsinc.jp/hachi8833/2020_06_24/93115 翻訳記事, CPU の仕組みみたいな話が出てくる Hard lessons learned about Kubernetes garbage collection | Opensource.com https://opensource.com/article/20/6/kubernetes-garbage-collection ownerReferences は namespace を跨げない, 大事 How to Create Ephemeral Environments using Crossplane and ArgoCD? https://www.infracloud.io/how-to-create-ephemeral-environments-using-crossplane-and-argocd// Crossplane と Argo CD でクラスタを作るやつ, Crossplane 事例あんまないけどどうなんだろう ","date":1592924533,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592924533,"objectID":"6f3a173d9d1659cf0e925ac1504720c5","permalink":"https://d-kuro.github.io/diaries/202006/20200624/","publishdate":"2020-06-23T15:02:13Z","relpermalink":"/diaries/202006/20200624/","section":"diaries","summary":"Note CPUキャッシュがGoのコードに与える影響(翻訳)|Tec","tags":[],"title":"2020-06-24","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go言語入門 - とほほのWWW入門 http://www.tohoho-web.com/ex/golang.html Rust入門 - とほほのWWW入門 http://www.tohoho-web.com/ex/rust.html とほほに Go と Rust が, 最近 Go 以外の言語読めない書けないになってきたので Rust 勉強したい 【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ https://t-wada.hatenablog.jp/entry/ward-explains-debt-metaphor 技術的負債, 生みの親的にはよく使われる意味とは違うらしい クライアント証明書はオプションだったのか - code.alone http://takayukinakata.hatenablog.com/entry/2018/10/07/223718 Go で ca.cert とか使った TLS 通信するときの書き方 caCert, err := ioutil.ReadFile(\u0026quot;ca.crt\u0026quot;) if err != nil { panic(err) } certPool := x509.NewCertPool() certPool.AppendCertsFromPEM(caCert) tr := \u0026amp;http.Transport{ TLSClientConfig: \u0026amp;tls.Config{ RootCAs: certPool, }, } client := \u0026amp;http.Client{ Transport: tr, } ","date":1592838137,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592838137,"objectID":"2d6c7094bf4f5a82dd969e79efccef33","permalink":"https://d-kuro.github.io/diaries/202006/20200623/","publishdate":"2020-06-22T15:02:17Z","relpermalink":"/diaries/202006/20200623/","section":"diaries","summary":"Note Go言語入門 - とほほのWWW入門 http://www.tohoho-web.com/ex/golang.html Rust入門 - とほほのW","tags":[],"title":"2020-06-23","type":"diaries"},{"authors":[],"categories":[],"content":"Note [Go]HTTPレスポンスボディの内容をログに残したい - My External Storage https://budougumi0617.github.io/2020/06/21/record_response_body/ 便利だ Goのインターフェース抽象度を美しく保つ為の思考 - 好奇心に殺される。- pon のテックブログ https://po3rin.com/blog/go-interface いい話 Goのタイマー time.Timer の作法 | makiuchi-d.github.io https://makiuchi-d.github.io/2019/12/11/qiita-e1024e3abbd0d71e1fcf.ja.html 一度だけ発火するやつ Ticker のがよく使いそう golangのよくあるtickerのサンプルがイケてない件 - okzkメモ http://okzk.hatenablog.com/entry/2015/12/01/001924 Stop() じゃ channel は close されない Goによる排他制御 ~ RWMutexによるRLockとLock - おひとり https://www.ohitori.fun/entry/mutex-and-rwmutex-in-golang RWMutex, 便利 ","date":1592751787,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592751787,"objectID":"92bb39a55bae4630aacc70b938fc77d9","permalink":"https://d-kuro.github.io/diaries/202006/20200622/","publishdate":"2020-06-21T15:03:07Z","relpermalink":"/diaries/202006/20200622/","section":"diaries","summary":"Note [Go]HTTPレスポンスボディの内容をログに残したい - My","tags":[],"title":"2020-06-22","type":"diaries"},{"authors":[],"categories":[],"content":"Note Dockerfile のベスト・プラクティス — Docker-docs-ja 19.03 ドキュメント https://docs.docker.jp/develop/develop-images/dockerfile_best-practices.html 更新されたらしい Expose Pod Information to Containers Through Environment Variables | Kubernetes https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ fieldPath みたいなので環境変数に Pod の name とか入れられるやつ, Downward API という名前がついているらしい Expose Pod Information to Containers Through Files | Kubernetes https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/ Capabilities of the Downward API ","date":1592665315,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592665315,"objectID":"1d20be7c54532fc88617e1f6a305c7d8","permalink":"https://d-kuro.github.io/diaries/202006/20200621/","publishdate":"2020-06-20T15:01:55Z","relpermalink":"/diaries/202006/20200621/","section":"diaries","summary":"Note Dockerfile のベスト・プラクティス — Docker-docs-ja 19.03 ドキュメント https://docs.docker.jp/develop/develop-images/dockerfile_best-practices.html 更新されたらし","tags":[],"title":"2020-06-21","type":"diaries"},{"authors":[],"categories":[],"content":"Note cgroup の cpu.shares を検証した https://harasou.jp/2015/06/02/cgroup-cpu-cpushare/ わかりやすい mapの競合状態のはなし - 今川館 http://imagawa.hatenadiary.jp/entry/2019/08/14/090000 atomic.Value, なるほど kubernetes/sample-cli-plugin: Sample kubectl plugin https://github.com/kubernetes/sample-cli-plugin kubectl プラグインのサンプル fzf ライクな fuzzy-finder を提供する Go ライブラリを書いた - blog.syfm https://syfm.hatenablog.com/entry/2019/02/09/120000 便利 Building a Kubernetes Client in Go · Johandry\u0026rsquo;s Blog http://blog.johandry.com/post/build-k8s-client/ Client の使い方, わからん ","date":1592578934,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592578934,"objectID":"a4918d240d71cf7aeba7c7448a8cd1b5","permalink":"https://d-kuro.github.io/diaries/202006/20200620/","publishdate":"2020-06-19T15:02:14Z","relpermalink":"/diaries/202006/20200620/","section":"diaries","summary":"Note cgroup の cpu.shares を検証した https://harasou.jp/2015/06/02/cgroup-cpu-cpushare/ わかりやすい mapの競合状態のはなし - 今","tags":[],"title":"2020-06-20","type":"diaries"},{"authors":[],"categories":[],"content":"Note The Next Step for Generics - The Go Blog https://blog.golang.org/generics-next-step The Go Playground https://go2goplay.golang.org/ Generics が使えるぞ! A Concise Guide to the Latest Go Generics Draft Design | Preslav Mihaylov https://pmihaylov.com/go-generics-draft-design/ Go の Generics についてのサンプルコードがいっぱい ","date":1592492528,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592492528,"objectID":"6164a7f4183db59a9882982a76e1db80","permalink":"https://d-kuro.github.io/diaries/202006/20200619/","publishdate":"2020-06-18T15:02:08Z","relpermalink":"/diaries/202006/20200619/","section":"diaries","summary":"Note The Next Step for Generics - The Go Blog https://blog.golang.org/generics-next-step The Go Playground https://go2goplay.golang.org/ Generics が使えるぞ! A Concise Guide to the Latest Go Generics","tags":[],"title":"2020-06-19","type":"diaries"},{"authors":[],"categories":[],"content":"Note Speeding up a Git monorepo at Dropbox with \u0026lt;200 lines of code - Dropbox https://dropbox.tech/application/speeding-up-a-git-monorepo-at-dropbox-with--200-lines-of-code Dropbox の monorepo の話 CVE-2020-10749(Kubernetesの脆弱性)のPoCについての解説 - knqyf263\u0026rsquo;s blog https://knqyf263.hatenablog.com/entry/2020/06/19/063431 ","date":1592406144,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592406144,"objectID":"351f00dcbe903f345d5fed4e5b1355a0","permalink":"https://d-kuro.github.io/diaries/202006/20200618/","publishdate":"2020-06-17T15:02:24Z","relpermalink":"/diaries/202006/20200618/","section":"diaries","summary":"Note Speeding up a Git monorepo at Dropbox with \u0026lt;200 lines of code - Dropbox https://dropbox.tech/application/speeding-up-a-git-monorepo-at-dropbox-with--200-lines-of-code Dropbox の monorepo の話 CVE-2020-","tags":[],"title":"2020-06-18","type":"diaries"},{"authors":[],"categories":[],"content":"Note CircleCI + KustomizeでKubernetes環境のCI/CD Pipelineを作る - taxin\u0026rsquo;s notes https://taxintt.hatenablog.com/entry/2020/06/17/215702 Kubernetesを自動車に載せる、デンソーが「Misaki」を発表。年内にもオープンソースとして公開 - Publickey https://www.publickey1.jp/blog/20/kubernetesmisaki.html ほえー楽しそう Goの実プロジェクトでのエラーハンドリングの悩みどころと解決案 - Carpe Diem https://christina04.hatenablog.com/entry/go-error-handling エラーハンドリング, 難しい ","date":1592319737,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592319737,"objectID":"b164e670593ef8b23f7d499b7928d991","permalink":"https://d-kuro.github.io/diaries/202006/20200617/","publishdate":"2020-06-16T15:02:17Z","relpermalink":"/diaries/202006/20200617/","section":"diaries","summary":"Note CircleCI + KustomizeでKubernetes環境のCI/C","tags":[],"title":"2020-06-17","type":"diaries"},{"authors":[],"categories":[],"content":"Note Advancing Microsoft Teams on Azure—operating at pandemic scale | Azure のブログと更新プログラム | Microsoft Azure https://azure.microsoft.com/ja-jp/blog/advancing-microsoft-teams-on-azure-operating-at-pandemic-scale/ Microsoft Teams が COVID-19 でくっそトラフィック増えたけど大丈夫だった話, ちゃんとしてる Kubernetesにおけるマルチクラスタ関連手法の分類 - @amsy810\u0026rsquo;s Blog https://amsy810.hateblo.jp/entry/2020/06/17/090000 マルチクラスタ, 管理難しい ","date":1592233318,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592233318,"objectID":"78b1fb850d0785a5ba378de728c34f2b","permalink":"https://d-kuro.github.io/diaries/202006/20200616/","publishdate":"2020-06-15T15:01:58Z","relpermalink":"/diaries/202006/20200616/","section":"diaries","summary":"Note Advancing Microsoft Teams on Azure—operating at pandemic scale | Azure のブログと","tags":[],"title":"2020-06-16","type":"diaries"},{"authors":[],"categories":[],"content":"Note Harden Your Containers with Distroless Docker Images | Better Programming https://medium.com/better-programming/how-to-harden-your-containers-with-distroless-docker-images-c2abd7c71fdb Distroless, わかる proxy.golang.org の挙動調査メモ — KaoriYa https://www.kaoriya.net/blog/2020/06/16/ go mod のメジャーバージョンあたりのところ, 理解が怪しい ","date":1592146934,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592146934,"objectID":"94d53bc43dcfdaf6c816f0c7aeb76e61","permalink":"https://d-kuro.github.io/diaries/202006/20200615/","publishdate":"2020-06-14T15:02:14Z","relpermalink":"/diaries/202006/20200615/","section":"diaries","summary":"Note Harden Your Containers with Distroless Docker Images | Better Programming https://medium.com/better-programming/how-to-harden-your-containers-with-distroless-docker-images-c2abd7c71fdb Distroless, わかる proxy.golang.org の挙動調査メモ — KaoriYa https://www.kaoriya.net/blog/2020/06/16/ go mod の","tags":[],"title":"2020-06-15","type":"diaries"},{"authors":[],"categories":[],"content":"Note Understanding CPU throttling in Kubernetes to improve application performance #k8sjp - Speaker Deck https://speakerdeck.com/daikurosawa/understanding-cpu-throttling-in-kubernetes-to-improve-application-performance-number-k8sjp 登壇した, 疲れた References Understanding resource limits in kubernetes: cpu time https://medium.com/@betz.mark/understanding-resource-limits-in-kubernetes-cpu-time-9eff74d3161b CPU limits and aggressive throttling in Kubernetes - Omio Engineering - Medium https://medium.com/omio-engineering/cpu-limits-and-aggressive-throttling-in-kubernetes-c5b20bd8a718 Understanding Linux Container Scheduling — Squarespace / Engineering https://engineering.squarespace.com/blog/2017/understanding-linux-container-scheduling Dockerコンテナで利用できるリソースや権限を制限する(Dockerの最新機能を使ってみよう:第3回) | さくらのナレッジ https://knowledge.sakura.ad.jp/5118/ OpenShiftのResource requestとlimit - nekop\u0026rsquo;s blog https://nekop.hatenablog.com/entry/2017/12/20/182523 How to Evolve Kubernetes Resource Management Model https://www.infoq.com/presentations/evolve-kubernetes-resource-manager/ 3.2. cpu Red Hat Enterprise Linux 6 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/sec-cpu 3.4. cpuset Red Hat Enterprise Linux 6 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/sec-cpuset 第4章 CPU マネージャーの使用 OpenShift Container Platform 4.1 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.1/html/scalability_and_performance/using-cpu-manager スロットリング解除: クラウドにおける CPU の制限の修正 - Indeed エンジニアリング・ブログ https://jp.engineering.indeedblog.com/blog/2019/12/%e3%82%b9%e3%83%ad%e3%83%83%e3%83%88%e3%83%aa%e3%83%b3%e3%82%b0%e8%a7%a3%e9%99%a4-%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b-cpu-%e3%81%ae%e5%88%b6%e9%99%90%e3%81%ae/ スロットリングの解除: 有効な修正が不具合の原因になってしまった理由 - Indeed エンジニアリング・ブログ https://jp.engineering.indeedblog.com/blog/2019/12/%e3%82%b9%e3%83%ad%e3%83%83%e3%83%88%e3%83%aa%e3%83%b3%e3%82%b0%e3%81%ae%e8%a7%a3%e9%99%a4-%e6%9c%89%e5%8a%b9%e3%81%aa%e4%bf%ae%e6%ad%a3%e3%81%8c%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%ae%e5%8e%9f%e5%9b%a0/ Kubernetes best practices: Resource requests and limits | Google Cloud Blog https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-resource-requests-and-limits community/resource-qos.md at master · kubernetes/community https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/resource-qos.md#qos-classes community/resources.md at master · kubernetes/community https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/resources.md Control CPU Management Policies on the Node - Kubernetes https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ Feature Highlight: CPU Manager - Kubernetes https://kubernetes.io/blog/2018/07/24/feature-highlight-cpu-manager/ kubelet - Kubernetes https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ Reserve Compute Resources for System Daemons - Kubernetes https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ CFS quotas can lead to unnecessary throttling · Issue #67577 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/issues/67577 Throttling: New Developments in Application Performance with CPU Limits - Dave Chiluk, Indeed - YouTube https://www.youtube.com/watch?v=UE7QX98-kO0 Throttling CPU usage with Linux cgroups http://kennystechtalk.blogspot.com/2015/04/throttling-cpu-usage-with-linux-cgroups.html hjacobs/kubernetes-failure-stories: Compilation of public failure/horror stories related to Kubernetes https://github.com/hjacobs/kubernetes-failure-storie ","date":1592060524,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592060524,"objectID":"3f375e500450a28c00e5e28b2ddbec3d","permalink":"https://d-kuro.github.io/diaries/202006/20200614/","publishdate":"2020-06-13T15:02:04Z","relpermalink":"/diaries/202006/20200614/","section":"diaries","summary":"Note Understanding CPU throttling in Kubernetes to improve application performance #k8sjp - Speaker Deck https://speakerdeck.com/daikurosawa/understanding-cpu-throttling-in-kubernetes-to-improve-application-performance-number-k8sjp 登壇した, 疲れた References Understanding resource limits in kubernetes: cpu","tags":[],"title":"2020-06-14","type":"diaries"},{"authors":[],"categories":[],"content":"Note Reserve compute resources - Unofficial Kubernetes https://unofficial-kubernetes.readthedocs.io/en/latest/tasks/administer-cluster/reserve-compute-resources/ kube-reserved とかの話 community/node-allocatable.md at master · kubernetes/community https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/node-allocatable.md kube-reserved とかの話その 2 ","date":1591974149,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591974149,"objectID":"20b7836304d51ce2d1440e1f3c41e350","permalink":"https://d-kuro.github.io/diaries/202006/20200613/","publishdate":"2020-06-12T15:02:29Z","relpermalink":"/diaries/202006/20200613/","section":"diaries","summary":"Note Reserve compute resources - Unofficial Kubernetes https://unofficial-kubernetes.readthedocs.io/en/latest/tasks/administer-cluster/reserve-compute-resources/ kube-reserved とかの話 community/node-allocatable.md at master · kubernetes/community https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/node-allocatable.md kube-reserved とかの話その 2","tags":[],"title":"2020-06-13","type":"diaries"},{"authors":[],"categories":[],"content":"Note GAFAコーディング面接こんな感じでした - yambe2002’s diary http://yambe2002.hatenablog.com/entry/2020/06/12/113056 できる気がしない問題 Dockerコンテナで利用できるリソースや権限を制限する(Dockerの最新機能を使ってみよう:第3回) | さくらのナレッジ https://knowledge.sakura.ad.jp/5118/ 勉強になった ","date":1591887738,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591887738,"objectID":"33d1f6acb52950fb731108a4863e6608","permalink":"https://d-kuro.github.io/diaries/202006/20200612/","publishdate":"2020-06-11T15:02:18Z","relpermalink":"/diaries/202006/20200612/","section":"diaries","summary":"Note GAFAコーディング面接こんな感じでした - yambe200","tags":[],"title":"2020-06-12","type":"diaries"},{"authors":[],"categories":[],"content":"Note curl は何をしているか #システムコール編 - Qiita https://qiita.com/dhomma/items/28e900978b3824cfe9af C と Go で for 文のループでのスタックフレームの積み方が違うという気付き - There\u0026rsquo;s an echo in my head https://ikm.hatenablog.jp/entry/2020/06/13/151254 Expected behavior for Deployment replicas with HPA during update · Issue #25238 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/issues/25238 HPA 使うときは Deployment の replica を消そうな, それはそう ","date":1591801332,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591801332,"objectID":"ebc20be448e99cba88493174337bb2d6","permalink":"https://d-kuro.github.io/diaries/202006/20200611/","publishdate":"2020-06-10T15:02:12Z","relpermalink":"/diaries/202006/20200611/","section":"diaries","summary":"Note curl は何をしているか #システムコール編 - Qiita https://qiita.com/dhomma/items/28e900978b3824cfe9af C と Go で for 文のル","tags":[],"title":"2020-06-11","type":"diaries"},{"authors":[],"categories":[],"content":"Note What is client-go credential plugins - gashirar\u0026rsquo;s blog https://gashirar.hatenablog.com/entry/2020/06/10/001609 Platform EngineerとしてのPractice(2020年) | SOTA https://gashirar.hatenablog.com/entry/2020/06/10/001609 ","date":1591714930,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591714930,"objectID":"a4948d6de497965e2976c4756a68b18d","permalink":"https://d-kuro.github.io/diaries/202006/20200610/","publishdate":"2020-06-09T15:02:10Z","relpermalink":"/diaries/202006/20200610/","section":"diaries","summary":"Note What is client-go credential plugins - gashirar\u0026rsquo;s blog https://gashirar.hatenablog.com/entry/2020/06/10/001609 Platform EngineerとしてのPractic","tags":[],"title":"2020-06-10","type":"diaries"},{"authors":[],"categories":[],"content":"Note [Go]次世代イメージcimg/goとcircleci/go Orbsを使った2020年版CircleCIの環境構築 - My External Storage https://budougumi0617.github.io/2020/06/08/circleci_cimg_go_2020/ よさそう WEBサーバのTCPコネクション数に上限はあるのか? - Qiita https://qiita.com/reioto/items/d5bc1375986b2f84c24e ふつうのLinuxプログラミング-プロセスとハードウェア - Speaker Deck https://speakerdeck.com/sksat/hutuufalselinuxpuroguramingu-purosesutohadouea この辺のレイヤ勉強したい ","date":1591628539,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591628539,"objectID":"aeb1726e32a91d5ae912dbe0f2d0f94c","permalink":"https://d-kuro.github.io/diaries/202006/20200609/","publishdate":"2020-06-08T15:02:19Z","relpermalink":"/diaries/202006/20200609/","section":"diaries","summary":"Note [Go]次世代イメージcimg/goとcircleci/g","tags":[],"title":"2020-06-09","type":"diaries"},{"authors":[],"categories":[],"content":"Note 歴史から紐解くLinuxカーネルのコンテナ機能 / CNDT2019 - Speaker Deck https://speakerdeck.com/tenforward/cndt2019 Kubernetes ingress, deep dive · Banzai Cloud https://banzaicloud.com/blog/k8s-ingress/ Ingress の deep dive Getting Hands-on with io_uring using Go https://developers.mattermost.com/blog/hands-on-iouring-go/ Go で非同期 I/O するハンズオン ","date":1591542130,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591542130,"objectID":"d760ce1ae096a77214cdc796baa81662","permalink":"https://d-kuro.github.io/diaries/202006/20200608/","publishdate":"2020-06-07T15:02:10Z","relpermalink":"/diaries/202006/20200608/","section":"diaries","summary":"Note 歴史から紐解くLinuxカーネルのコンテナ機能 / CNDT2019 - Speaker Deck https://speakerdeck.com/tenforward/cndt2019","tags":[],"title":"2020-06-08","type":"diaries"},{"authors":[],"categories":[],"content":"Note How to keep your Kubernetes secrets secure in Git https://learnk8s.io/kubernetes-secrets-in-git Secret を Git に commit するときに使えるツール類の紹介 Certified Kubernetes Administrator (CKA) Program Changes: 2020 - Linux Foundation - Training https://training.linuxfoundation.org/cka-program-changes-2020/ 09/01 から CKA が新しくなるっぽい goccy/go-yaml: YAML support for the Go language https://github.com/goccy/go-yaml 新しく出てきた Go の YAML パッケージ, YAMLPath めっちゃ便利そう kubernetes-sigs/ingress-controller-conformance: Repository for a compliance specification of ingress-controllers. https://github.com/kubernetes-sigs/ingress-controller-conformance Ingress controller の conformance test するやつ x/lint: freeze and deprecate · Issue #38968 · golang/go https://github.com/golang/go/issues/38968 golint が非推奨 and フリーズ, まあ仕方ない気がする ","date":1591455715,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591455715,"objectID":"298f2caea87a429e942efd9d67d08d2c","permalink":"https://d-kuro.github.io/diaries/202006/20200607/","publishdate":"2020-06-06T15:01:55Z","relpermalink":"/diaries/202006/20200607/","section":"diaries","summary":"Note How to keep your Kubernetes secrets secure in Git https://learnk8s.io/kubernetes-secrets-in-git Secret を Git に commit するときに使えるツール類の紹","tags":[],"title":"2020-06-07","type":"diaries"},{"authors":[],"categories":[],"content":"Note When it’s not only about a Kubernetes CVE… - Breizh Zero-day Hunters - Medium https://medium.com/@BreizhZeroDayHunters/when-its-not-only-about-a-kubernetes-cve-8f6b448eafa8 Kubernetes に SSRF の脆弱性があることを見つけた話, おもしろい Announcing k8s-image-availability-exporter - Flant - Medium https://medium.com/flant-com/prometheus-exporter-to-check-kubernetes-images-availability-26c306c44c08 使ってる Image が無いことをメトリクスにして吐き出せるようにしてくれるやつ GitOps CLI tool | werf https://werf.io/ こんなのあるのか Using SSL certificates from Let’s Encrypt in your Kubernetes Ingress via cert-manager https://medium.com/flant-com/cert-manager-lets-encrypt-ssl-certs-for-kubernetes-7642e463bbce cert-manager なんもわからん ","date":1591369300,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591369300,"objectID":"42cacd88997621809ecdf5e4bed248fc","permalink":"https://d-kuro.github.io/diaries/202006/20200606/","publishdate":"2020-06-05T15:01:40Z","relpermalink":"/diaries/202006/20200606/","section":"diaries","summary":"Note When it’s not only about a Kubernetes CVE… - Breizh Zero-day Hunters - Medium https://medium.com/@BreizhZeroDayHunters/when-its-not-only-about-a-kubernetes-cve-8f6b448eafa8 Kubernetes に SSRF の脆弱性が","tags":[],"title":"2020-06-06","type":"diaries"},{"authors":[],"categories":[],"content":"Note goで書いたコードがヒープ割り当てになるかを確認する方法 · hnakamur\u0026rsquo;s blog https://hnakamur.github.io/blog/2018/01/30/go-heap-allocations/ 破棄容易性の観点から、データパイプラインのk8s移行にまつわるGoコード改修を振り返る - 好奇心に殺される。- pon のテックブログ https://po3rin.com/blog/mq-reconnect gracefull shutdown のコードとかは毎回使う頻出 Kubernetes上のアプリケーション開発を加速させるツール(1) Skaffold | Think IT(シンクイット) https://thinkit.co.jp/article/17553 Skaffold, ローカルで開発するなら便利かもしれない Supporting the Evolving Ingress Specification in Kubernetes 1.18 - Kubernetes https://kubernetes.io/blog/2020/06/05/supporting-the-evolving-ingress-specification-in-kubernetes-1.18/ pathType field, IngressClass resource, Support for wildcards in hostnames ","date":1591282967,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591282967,"objectID":"61110ea64bc802b910a975ccd13216bb","permalink":"https://d-kuro.github.io/diaries/202006/20200605/","publishdate":"2020-06-04T15:02:47Z","relpermalink":"/diaries/202006/20200605/","section":"diaries","summary":"Note goで書いたコードがヒープ割り当てになるかを確認する方法 ·","tags":[],"title":"2020-06-05","type":"diaries"},{"authors":[],"categories":[],"content":"Note RenovateでGoのプロジェクトの依存性を更新する - かまたま日記3 https://kamatama41.hatenablog.com/entry/2020/06/04/202845 Renovate, go mod tidy してくれる, べんり Kubernetes Network Deep Dive (NodePort, ClusterIP, Flannel) - Qiita https://qiita.com/sugimount/items/ed07a3e77a6d4ab409a8 細かい and 図解付き, kube-proxy の iptables の使い方を勉強したい Customise your Kind clusters: networking layer - The Startup - Medium https://medium.com/swlh/customise-your-kind-clusters-networking-layer-1249e7916100 Kind でネットワークまわりいじるやつ Go 1.14.4 and 1.13.12 are released! https://twitter.com/golang/status/1267589808529997825 Mercari Microservices PlatformにおけるKubernetes Cluster移行 - Mercari Engineering Blog https://tech.mercari.com/entry/2020/06/02/090450 ちゃんとしてる ","date":1591196526,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591196526,"objectID":"07144bad6835a30e76e6dd50ebb09f64","permalink":"https://d-kuro.github.io/diaries/202006/20200604/","publishdate":"2020-06-03T15:02:06Z","relpermalink":"/diaries/202006/20200604/","section":"diaries","summary":"Note RenovateでGoのプロジェクトの依存性を更新する - か","tags":[],"title":"2020-06-04","type":"diaries"},{"authors":[],"categories":[],"content":"Note OpenTelemetryについての現状まとめ (2020年6月版) - YAMAGUCHI::weblog https://ymotongpoo.hatenablog.com/entry/2020/06/01/164221 3.7. memory Red Hat Enterprise Linux 6 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/sec-memory cgroup の memory 周りについて Checking Kubelet API access https://gist.github.com/lizrice/c32740fac51db2a5518f06c3dae4944f kubelet の API へのアクセス, lizrice の gist だった Amazon VPC CNI vs Calico CNI vs Weave Net CNI on EKS https://medium.com/@jwenz723/amazon-vpc-cni-vs-calico-cni-vs-weave-net-cni-on-eks-b0ad8102e849 VPC CNI, パフォーマンスは悪くなさそうだった Who murdered my lovely Prometheus container in Kubernetes cluster? - LINE ENGINEERING https://engineering.linecorp.com/en/blog/prometheus-container-kubernetes-cluster/ Kubernetes での OOM についてめっちゃ詳しく書いてある, cAdvisor が /dev/kmsg を見てるらしい, ほえー Pod のプロセスの oom_score_adj はどうやって決まるか | \u0026ldquo;\u0026gt;はい https://blog.ssrf.in/post/kubernetes-pod-oom_score_adj/ 一緒に読みたい記事 ","date":1591110104,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591110104,"objectID":"b6f33b644c14cb4e3e2ab340080809fb","permalink":"https://d-kuro.github.io/diaries/202006/20200603/","publishdate":"2020-06-02T15:01:44Z","relpermalink":"/diaries/202006/20200603/","section":"diaries","summary":"Note OpenTelemetryについての現状まとめ (2020年","tags":[],"title":"2020-06-03","type":"diaries"},{"authors":[],"categories":[],"content":"Note カーネルとシステムコール - YouTube https://www.youtube.com/watch?v=8YGNg38-6jM わかりやすい あなたのGoアプリ/ライブラリのパッケージ構成もっとシンプルでよくない? | フューチャー技術ブログ https://future-architect.github.io/articles/20200528/ まあわかる MySQL max_connections は雑に設定しておけば良い - mita2 database life https://mita2db.hateblo.jp/entry/2020/05/31/175523 ほへー Seccomp in Kubernetes — Part 2: Crafting custom seccomp profiles for your applications https://itnext.io/seccomp-in-kubernetes-part-2-crafting-custom-seccomp-profiles-for-your-applications-c28c658f676e 大変そう, そこまでやりたくない問題 LinuxのBPF : (1) パケットフィルタ - 睡分不足 http://mmi.hatenablog.com/entry/2016/08/01/031233 このへんシュッと理解できないのでだめ LinuxのBPF : (2) seccompでの利用 - 睡分不足 http://mmi.hatenablog.com/entry/2016/08/01/044000 ","date":1591025927,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591025927,"objectID":"0e92724b01130e8a0d2b406a6df5e42c","permalink":"https://d-kuro.github.io/diaries/202006/20200602/","publishdate":"2020-06-02T00:38:47+09:00","relpermalink":"/diaries/202006/20200602/","section":"diaries","summary":"Note カーネルとシステムコール - YouTube https://www.youtube.com/watch?v=8YGNg38-6jM わかりやすい あなたのGoアプ","tags":[],"title":"2020-06-02","type":"diaries"},{"authors":[],"categories":[],"content":"Note containerd/cgroups: cgroups package for Go https://github.com/containerd/cgroups cgroup の Go 向けライブラリ, コードリーディングしたい Go and CPU Caches - Teiva Harsanyi - Medium https://medium.com/@teivah/go-and-cpu-caches-af5d32cc5592 CPU キャッシュ, なるほど 転職したらKubernetesだった件 - Qiita https://qiita.com/yuanying/items/ceeeb7329a4fdc566546 めっちゃいい記事, Kubernete が中で何やってるのかよくわかる CPU and Linux - YouTube https://www.youtube.com/watch?v=etZrDmrD5Q0 sat さんの Youtube チャンネル, subscribe した ","date":1591025924,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591025924,"objectID":"97c1a812fa6747d30f1da715edf5d2b6","permalink":"https://d-kuro.github.io/diaries/202006/20200601/","publishdate":"2020-06-02T00:38:44+09:00","relpermalink":"/diaries/202006/20200601/","section":"diaries","summary":"Note containerd/cgroups: cgroups package for Go https://github.com/containerd/cgroups cgroup の Go 向けライブラリ, コードリーディングしたい","tags":[],"title":"2020-06-01","type":"diaries"},{"authors":[],"categories":[],"content":"Note Week Ending May 24, 2020 | Last Week in Kubernetes Development http://lwkd.info/2020/20200526 JSON の構造化ログが入ろうとしてるのかな, 最高 Thomas Kurian: Google will donate Istio to a foundation - Protocol https://www.protocol.com/google-cloud-kurian-istio-foundation Istio が CNCF に寄贈されそう, しらんかった Goのtestを理解する - httptestサブパッケージ編 - My External Storage https://budougumi0617.github.io/2020/05/29/go-testing-httptest/ httptest, 便利 Microservices における認証と認可の設計パターン - Please Sleep https://please-sleep.cou929.nu/microservices-auth-design.html 最近チョット JWT 覚えた ssh-rsa,非推奨のお知らせ https://orumin.blogspot.com/2020/05/ssh-rsa.html しらんかった ","date":1591025753,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591025753,"objectID":"4f01e9477e1b93bd543476baa102de53","permalink":"https://d-kuro.github.io/diaries/202005/20200531/","publishdate":"2020-06-02T00:35:53+09:00","relpermalink":"/diaries/202005/20200531/","section":"diaries","summary":"Note Week Ending May 24, 2020 | Last Week in Kubernetes Development http://lwkd.info/2020/20200526 JSON の構造化ログが入ろうとしてるのか","tags":[],"title":"2020-05-31","type":"diaries"},{"authors":[],"categories":[],"content":"Note Conntrack metrics from the node exporter – Robust Perception | Prometheus Monitoring Experts https://www.robustperception.io/conntrack-metrics-from-the-node-exporter node exporter で conntrack のメトリクスを取得する話 prometheus/node_exporter: Exporter for machine metrics https://github.com/prometheus/node_exporter しらんかった, めっちゃいいじゃんこれ Kustomize - Kubernetes native configuration management https://kustomize.io/ kustomize の公式サイト CPU CFS Quotaを制限している場合の適切なGOMAXPROCS - Carpe Diem https://christina04.hatenablog.com/entry/appropriate-gomaxprocs-when-limiting-cfs-quota Go のコンテナアプリ, とりあえず github.com/uber-go/automaxprocs 使うと良さそう uber-go/automaxprocs: Automatically set GOMAXPROCS to match Linux container CPU quota. https://github.com/uber-go/automaxprocs べんりっぽい ","date":1591025751,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1591025751,"objectID":"6ca32f330f3d4db58a1399b9a3074c34","permalink":"https://d-kuro.github.io/diaries/202005/20200530/","publishdate":"2020-06-02T00:35:51+09:00","relpermalink":"/diaries/202005/20200530/","section":"diaries","summary":"Note Conntrack metrics from the node exporter – Robust Perception | Prometheus Monitoring Experts https://www.robustperception.io/conntrack-metrics-from-the-node-exporter node exporter で conntrack のメトリクスを取得する","tags":[],"title":"2020-05-30","type":"diaries"},{"authors":[],"categories":[],"content":"Note jq -c paths で JSON の path が取れるらしい, 知らんかった https://twitter.com/raki/status/1264266344070959106 AWS上のコンテナはネットワークをどう利用するのか? ポート番号の扱いとDNSの仕組みを中心に - エンジニアHub|若手Webエンジニアのキャリアを考える! https://employment.en-japan.com/engineerhub/entry/2020/05/21/103000 【Go】構造体のフィールドに定義してある_ struct{}はどういう意味? - Qiita https://qiita.com/fuubit/items/88ff1185de1a67d9e5bd フィールド名が省略できなくなる, ほへー Most common design issues found during Production Readiness Reviews | Medium https://medium.com/@bocytko/most-common-design-issues-found-during-production-readiness-and-post-incident-reviews-47b2c9e14a9d いい話, タイムアウトとかサーキットブレイカーとか コンピュータ・サイエンスやりたくなって1年ちょっとコツコツやってる/やったことたち - でこてっくろぐ ねお https://dekotech.dekokun.info/entry/2019/05/22/135330 すごい, コンピュータサイエンス系の Podcast, なるほど Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita https://qiita.com/yasuoyasuo/items/c43783316a4d141a140f いい話, ドキュメントを書くときに ","date":1590763796,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590763796,"objectID":"48459db59cfe7a68f20119aba00c25f2","permalink":"https://d-kuro.github.io/diaries/202005/20200529/","publishdate":"2020-05-29T23:49:56+09:00","relpermalink":"/diaries/202005/20200529/","section":"diaries","summary":"Note jq -c paths で JSON の path が取れるらしい, 知らんかった https://twitter.com/raki/status/1264266344070959106 AWS上のコン","tags":[],"title":"2020-05-29","type":"diaries"},{"authors":[],"categories":[],"content":"Note コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜 - Retrieva TECH BLOG https://tech.retrieva.jp/entry/2019/06/04/130134 力作, 全然読めてない TCP/IP エラー処理 connect 編 http://x68000.q-e-d.net/~68user/net/tcp-connect-1.html Overriding the default Linux kernel 20-second TCP socket connect timeout - willbryant.net http://willbryant.net/overriding_the_default_linux_kernel_20_second_tcp_socket_connect_timeout /proc/sys/net/ipv4/tcp_syn_retries で SYN のリトライ回数が決まっていて, タイムアウトもそのリトライ回数に引っ張られるという話 負荷が低いのにアクセスを捌けきれない時の対応 - Carpe Diem https://christina04.hatenablog.com/entry/2016/12/31/124314 勉強になる ","date":1590763793,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590763793,"objectID":"f44af4814b9557790ab3c49dca7f10fe","permalink":"https://d-kuro.github.io/diaries/202005/20200528/","publishdate":"2020-05-29T23:49:53+09:00","relpermalink":"/diaries/202005/20200528/","section":"diaries","summary":"Note コンテナ仮想、その裏側 〜user namespaceとroo","tags":[],"title":"2020-05-28","type":"diaries"},{"authors":[],"categories":[],"content":"Note cgroup による oom-killer の状態を eventfd 経由で受け取る https://harasou.jp/2015/05/20/cgroup-eventfd/ カーネルの通知ってこんな感じになってるのかー 2.13. 通知 API の使用 Red Hat Enterprise Linux 6 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/sec-Using_the_Notification_API カーネル周りの RedHat のドキュメントの信頼性がやばい Go言語(golang)における値渡しとポインタ渡しのパフォーマンス影響について - Finatext - Medium https://medium.com/finatext/go%E8%A8%80%E8%AA%9E-golang-%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E5%80%A4%E6%B8%A1%E3%81%97%E3%81%A8%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF%E6%B8%A1%E3%81%97%E3%81%AE%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E5%BD%B1%E9%9F%BF%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-70aa3605adc5 よく話に出るやつ, めんどいので脳死ポインタしているけど中でポインタ使ってないなら値渡しのがよさそうにみえる ","date":1590505344,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590505344,"objectID":"475578637711ff208257fa1f2b76b6a2","permalink":"https://d-kuro.github.io/diaries/202005/20200527/","publishdate":"2020-05-26T15:02:24Z","relpermalink":"/diaries/202005/20200527/","section":"diaries","summary":"Note cgroup による oom-killer の状態を eventfd 経由で受け取る https://harasou.jp/2015/05/20/cgroup-eventfd/ カーネルの通知ってこん","tags":[],"title":"2020-05-27","type":"diaries"},{"authors":[],"categories":[],"content":"Note Kubernetes research https://learnk8s.io/research インスタンスタイプごとの比較とか, Managed Kubernetes 比較とか Service Mesh 比較とか CPU CFS Quotaを制限している場合の適切なGOMAXPROCS - Carpe Diem https://christina04.hatenablog.com/entry/appropriate-gomaxprocs-when-limiting-cfs-quota CPU Limits 基本書かないんだがその場合は気にしなくていいのかな スマホゲームの API サーバにおける EKS の運用事例 | エンジニアブログ | GREE Engineering https://labs.gree.jp/blog/2020/01/20271/ 改めて IP range 考えるときに見た, 便利 ","date":1590419056,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590419056,"objectID":"cdbef660ea37ee9f85f2f3396f0f1453","permalink":"https://d-kuro.github.io/diaries/202005/20200526/","publishdate":"2020-05-25T15:04:16Z","relpermalink":"/diaries/202005/20200526/","section":"diaries","summary":"Note Kubernetes research https://learnk8s.io/research インスタンスタイプごとの比較とか, Managed Kubernetes 比較とか Service Mesh 比","tags":[],"title":"2020-05-26","type":"diaries"},{"authors":[],"categories":[],"content":"Note The Kubernetes Cloud Controller Manager - Mikael Johansson - Medium https://medium.com/@m.json/the-kubernetes-cloud-controller-manager-d440af0d2be5 Cloud Controller Manager の記事が増えて来た気がする Sidecar Containers · Issue #753 · kubernetes/enhancements https://github.com/kubernetes/enhancements/issues/753 Sidecar コンテナの制御の Issue, v1.19 にも入らなさそう Inside Kinvolk Labs: Investigating Kubernetes performance issues with BPF | Kinvolk eBPF なんもわからん, docker.io/kinvolk/bcc image は便利そう ","date":1590332540,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590332540,"objectID":"c2f9f7ddfde50ae63681da873e5e6b73","permalink":"https://d-kuro.github.io/diaries/202005/20200525/","publishdate":"2020-05-24T15:02:20Z","relpermalink":"/diaries/202005/20200525/","section":"diaries","summary":"Note The Kubernetes Cloud Controller Manager - Mikael Johansson - Medium https://medium.com/@m.json/the-kubernetes-cloud-controller-manager-d440af0d2be5 Cloud Controller Manager の記事が増えて来た気がする Sidecar Containers","tags":[],"title":"2020-05-25","type":"diaries"},{"authors":[],"categories":[],"content":"Note Goのパッケージ名は単数形?複数形? - My External Storage https://budougumi0617.github.io/2020/05/22/package-name-in-go/ 単数形 Style guideline for Go packages · Go, the unwritten parts https://rakyll.org/style-packages/https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/914 Go のパッケージガイドライン, めっちゃいい記事だ v1.18 から Ingress に追加された ingressClassName は kubernetes.io/ingress.class と共存ができない https://twitter.com/ymmt2005/status/1262183955186384896 https://twitter.com/alexellisuk/status/1262056154403831813 istioctl upgrade コマンド, 便利 https://twitter.com/ido_kara_deru/status/1263746479522365440 Hugo v0.60以上を使うと、Markdown中のHTMLタグが「raw HTML omitted」となって消えてしまう - My External Storage https://budougumi0617.github.io/2020/03/10/hugo-render-raw-html/ 罠っぽい CPU律速なRuby/Pythonコードはデフォルト設定のdocker上で遅くなる - まめめも https://mametter.hatenablog.com/entry/2020/05/23/032650 seccomp=unconfined で早くなるけどセキュリティ的に脆弱になるらしい, seccomp なんもわからん Creating a Kubernetes cloud provider, doesn\u0026rsquo;t required boiling the ocean https://thebsdbox.co.uk/2020/03/18/Creating-a-Kubernetes-cloud-doesn-t-required-boiling-the-ocean/?utm_sq=gee58hcvzn#Wait-what-is-the-cloud-controller-manager cloud-controller-manager の interface を実装して独自のクラウドプロバイダで type Loadbarancer を実装する話 Ingress Group Feature Testing · Issue #914 · kubernetes-sigs/aws-alb-ingress-controller https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/914 1 つの ALB で複数の Ingress を表現するやつ, alpha らしい Istio \u0026amp; JWT: Step by Step Guide for Micro-Services Authentication https://medium.com/intelligentmachines/istio-jwt-step-by-step-guide-for-micro-services-authentication-690b170348fc Istio 使って JWT で認証する話 第4章Kubernetesのトラブルシューティング-Red Hat Customer Portal https://access.redhat.com/obsolete-documentation/ja/red-hat-enterprise-linux-atomic-host/7/paged/getting-started-with-containers/chapter-4-troubleshooting-kubernetes etcd のデバッグとかも乗ってる, etcdctl の使い方なんもわからんのでありがたい ","date":1590246130,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590246130,"objectID":"3f98bdcec9fac2cd6cc7b594a2b1eca3","permalink":"https://d-kuro.github.io/diaries/202005/20200524/","publishdate":"2020-05-23T15:02:10Z","relpermalink":"/diaries/202005/20200524/","section":"diaries","summary":"Note Goのパッケージ名は単数形?複数形? - My External Storage https://budougumi0617.github.io/2020/05/22/package-name-in-go/ 単数形 Style guideline for","tags":[],"title":"2020-05-24","type":"diaries"},{"authors":[],"categories":[],"content":"Note Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+morikuni/failureサンプル | フューチャー技術ブログ https://future-architect.github.io/articles/20200522/ エラーコードの価値がよく分かってない Go Tips連載6: Error wrappingされた各クラウドSDKの独自型エラーを扱う | フューチャー技術ブログ https://future-architect.github.io/articles/20200523/ Canary deployment with Argo https://particule.io/en/blog/argocd-canary/ 【公開期間延長 7/31まで】「プログラミング言語Go完全入門」の期間限定公開のお知らせ - Mercari Engineering Blog https://tech.mercari.com/entry/2020/03/17/120137 テキスト処理とリフレクションが増えた, すごい Istio / Change Notes https://istio.io/news/releases/1.6.x/announcing-1.6/change-notes/ Istio v1.6 が来ていた kubernetes-sigs/service-apis: Repository for the next iteration of composite service (e.g. Ingress) and load balancing APIs. https://github.com/kubernetes-sigs/service-apis/ Ingress v2 と言われていたものっぽい, Gateway って Kind になっていたりする ","date":1590159698,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590159698,"objectID":"7c61ea1a36850b25660e15809581c972","permalink":"https://d-kuro.github.io/diaries/202005/20200523/","publishdate":"2020-05-22T15:01:38Z","relpermalink":"/diaries/202005/20200523/","section":"diaries","summary":"Note Go Tips 連載5: エラーコードベースの例外ハンドリングの実装+m","tags":[],"title":"2020-05-23","type":"diaries"},{"authors":[],"categories":[],"content":"Note ConfigMap vs Secret #k8sjp - Speaker Deck https://speakerdeck.com/potsbo/configmap-vs-secret-number-k8sjp ConfigMap と Secret の違い, Secret はメモリに持ってたりする Facebook London に入社することになりました https://www.notion.so/Facebook-London-13743da603ce4632bd9f96672faa0d74 LeetCode やる実力がありません aws/aws-eks-best-practices: A best practices guide for day 2 operations, including operational excellence, security, reliability, performance efficiency, and cost optimization. https://github.com/aws/aws-eks-best-practices EKS Best Practices Guide for Security https://aws.github.io/aws-eks-best-practices/ CNI Metrics Helper - Amazon EKS https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/cni-metrics-helper.html ENI の数とか監視するやつ, 知らんかった ","date":1590073299,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590073299,"objectID":"deec4e299b61a586b41bab5cff75b609","permalink":"https://d-kuro.github.io/diaries/202005/20200522/","publishdate":"2020-05-21T15:01:39Z","relpermalink":"/diaries/202005/20200522/","section":"diaries","summary":"Note ConfigMap vs Secret #k8sjp - Speaker Deck https://speakerdeck.com/potsbo/configmap-vs-secret-number-k8sjp ConfigMap と Secret の違い, Secret はメモリに持ってたりする Facebook","tags":[],"title":"2020-05-22","type":"diaries"},{"authors":[],"categories":[],"content":"Note トライ木(Trie木) の解説と実装【接頭辞(prefix) を利用したデータ構造】 | アルゴリズムロジック https://algo-logic.info/trie-tree/ O(文字の長さ) で検索ができる EKS で ALB のホストごとにヘルスチェックを設定する - hatappi.blog https://blog.hatappi.me/entry/2019/01/13/134840 Service の annotation で設定できる Three bugs in the Go MySQL Driver - The GitHub Blog https://github.blog/2020-05-20-three-bugs-in-the-go-mysql-driver/ Go の MySQL Driver のバグについて Scheduling Profile が実現する Pod 配置戦略の最前線 #InfraStudy / Infra Study Meetup 2nd - Speaker Deck https://speakerdeck.com/ytaka23/infra-study-meetup-2nd ","date":1589900501,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589900501,"objectID":"9af1141d1801eafef4ed2c8514f31c2f","permalink":"https://d-kuro.github.io/diaries/202005/20200520/","publishdate":"2020-05-19T15:01:41Z","relpermalink":"/diaries/202005/20200520/","section":"diaries","summary":"Note トライ木(Trie木) の解説と実装【接頭辞(prefix)","tags":[],"title":"2020-05-20","type":"diaries"},{"authors":[],"categories":[],"content":"Note Project Calicoのアーキテクチャを見てみよう | Think IT(シンクイット) https://thinkit.co.jp/article/14112 etcd 使うのかーみたいなのを知ると複雑だなあというきもちになってきた Flannel vs Calico : A battle of L2 vs L3 based networking https://medium.com/@jain.sm/flannel-vs-calico-a-battle-of-l2-vs-l3-based-networking-5a30cd0a3ebd この辺の知識全て忘れてしまって泣いてる Go の t.Cleanup がとてもべんり - blog.syfm https://syfm.hatenablog.com/entry/2020/05/17/161842 便利, テストで defer でお掃除するやつはこっちを使おうな ","date":1589816224,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589816224,"objectID":"11b34206f7e565f8243d5d8215dbcf03","permalink":"https://d-kuro.github.io/diaries/202005/20200518/","publishdate":"2020-05-19T00:37:04+09:00","relpermalink":"/diaries/202005/20200518/","section":"diaries","summary":"Note Project Calicoのアーキテクチャを見てみよう | Think IT(シンク","tags":[],"title":"2020-05-18","type":"diaries"},{"authors":[],"categories":[],"content":"Note Not every container has an operating system inside https://iximiuz.com/en/posts/not-every-container-has-an-operating-system-inside/ コンテナはただのプロセス Go 1.14.3 and 1.13.11 are released! https://twitter.com/golang/status/1261061319802978306 Docker/KubernetesにおけるNode.js: ヒープサイズがcgroupのlimitを見て決められるようになるのは v12.7.0から - 京都行きたい https://progret.hatenadiary.com/entry/2020/05/16/112716 ここら辺いい感じにやってほしいよね Software Execution Environmens - process, virtual machine, and container - Speaker Deck https://speakerdeck.com/sat/software-execution-environmens-process-virtual-machine-and-container プロセスとは, コンテナとは, みたいなのがわかりやすい ","date":1589816222,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589816222,"objectID":"bf86663592fed6ac14240e7d05608ef0","permalink":"https://d-kuro.github.io/diaries/202005/20200517/","publishdate":"2020-05-19T00:37:02+09:00","relpermalink":"/diaries/202005/20200517/","section":"diaries","summary":"Note Not every container has an operating system inside https://iximiuz.com/en/posts/not-every-container-has-an-operating-system-inside/ コンテナはただのプロセス Go 1.14.3 and 1.13.11 are released! https://twitter.com/golang/status/1261061319802978306 D","tags":[],"title":"2020-05-17","type":"diaries"},{"authors":[],"categories":[],"content":"Note Microsoft PowerPoint - 2019-01-25 オンプレミス Kubernetes のネットワーク https://www.janog.gr.jp/meeting/janog43/application/files/2215/4900/5049/janog43-k8s-shirota.pdf CNI とかの仕組みが図解されておりわかりやすい 注目のOpen Policy Agent、その概要とKubernetesでの活用事例 | Think IT(シンクイット) https://thinkit.co.jp/article/17511 OPA, Rego がよくわからん サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ https://knowledge.sakura.ad.jp/24059/ gRPC, 軽く触った程度 ","date":1589814079,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589814079,"objectID":"0ab1982be003f00fc59703d31a6d9629","permalink":"https://d-kuro.github.io/diaries/202005/20200519/","publishdate":"2020-05-18T15:01:19Z","relpermalink":"/diaries/202005/20200519/","section":"diaries","summary":"Note Microsoft PowerPoint - 2019-01-25 オンプレミス Kubernetes のネットワーク https://www.janog.gr.jp/meeting/janog43/application/files/2215/4900/5049/janog43-k8s-shirota.pdf CNI とかの仕組みが図解","tags":[],"title":"2020-05-19","type":"diaries"},{"authors":[],"categories":[],"content":"Note OOM Killer に関連するカーネルパラメータまとめ - reboooot․net https://reboooot.net/post/kernel-params-related-to-oom-killer/ カーネルなんもわからん Pod のプロセスの oom_score_adj はどうやって決まるか | \u0026ldquo;\u0026gt;はい https://blog.ssrf.in/post/kubernetes-pod-oom_score_adj/ min(max(2, 1000 - (1000 * memoryRequestBytes) / machineMemoryCapacityBytes), 999) / var / log / messagesを使用してメモリ不足をデバッグする https://qastack.jp/unix/128642/debug-out-of-memory-with-var-log-messages pid: プロセスID。 uid: ユーザーID。 tgid: スレッドグループID。 total_vm: 仮想メモリの使用(4 kBページ) rss: 常駐メモリの使用(4 kBページ) nr_ptes: ページテーブルエントリ swapents: は、エントリを交換します oom_score_adj: 通常0。数字が小さいほど、OOMキラーが呼び出されたときにプロセスが停止する可能性が低くなります。 EKS Kubernetes メモリオーバー時の挙動 | 外道父の匠 http://blog.father.gedow.net/2019/11/28/eks-kubernetes-ouf-of-memory/ memory limits があれば cgroups の OOM が殺してくれる, 無いと Node 側であらゆるプロセスが殺される可能性があって危ない EKS Kubernetes NodeあたりPod数の考察 (1) | 外道父の匠 http://blog.father.gedow.net/2019/11/25/eks-kubernetes-pods-on-node-01/ EKS Kubernetes NodeあたりPod数の考察 (2) | 外道父の匠 http://blog.father.gedow.net/2019/11/25/eks-kubernetes-pods-on-node-02/ ","date":1589555239,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589555239,"objectID":"08ad32e9ea40a7b7b722d828cce26fda","permalink":"https://d-kuro.github.io/diaries/202005/20200516/","publishdate":"2020-05-16T00:07:19+09:00","relpermalink":"/diaries/202005/20200516/","section":"diaries","summary":"Note OOM Killer に関連するカーネルパラメータまとめ - reboooot․","tags":[],"title":"2020-05-16","type":"diaries"},{"authors":[],"categories":[],"content":"Note Building Uber’s Go Monorepo with Bazel | Uber Engineering Blog https://eng.uber.com/go-monorepo-bazel/ Uber が Go の monorepo を Bazel で運用している話, Bazel 使いたい Kubernetes OOMおよびCPUスロットルのトラブルシューティング方法 | Sysdigブログ - コンテナ・Kubernetes環境向けセキュリティ・モニタリング プラットフォーム https://www.scsk.jp/sp/sysdig/blog/sysdig_monitor/kubernetes_oomcpu.html 日本語でまとまっている Mistakes made and lessons learned with Kubernetes and GitOps | Luke’s blog https://blog.lukechannings.com/2020-05-10-kubernetes-gitops-lessons.html あんま GitOps 関係なくねって思ってしまったけど Kubernetes の運用でハマりがちなこと ","date":1589554630,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589554630,"objectID":"8b17b9c5fec4e22530e66b4dc3358686","permalink":"https://d-kuro.github.io/diaries/202005/20200515/","publishdate":"2020-05-15T23:57:10+09:00","relpermalink":"/diaries/202005/20200515/","section":"diaries","summary":"Note Building Uber’s Go Monorepo with Bazel | Uber Engineering Blog https://eng.uber.com/go-monorepo-bazel/ Uber が Go の monorepo を Bazel で運用してい","tags":[],"title":"2020-05-15","type":"diaries"},{"authors":[],"categories":[],"content":"Note DNS issues in Kubernetes. Public postmortem #1 | Preply Engineering Blog https://medium.com/preply-engineering/dns-postmortem-e169efd45afd Postmortem, conntrack が削除されなかったので死んでいる Pod にルーティングされたらしい 複数バージョンの kubectl や他の CLI ツールを管理するには asdf-vm を使う | text․superbrothers․dev https://text.superbrothers.dev/200514-managing-multiple-versions-of-kubectl-and-other-tools-with-asdf-vm/ asdf-vm, 便利っぽい The Rego Playground https://play.openpolicyagent.org/ Rego の Playground, 可読性が悪いと評判 Linux containers in a few lines of code https://zserge.com/posts/containers/ Docker daemon を使わずに C でコンテナを実行する, コード見るとたしかに短いし面白い ","date":1589384880,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589384880,"objectID":"8a7c62969bd87d64484d5fb262e30834","permalink":"https://d-kuro.github.io/diaries/202005/20200514/","publishdate":"2020-05-14T00:48:00+09:00","relpermalink":"/diaries/202005/20200514/","section":"diaries","summary":"Note DNS issues in Kubernetes. Public postmortem #1 | Preply Engineering Blog https://medium.com/preply-engineering/dns-postmortem-e169efd45afd Postmortem, conntrack が削除されなかったので死んでい","tags":[],"title":"2020-05-14","type":"diaries"},{"authors":[],"categories":[],"content":"Note Top 10 must-know Kubernetes design patterns - Red Hat Developer https://developers.redhat.com/blog/2020/05/11/top-10-must-know-kubernetes-design-patterns/ Kubernetes Patterns, 読んでない IPVS-Based In-Cluster Load Balancing Deep Dive - Kubernetes https://kubernetes.io/blog/2018/07/09/ipvs-based-in-cluster-load-balancing-deep-dive/ Comparing kube-proxy modes: iptables or IPVS? | Project Calico https://www.projectcalico.org/comparing-kube-proxy-modes-iptables-or-ipvs/ IPVS, 10000 Pods ぐらいないと効果ないのか When Linux conntrack is no longer your friend | Project Calico https://www.projectcalico.org/when-linux-conntrack-is-no-longer-your-friend/ conntrack チョットワカッタ 一見普通なのにKubernetesを破壊するyaml - Qiita https://qiita.com/ozota/items/db74fc3d06834345afc9 IPVS の説明とか書いてある, kube-ipvs0 というダミーの NIC を作ってそれ経由にするらしい Switch core master base images (kube-apiserver, kube-scheduler) from debian to distroless by dims · Pull Request #90674 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/pull/90674 https://twitter.com/superbrothers/status/1260377159635329024 api-server と schduler が distroless になるらしい ","date":1589335118,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589335118,"objectID":"108665c9fceb4248938c4a896c83babe","permalink":"https://d-kuro.github.io/diaries/202005/20200513/","publishdate":"2020-05-13T10:58:38+09:00","relpermalink":"/diaries/202005/20200513/","section":"diaries","summary":"Note Top 10 must-know Kubernetes design patterns - Red Hat Developer https://developers.redhat.com/blog/2020/05/11/top-10-must-know-kubernetes-design-patterns/ Kubernetes Patterns, 読んでない IPVS-Based In-Cluster Load Balancing Deep Dive - Kubernetes https://kubernetes.io/blog/2018/07/09/ipvs-based-in-cluster-load-balancing-deep-dive/ Comparing kube-proxy","tags":[],"title":"2020-05-13","type":"diaries"},{"authors":null,"categories":null,"content":"Note Generating Go code in Kubebuilder style · Banzai Cloud https://banzaicloud.com/blog/generating-go-code/ sigs.k8s.io/controller-tools/pkg/genall.Generator みたいな interface があるらしい 『みんなのデータ構造』でデータ構造の基礎を学んだ - valid,invalid https://ohbarye.hatenablog.jp/entry/2020/05/10/open-data-structures データ構造勉強したい CI で go mod tidy コマンドが実行済かどうかを確認する | text․superbrothers․dev https://text.superbrothers.dev/200510-ensure-go-mod-is-already-tidied-on-ci/ 便利 データベースへの接続を伴うGoの並列テスト | MF KESSAI TECH BLOG https://tech.mfkessai.co.jp/2019/11/parallel-go-test/ ファイルのロックを使って制御する話 Release v0.9.0 · ahmetb/kubectx https://github.com/ahmetb/kubectx/releases/tag/v0.9.0 kubectx が Go に書き換わっていた Simulating Clock Skew in K8s Without Affecting Other Containers on the Node | TiDB https://pingcap.com/blog/simulating-clock-skew-in-k8s-without-affecting-other-containers-on-node/ clock skew あんまり良くわかってないマン, client-go のコメント読んでたら出てきた Kubernetesクラスターに対するL4ネットワークアクセス制御を整理する · ASA Blog https://asashiho.github.io/aks-l4/kubernetes-l4/ NetworkPolicy 使ったこと無いマン [Go] 一部のフィールドを無視して構造体を比較したいときはgo-cmpを使う - My External Storage https://budougumi0617.github.io/2020/05/08/go-cmp-diif-with-ignore-fields/ cmpopts.IgnoreFields ってものがあるらしい, go-cmp 便利 ","date":1589209478,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589209478,"objectID":"5382b3f640971f66d599d0e4ab222070","permalink":"https://d-kuro.github.io/diaries/202005/20200512/","publishdate":"2020-05-11T15:04:38Z","relpermalink":"/diaries/202005/20200512/","section":"diaries","summary":"Note Generating Go code in Kubebuilder style · Banzai Cloud https://banzaicloud.com/blog/generating-go-code/ sigs.k8s.io/controller-tools/pkg/genall.Generator みたいな interface があるらしい 『みんなのデー","tags":null,"title":"2020-05-12","type":"diaries"},{"authors":null,"categories":null,"content":"Note Goで子プロセスを確実にKillする方法 | makiuchi-d.github.io http://makiuchi-d.github.io/2020/05/10/go-kill-child-process.ja.html Go で子プロセスを殺すときは syscall 呼ばないといけない, exec.CommandContext() も無力らしい, つらい 転職したら Kubernetes だった件 / That Time I Changed Jobs as a Kubernetes. - Speaker Deck https://speakerdeck.com/superbrothers/that-time-i-changed-jobs-as-a-kubernetes Kubernetes の中の話がよくわかるいいセッションだった, 動画もある https://youtu.be/FrUdf3CRcpw サービスメッシュ必読ガイド - マイクロサービス時代のサービス間通信管理 https://www.infoq.com/jp/articles/service-mesh-ultimate-guide/ Service Mesh についてまとまってる, よい Infrastructure as Dataとは何か | SOTA https://deeeet.com/writing/2020/05/11/infrastructure-as-data/ Reconciliation loop の話, custom controller がもっとカジュアルに書けるようにならないとしんどい [試して理解] Linuxのプロセススケジューラのしくみ - Speaker Deck https://speakerdeck.com/sat/shi-siteli-jie-linuxfalsepurosesusukeziyurafalsesikumi CFS の話が書いてあるスライド, 多分後でお世話になる GKE のリリースノート(コンテナネイティブなロードバランス)を読み解くのに必要な知識は、公式ドキュメントのどこに書いてあるか? https://medium.com/google-cloud-jp/gke-vpc-native-related-docs-1ec7a82fa719 VPC のサブネットを Pod でも利用するという話 ","date":1589123068,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589123068,"objectID":"ba26467e44ac8b349a698bf3472b67c8","permalink":"https://d-kuro.github.io/diaries/202005/20200511/","publishdate":"2020-05-10T15:04:28Z","relpermalink":"/diaries/202005/20200511/","section":"diaries","summary":"Note Goで子プロセスを確実にKillする方法 | makiuchi-d.github.io http://makiuchi-d.github.io/2020/05/10/go-kill-child-process.ja.html Go で子プロセ","tags":null,"title":"2020-05-11","type":"diaries"},{"authors":null,"categories":null,"content":"Note Implementing a custom Kubernetes authentication method https://learnk8s.io/kubernetes-custom-authentication Kubernetes でカスタム認証する話, Kubernetes の認証についてまとまってる golangci/golangci-lint-action: Official GitHub action for golangci-lint from it\u0026rsquo;s authors https://github.com/golangci/golangci-lint-action golangci-lint の公式 GitHub Actions, こんどからこっち使おうな name: golangci-lint on: push: tags: - v* branches: - master pull_request: jobs: golangci: name: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: golangci-lint uses: golangci/[email protected] with: # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. version: v1.26 # Optional: golangci-lint command line arguments. # args: ./the-only-dir-to-analyze/... ","date":1589036652,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1589036652,"objectID":"aa1eb5edf6b41f5caaeea611b3d78ed3","permalink":"https://d-kuro.github.io/diaries/202005/20200510/","publishdate":"2020-05-09T15:04:12Z","relpermalink":"/diaries/202005/20200510/","section":"diaries","summary":"Note Implementing a custom Kubernetes authentication method https://learnk8s.io/kubernetes-custom-authentication Kubernetes でカスタム認証する話, Kubernetes の認証についてまと","tags":null,"title":"2020-05-10","type":"diaries"},{"authors":null,"categories":null,"content":"Note Introducing the Datadog Operator for Kubernetes and OpenShift | Datadog https://www.datadoghq.com/ja/blog/datadog-operator/ Datadog agent を管理するための operator, 使ってみたいけどまだ触れていない Hugo + Academic テーマを使ったブログの作り方 - Qiita https://qiita.com/harumaxy/items/58e7e4273c61e7e260b3 このブログのテーマを移行しようと思ってみている HA Kubernetes Clusters on AWS with Cluster API v1alpha3 - s0x http://s0x.org/ha-kubernetes-clusters-on-aws-with-cluster-api-v1alpha3/ Cluster API, 使いたい ","date":1588950330,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588950330,"objectID":"25780a5aea3185fc7d953dd6739f5486","permalink":"https://d-kuro.github.io/diaries/202005/20200509/","publishdate":"2020-05-08T15:05:30Z","relpermalink":"/diaries/202005/20200509/","section":"diaries","summary":"Note Introducing the Datadog Operator for Kubernetes and OpenShift | Datadog https://www.datadoghq.com/ja/blog/datadog-operator/ Datadog agent を管理するための operator, 使ってみたいけ","tags":null,"title":"2020-05-09","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetesのサービスディスカバリーの説明(後半) - gavin.zhou - Medium https://medium.com/@gavin.zhou/kubernetes%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AB%E3%83%90%E3%83%AA%E3%83%BC%E3%81%AE%E8%AA%AC%E6%98%8E-%E5%BE%8C%E5%8D%8A-8c5119122cd iptables 完全に理解したい人生だった Container Network Interfaceについて調べた - ntoofu https://ntoofu.github.io/blog/post/container-network-interface/ CNI について丁寧にまとまってる netnsを触ってみる - 隙あらば寝る https://yoru9zine.hatenablog.com/entry/2016/12/28/225948 わかりやすかった, CNI について理解するための前提知識 Introducing PodTopologySpread - Kubernetes https://kubernetes.io/blog/2020/05/introducing-podtopologyspread/ Zone で Pod を散らしたりできるやつ 賢く「散らす」ための Topology Spread Constraints #k8sjp / Kubernetes Meetup Tokyo 25th - Speaker Deck https://speakerdeck.com/ytaka23/kubernetes-meetup-tokyo-25th わかりやすいスライド, ラベルごとにカウントして許容できる Pod の数の差を maxSkew として指定する ","date":1588863876,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588863876,"objectID":"0feecde432e389859f2eef9e3ab17a73","permalink":"https://d-kuro.github.io/diaries/202005/20200508/","publishdate":"2020-05-07T15:04:36Z","relpermalink":"/diaries/202005/20200508/","section":"diaries","summary":"Note Kubernetesのサービスディスカバリーの説明(後半)","tags":null,"title":"2020-05-08","type":"diaries"},{"authors":null,"categories":null,"content":"Note Golangではinterfaceはどのパッケージに属するのか - Runner in the High https://www.izumisy.work/entry/2018/08/19/120452 interface は使う側で定義しようという話 オブザーバビリティにおけるプロファイルの重要性 pprofを活用するメリットをGoogle CloudのDeveloper Advocateが語る - ログミーTech https://logmi.jp/tech/articles/322787 pprof, \u0026ndash;base option で比較できるの知らんかった 大規模クラスタの構築 - Kubernetes https://kubernetes.io/ja/docs/setup/best-practices/cluster-large/ 大事 Node 数別の master node に使うべきインスタンスタイプも書いてある At v1.18, Kubernetes supports clusters with up to 5000 nodes. More specifically, we support configurations that meet all of the following criteria:\nNo more than 5000 nodes No more than 150000 total pods No more than 300000 total containers No more than 100 pods per node\n If You\u0026rsquo;re Adopting Kubernetes, You Need Chaos Engineering https://www.gremlin.com/blog/if-youre-adopting-kubernetes-you-need-chaos-engineering/ カオスエンジニアリング, やりたいね string - What\u0026rsquo;s the difference between ResponseWriter.Write and io.WriteString? - Stack Overflow https://stackoverflow.com/questions/37863374/whats-the-difference-between-responsewriter-write-and-io-writestring string を書くときは io.WriteString, []byte の場合は w.Write を使おう ","date":1588777481,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588777481,"objectID":"02ddc3cdda4ccd55ed636d815ae4c491","permalink":"https://d-kuro.github.io/diaries/202005/20200507/","publishdate":"2020-05-06T15:04:41Z","relpermalink":"/diaries/202005/20200507/","section":"diaries","summary":"Note Golangではinterfaceはどのパッケージに属する","tags":null,"title":"2020-05-07","type":"diaries"},{"authors":null,"categories":["Kubernetes"],"content":"What to do when the Pod does not start due to CIDR allocation failure.\nContext We are using kube-aws to build Kubernetes cluster. One day, I saw that the Pod was in a lot of errors and would not start. This has only occurred on certain nodes.\nNAMESPACE NAME READY STATUS RESTARTS AGE kube-system canal-node-g2vfn 2/3 CrashLoopBackOff 20 79m kube-system kube-proxy-8n2lj 1/1 Running 0 79m monitor datadog-lr74g 0/3 Init:0/2 0 79m production foo-9d6944774-9jlls 0/2 ContainerCreating 0 55s ... Check flannel logs flannel had an error message like the following:\nI0502 02:42:02.830771 1 main.go:514] Determining IP address of default interface I0502 02:42:02.830960 1 main.go:527] Using interface with name eth0 and address 10.12.2.236 I0502 02:42:02.830972 1 main.go:544] Defaulting external address to interface address (10.12.2.236) I0502 02:42:02.849385 1 kube.go:126] Waiting 10m0s for node controller to sync I0502 02:42:02.849412 1 kube.go:309] Starting kube subnet manager I0502 02:42:03.849506 1 kube.go:133] Node controller sync successful I0502 02:42:03.849550 1 main.go:244] Created subnet manager: Kubernetes Subnet Manager - foo-node I0502 02:42:03.849557 1 main.go:247] Installing signal handlers I0502 02:42:03.849682 1 main.go:386] Found network config - Backend type: vxlan I0502 02:42:03.849719 1 vxlan.go:120] VXLAN config: VNI=1 Port=0 GBP=false DirectRouting=false E0502 02:42:03.849902 1 main.go:289] Error registering network: failed to acquire lease: node \u0026quot;foo-node\u0026quot; pod cidr not assigned I0502 02:42:03.849937 1 main.go:366] Stopping shutdownHandler... Check controller-manager logs controller-manager had an error message like the following:\n CIDR allocation failed; there are no remaining CIDRs left to allocate in the accepted range\n E0502 03:11:40.819569 1 controller_utils.go:282] Error while processing Node Add/Delete: failed to allocate cidr: CIDR allocation failed; there are no remaining CIDRs left to allocate in the accepted range I0502 03:11:40.820095 1 event.go:221] Event(v1.ObjectReference{Kind:\u0026quot;Node\u0026quot;, Namespace:\u0026quot;\u0026quot;, Name:\u0026quot;foo-node\u0026quot;, UID:\u0026quot;2e10b7b3-8c14-11ea-a498-066c4ca4071a\u0026quot;, APIVersion:\u0026quot;\u0026quot;, ResourceVersion:\u0026quot;\u0026quot;, FieldPath:\u0026quot;\u0026quot;}): type: 'Normal' reason: 'CIDRNotAvailable' Node foo-node status is now: CIDRNotAvailable Kubernetes assigns a range of IP addresses (CIDR blocks) to each node so that a unique IP address is specified for each Pod. By default, Kubernetes assigns /24 CIDR blocks (256 addresses) to each node. This error message is displayed if the Node could not be assigned a CIDR blocks.\nThis explanation is detailed in GKE documentation by GCP.\n 📝Optimizing IP address allocation | Kubernetes Engine Documentation\n Check cluster CIDR blocks Checking CIDR block for a cluster, run the following command on master node:\nps aux | grep cluster-cidr Run it, you will get the following results:\nroot 3159 0.0 0.5 818604 89064 ? Ssl May02 1:53 /hyperkube controller-manager --cloud-provider=aws --cluster-name=foo-cluster --kubeconfig=/etc/kubernetes/kubeconfig/kube-controller-manager.yaml --authentication-kubeconfig=/etc/kubernetes/kubeconfig/kube-controller-manager.yaml --authorization-kubeconfig=/etc/kubernetes/kubeconfig/kube-controller-manager.yaml --leader-elect=true --root-ca-file=/etc/kubernetes/ssl/ca.pem --service-account-private-key-file=/etc/kubernetes/ssl/service-account-key.pem --use-service-account-credentials --cluster-signing-cert-file=/etc/kubernetes/ssl/worker-ca.pem --cluster-signing-key-file=/etc/kubernetes/ssl/worker-ca-key.pem --allocate-node-cidrs=true --cluster-cidr=10.2.0.0/16 --configure-cloud-routes=false --service-cluster-ip-range=10.3.0.0/16 core 6843 0.0 0.0 2820 844 pts/0 S+ 14:07 0:00 grep --colour=auto cluster-cidr Checking the value of the --cluster-cidr option:\n --cluster-cidr=10.2.0.0/16\n Kubernetes grants each node a /24 CIDR blocks by default for use by the nodes Pods. Because this cluster assigns Pod IP addresses from a /16 CIDR blocks (cluster-cidr), there can be up to 256 nodes (24-16 = 8, 2^8 = 256).\nThe reason why the Pods didn\u0026rsquo;t start this time was that the HPA scaled so many Pods that there were more than 265 nodes.\nChange CIDR blocks assigned to node To solve this problem I made change to the CIDR blocks assigned to the nodes. Changing the CIDR blocks from /24 to /25 reduces the number of Pods per nodes, but allowed will be 512 nodes(25-16 = 9、2^9 = 512).\nTo change the CIDR blocks, run controller-manager with the following options:\n --node-cidr-mask-size=25\n Also, we limited the number of Pods that can be launched with the kubelet option to 64. For the basis of this number 64, see the GKE document.\n --max-pods=64\n When running a large Kubernetes cluster, you need to take care of the CIDR ranges.\nRefs Optimizing IP address allocation | Kubernetes Engine Documentation Many Kubernetes Clusters | SRCco.de ","date":1588770596,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588770596,"objectID":"5a7c7b3751102eae545763ce06904f8f","permalink":"https://d-kuro.github.io/post/kubernetes-cidr/","publishdate":"2020-05-06T22:09:56+09:00","relpermalink":"/post/kubernetes-cidr/","section":"post","summary":"What to do when the Pod does not start due to CIDR allocation failure.\n","tags":["Kubernetes"],"title":"CIDR allocation failed for Kubernetes","type":"post"},{"authors":null,"categories":null,"content":"Note Go の map は len が 8 までは make で作る際に len を指定しなくても変わらないらしい https://github.com/golang/go/blob/8e6a8d9e282a6f9aeab5635c75c223129f5ab61f/src/runtime/map.go#L298-L303 Some insights on Maps in Golang | Hacker Noon https://hackernoon.com/some-insights-on-maps-in-golang-rm5v3ywh Default map size is 1 bucket, bucket size is 8 elements.\n Go の map の実装についてめっちゃ詳しく書いてある Gormが本番テーブルの数億件のデータを消そうとした話 - keroxpのScrapbox https://scrapbox.io/keroxp/Gorm%E3%81%8C%E6%9C%AC%E7%95%AA%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E6%95%B0%E5%84%84%E4%BB%B6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%B6%88%E3%81%9D%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E8%A9%B1 笑ってる, 空のスライス渡したらテーブルが吹っ飛ぶ話 2019年版・Kubernetesクラスタ構築入門 | さくらのナレッジ https://knowledge.sakura.ad.jp/20955/ IP アドレス割り当ての最適化 | Kubernetes Engine ドキュメント | Google Cloud https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr?hl=ja GCP の良いドキュメント Kubernetes はデフォルトで Node あたりに /24 の CIDR ブロックを割り当てる Node に割り当てる CIDR ブロックによって Node あたりの最大 Pod 数が決まってくる Change Kubernetes Pods CIDR https://tufora.com/tutorials/kubernetes/change-kubernetes-pods-cidr --cluster-cidr を変更する話 Many Kubernetes Clusters | SRCco.de https://srcco.de/posts/many-kubernetes-clusters.html 上の CIDR の話が書いてある, /24 だと 250 ちょいの Node で CIDR の割当ができなくなるので /25 にした話 ","date":1588691035,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588691035,"objectID":"cc1d1281ab2e606af5dd3adc5066a53a","permalink":"https://d-kuro.github.io/diaries/202005/20200506/","publishdate":"2020-05-05T15:03:55Z","relpermalink":"/diaries/202005/20200506/","section":"diaries","summary":"Note Go の map は len が 8 までは make で作る際に len を指定しなくても変わらな","tags":null,"title":"2020-05-06","type":"diaries"},{"authors":null,"categories":null,"content":"Note IntelliJ IDEAのKubernetes Pluginが便利だったので紹介する - gashirar\u0026rsquo;s blog https://gashirar.hatenablog.com/entry/2020/05/01/174238 便利なんだけど簡単なエディタとして立ち上げるには重いんだよなあ Kubernetesの新ツール「kpt」を試してみた - Qiita https://qiita.com/TheHiro/items/be041911166865c4d225 うーん, 流行らん気がする MinikubeのEFK AddonのFluentdの設定を読む - gashirar\u0026rsquo;s blog https://gashirar.hatenablog.com/entry/2020/04/30/181008 fluentd について amazon-vpc-cni-k8s/cni-proposal.md at v1.6.1 · aws/amazon-vpc-cni-k8s https://github.com/aws/amazon-vpc-cni-k8s/blob/v1.6.1/docs/cni-proposal.md EKS の CNI プラグインのプロポーザル, どういう仕組なのかとか読み解くのには良さそう 競技プログラミングで解法を思いつくための典型的な考え方 | アルゴリズムロジック https://algo-logic.info/how-to-think-cp/ 読むための基礎知識が足りない ","date":1588604671,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588604671,"objectID":"880b96e915436915e945df21e28f35e8","permalink":"https://d-kuro.github.io/diaries/202005/20200505/","publishdate":"2020-05-04T15:04:31Z","relpermalink":"/diaries/202005/20200505/","section":"diaries","summary":"Note IntelliJ IDEAのKubernetes Pluginが便利だったの","tags":null,"title":"2020-05-05","type":"diaries"},{"authors":null,"categories":null,"content":"Note Goで作るモダン・ブートサーバー Day 1 - 基礎知識編 - Folioscope https://i-beam.org/2020/02/25/go-modern-bootserver-01/ DHCP サーバの作り方とか書いてある, 面白そうだけどこの辺の世界を何も知らずに生きてるので何もわからん Kubernetes best practices: Resource requests and limits | Google Cloud Blog https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-resource-requests-and-limits over commit 状態について書いてある community/resource-qos.md at master · kubernetes/community https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/resource-qos.md#qos-classes QoS のドキュメント, over commit 状態について書いてある Understanding resource limits in kubernetes: cpu time https://medium.com/@betz.mark/understanding-resource-limits-in-kubernetes-cpu-time-9eff74d3161b CPU 編, 以前貼った Understanding resource limits in kubernetes: memory https://medium.com/@betz.mark/understanding-resource-limits-in-kubernetes-memory-6b41e9a955f9 memory 編, こっちは読んだことなかった CFS hiccups https://gist.github.com/bobrik/2030ff040fad360327a5fab7a09c4ff1 スロットリング調べるためのコードが乗ってる ","date":1588431828,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588431828,"objectID":"1d5634ff1f2c680650d62f39b29a9cf8","permalink":"https://d-kuro.github.io/diaries/202005/20200503/","publishdate":"2020-05-02T15:03:48Z","relpermalink":"/diaries/202005/20200503/","section":"diaries","summary":"Note Goで作るモダン・ブートサーバー Day 1 - 基礎知識編 - Folioscope https://i-beam.org/2020/02/25/go-modern-bootserver-01/ DHCP サ","tags":null,"title":"2020-05-03","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go で testify を使うとテストが遅くなる話 https://twitter.com/bboreham/status/1254042732387086336 What\u0026rsquo;s coming in Go 1.15 https://docs.google.com/presentation/d/1veyF0y6Ynr6AFzd9gXi4foaURlgbMxM-tmB4StDrdAM/edit#slide=id.g550f852d27_228_0 https://twitter.com/mattn_jp/status/1254569199029981184 デカイ変更はなさそう Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記 https://www.pospome.work/entry/2020/04/27/153059 要件次第, せやな, 個人的には net/http と gorilla/mux を使うのが好きです facebookincubator/ntp: Facebook\u0026rsquo;s NTP libraries https://github.com/facebookincubator/ntp facebook 製の ntp ライブラリ ","date":1588345423,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588345423,"objectID":"38de328618847ae1e74c7683bdabd544","permalink":"https://d-kuro.github.io/diaries/202005/20200502/","publishdate":"2020-05-01T15:03:43Z","relpermalink":"/diaries/202005/20200502/","section":"diaries","summary":"Note Go で testify を使うとテストが遅くなる話 https://twitter.com/bboreham/status/1254042732387086336 What\u0026rsquo;s coming in Go 1.15 https://docs.google.com/presentation/d/1veyF0y6Ynr6AFzd9gXi4foaURlgbMxM-tmB4StDrdAM/edit#slide=id.g550f852d27_228_0 https://twitter.com/mattn_jp/status/1254569199029981184 デカイ変更","tags":null,"title":"2020-05-02","type":"diaries"},{"authors":null,"categories":null,"content":"Note Rob Pike interview for Evrone: “Go has become the language of cloud infrastructure” https://evrone.com/rob-pike-interview Rob Pike 先生のインタビュー Kubernetesのresource requests, limits - Carpe Diem https://christina04.hatenablog.com/entry/kubernetes-resource-limits マルチコアであれば requests, limits をどう設定してもマルチコアを使用する ","date":1588258993,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588258993,"objectID":"3b18fd613ed1b5506950c2e924399fb6","permalink":"https://d-kuro.github.io/diaries/202005/20200501/","publishdate":"2020-04-30T15:03:13Z","relpermalink":"/diaries/202005/20200501/","section":"diaries","summary":"Note Rob Pike interview for Evrone: “Go has become the language of cloud infrastructure”","tags":null,"title":"2020-05-01","type":"diaries"},{"authors":null,"categories":null,"content":"Note Why strace doesn\u0026rsquo;t work in Docker https://jvns.ca/blog/2020/04/29/why-strace-doesnt-work-in-docker/ seccomp でブロックされるから使えない, --cap-add=SYS_PTRACE すると seccomp のルールをいじってくれて使える, みたいな話っぽい Inside Kinvolk Labs: Investigating Kubernetes performance issues with BPF | Kinvolk https://kinvolk.io/blog/2020/04/inside-kinvolk-labs-investigating-kubernetes-performance-issues-with-bpf/ こんなデバッグできるようになりたい Amazon EKS now supports Kubernetes version 1.16 https://aws.amazon.com/jp/about-aws/whats-new/2020/04/amazon-eks-now-supports-kubernetes-version-1-16/ EKS で 1.16 がきた ","date":1588172638,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588172638,"objectID":"856c18edb5b6d80d4d6bb4f737a2e450","permalink":"https://d-kuro.github.io/diaries/202004/20200430/","publishdate":"2020-04-29T15:03:58Z","relpermalink":"/diaries/202004/20200430/","section":"diaries","summary":"Note Why strace doesn\u0026rsquo;t work in Docker https://jvns.ca/blog/2020/04/29/why-strace-doesnt-work-in-docker/ seccomp でブロックされるから使えない, --cap-add=SYS_PTRACE すると seccomp の","tags":null,"title":"2020-04-30","type":"diaries"},{"authors":null,"categories":null,"content":"Note Writing custom controllers – Extends Kubernetes APIs for the unified experience - Speaker Deck https://speakerdeck.com/toricls/writing-custom-controllers-extends-kubernetes-apis-for-the-unified-experience custom controller を作る話, 概要的なところがおおい Go プログラミング言語仕様 | gospec-ja https://hiwane.github.io/gospec-ja/ Go の言語仕様の翻訳, すごい Kubernetes Resources Requests and Limits 101 https://www.magalix.com/blog/kubernetes-resource-requests-and-limits-101 over commit した際に CPU はスロットリングさせる, Memory は OOM で殺す ","date":1588086285,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588086285,"objectID":"36a9acf9adc05b1bc6b53ea1114a8662","permalink":"https://d-kuro.github.io/diaries/202004/20200429/","publishdate":"2020-04-28T15:04:45Z","relpermalink":"/diaries/202004/20200429/","section":"diaries","summary":"Note Writing custom controllers – Extends Kubernetes APIs for the unified experience - Speaker Deck https://speakerdeck.com/toricls/writing-custom-controllers-extends-kubernetes-apis-for-the-unified-experience custom controller を作る話, 概要的なところ","tags":null,"title":"2020-04-29","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes Engine (GKE) multi-cluster life cycle management series https://medium.com/google-cloud/kubernetes-engine-gke-multi-cluster-life-cycle-management-series-17ff892b85c8 マルチクラスタ, あんまりやりたくない Kubernetes Basics · YOKOHEI.COM https://yokohei.com/docs/k8s-top.html 色々まとまっている, Kubernetes the Hard Way のこととかも Golangのjson.Unmarshalとjson.NewDecoderの使い分けについて - Qiita https://qiita.com/Coolucky/items/44f2bc6e32ca8e9baa96 何も考えずに Unmarshal 使ってました…… Istio By Example (ja) https://istiobyexample-ja.github.io/istiobyexample/ 日本語版, すごい ","date":1587999832,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587999832,"objectID":"9377d41564e04acf3c8f82d029304a47","permalink":"https://d-kuro.github.io/diaries/202004/20200428/","publishdate":"2020-04-27T15:03:52Z","relpermalink":"/diaries/202004/20200428/","section":"diaries","summary":"Note Kubernetes Engine (GKE) multi-cluster life cycle management series https://medium.com/google-cloud/kubernetes-engine-gke-multi-cluster-life-cycle-management-series-17ff892b85c8 マルチクラスタ, あんまりやりたくない Kubernetes Basics","tags":null,"title":"2020-04-28","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go で構造の一部が動的に変わる JSON を扱いたい - Naomichi Agata - Medium https://medium.com/@agatan/go-%E3%81%A7%E6%A7%8B%E9%80%A0%E3%81%AE%E4%B8%80%E9%83%A8%E3%81%8C%E5%8B%95%E7%9A%84%E3%81%AB%E5%A4%89%E3%82%8F%E3%82%8B-json-%E3%82%92%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84-cb99efc04193 json.RawMessage, 知らなかった 猫でもわかる Vertical Pod Autoscaler - チェシャ猫の消滅定理 https://ccvanishing.hateblo.jp/entry/2018/10/02/203205 VPA は admission webhook で Pod Object を直接書き換える ","date":1587913423,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587913423,"objectID":"821284eb9e8063ccb4f2b45b5d4681f9","permalink":"https://d-kuro.github.io/diaries/202004/20200427/","publishdate":"2020-04-26T15:03:43Z","relpermalink":"/diaries/202004/20200427/","section":"diaries","summary":"Note Go で構造の一部が動的に変わる JSON を扱いたい - Naomichi Agata - Medium https://medium.com/@agatan/go-%E3%81%A7%E6%A7%8B%E9%80%A0%E3%81%AE%E4%B8%80%E9%83%A8%E3%81%8C%E5%8B%95%E7%9A%84%E3%81%AB%E5%A4%89%E3%82%8F%E3%82%8B-json-%E3%82%92%E6%89%B1%E3%81%84%E3%81%9F%E3%81%84-cb99efc04193 json.RawMessage, 知ら","tags":null,"title":"2020-04-27","type":"diaries"},{"authors":null,"categories":null,"content":"Note kubernetes/cluster/addons/dns/nodelocaldns at v1.18.2 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/tree/v1.18.2/cluster/addons/dns/nodelocaldns Node Local DNS の公式ドキュメント Racy conntrack and DNS lookup timeouts https://www.weave.works/blog/racy-conntrack-and-dns-lookup-timeouts conntrack の race で DNS lookup がタイムアウトする話 iptablesの基本的な使い方 - Qiita https://qiita.com/dtanimoto00/items/1d0a9b02867add646ea5 iptables なんもわからん ","date":1587827027,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587827027,"objectID":"391fe9be0914f949ce3b9819e6b17e20","permalink":"https://d-kuro.github.io/diaries/202004/20200426/","publishdate":"2020-04-25T15:03:47Z","relpermalink":"/diaries/202004/20200426/","section":"diaries","summary":"Note kubernetes/cluster/addons/dns/nodelocaldns at v1.18.2 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/tree/v1.18.2/cluster/addons/dns/nodelocaldns Node Local DNS の公式ドキュメント Racy conntrack and DNS lookup timeouts https://www.weave.works/blog/racy-conntrack-and-dns-lookup-timeouts conntrack の race で","tags":null,"title":"2020-04-26","type":"diaries"},{"authors":null,"categories":null,"content":"Note Knative Cookbook | Red Hat Developer https://developers.redhat.com/books/knative-cookbook/ https://twitter.com/openshift/status/1253678741961805824 タダ本 How to monitor OPA Gatekeeper with Prometheus metrics | Sysdig https://sysdig.com/blog/monitor-gatekeeper-prometheus/ https://twitter.com/superbrothers/status/1253500810136182784 Gatekeeper の Prometheus metrics, 死ぬと Pod が作れなくなって大変なので監視が重要らしい K8sアプリのE2Eテストを無料でCIする。GitHub ActionsとKindで - ダルツ海峡冬景色 https://livingalone.hatenablog.com/entry/2020/04/25/110000 GitHub Actions と Kind で, 便利そう Release v1.6.1 Release · aws/amazon-vpc-cni-k8s https://github.com/aws/amazon-vpc-cni-k8s/releases/tag/v1.6.1 https://twitter.com/track3jyo/status/1253920562398687232 AWS の CNI プラグインがリリース ","date":1587740626,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587740626,"objectID":"d654c705fa911efc8d4b460a7d011222","permalink":"https://d-kuro.github.io/diaries/202004/20200425/","publishdate":"2020-04-24T15:03:46Z","relpermalink":"/diaries/202004/20200425/","section":"diaries","summary":"Note Knative Cookbook | Red Hat Developer https://developers.redhat.com/books/knative-cookbook/ https://twitter.com/openshift/status/1253678741961805824 タダ本 How to monitor OPA Gatekeeper with Prometheus metrics | Sysdig https://sysdig.com/blog/monitor-gatekeeper-prometheus/ https://twitter.com/superbrothers/status/1253500810136182784 Gatekeeper の Prometheus metrics, 死ぬ","tags":null,"title":"2020-04-25","type":"diaries"},{"authors":null,"categories":null,"content":"Note Amazon EKS によるスマホゲームのバックエンド運用事例 https://www.slideshare.net/greetech/amazon-eks-232483785 AWS API のスロットリング, 確かに Kubernetes Security for Microservices - Speaker Deck https://speakerdeck.com/rung/kubernetes-security-for-microservices セキュリティ, ちゃんとしたい Kubernetes Cluster Autoscaler Deep Dive - Speaker Deck https://speakerdeck.com/zuiurs/kubernetes-cluster-autoscaler-deep-dive log 読む前に ConfigMap を見る癖をつけようと思った ","date":1587654239,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587654239,"objectID":"582dfea2d1c1690685d0758581c1514c","permalink":"https://d-kuro.github.io/diaries/202004/20200424/","publishdate":"2020-04-23T15:03:59Z","relpermalink":"/diaries/202004/20200424/","section":"diaries","summary":"Note Amazon EKS によるスマホゲームのバックエンド運用事例 https://www.slideshare.net/greetech/amazon-eks-232483785 AWS API のスロッ","tags":null,"title":"2020-04-24","type":"diaries"},{"authors":null,"categories":null,"content":"Note Cluster API v1alpha3 Delivers New Features and an Improved User Experience - Kubernetes https://kubernetes.io/blog/2020/04/21/cluster-api-v1alpha3-delivers-new-features-and-an-improved-user-experience/ Cluster API, 使ってみたいけど機会がない Everything you need to know about Kubernetes Services networking | Project Calico https://www.projectcalico.org/everything-you-need-to-know-about-kubernetes-services-networking/ 動画, みたい Release v1.25.0 · golangci/golangci-lint https://github.com/golangci/golangci-lint/releases/tag/v1.25.0 リリースされた ","date":1587567852,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587567852,"objectID":"46ff2222592b1ded747b948ae5a1237b","permalink":"https://d-kuro.github.io/diaries/202004/20200423/","publishdate":"2020-04-22T15:04:12Z","relpermalink":"/diaries/202004/20200423/","section":"diaries","summary":"Note Cluster API v1alpha3 Delivers New Features and an Improved User Experience - Kubernetes https://kubernetes.io/blog/2020/04/21/cluster-api-v1alpha3-delivers-new-features-and-an-improved-user-experience/ Cluster API, 使ってみたいけど機会がない","tags":null,"title":"2020-04-23","type":"diaries"},{"authors":null,"categories":null,"content":"Note 90 days of AWS EKS in Production - kubedex.com https://kubedex.com/90-days-of-aws-eks-in-production/ EKS 運用するときに気をつけること kube-reserved と system-reserved カーネルパラメータ (conntrack とか) resolv.conf FQDN, host の末尾に . をつける CoreDNS のスケール Reserve Compute Resources for System Daemons - Kubernetes https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ Node Capacity --------------------------- | kube-reserved | |-------------------------| | system-reserved | |-------------------------| | eviction-threshold | |-------------------------| | | | allocatable | | (available for pods) | | | | | --------------------------- ","date":1587481434,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587481434,"objectID":"ea1b3fc3e40c6e808ff95eeb1a7d7604","permalink":"https://d-kuro.github.io/diaries/202004/20200422/","publishdate":"2020-04-21T15:03:54Z","relpermalink":"/diaries/202004/20200422/","section":"diaries","summary":"Note 90 days of AWS EKS in Production - kubedex.com https://kubedex.com/90-days-of-aws-eks-in-production/ EKS 運用するときに気をつけること kube-reserved と system-reserved カ","tags":null,"title":"2020-04-22","type":"diaries"},{"authors":null,"categories":null,"content":"Note kubernetes-incubator / cluster-proportional-autoscaler:Kubernetes Cluster Proportional Autoscaler Container https://github.com/kubernetes-incubator/cluster-proportional-autoscaler/ Node に比例して Scale させる autoscaler coresPerReplica と nodesPerReplica で制御させる DNS intermittent delays of 5s · Issue #56903 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/issues/56903 CoreDNS の timeout について Using NodeLocal DNSCache in Kubernetes clusters - Kubernetes https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/ node local dns cache, v1.15 から使えるらしい ","date":1587395028,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587395028,"objectID":"c7b94528f814e80ab3a5c60f2b9e053a","permalink":"https://d-kuro.github.io/diaries/202004/20200421/","publishdate":"2020-04-20T15:03:48Z","relpermalink":"/diaries/202004/20200421/","section":"diaries","summary":"Note kubernetes-incubator / cluster-proportional-autosc","tags":null,"title":"2020-04-21","type":"diaries"},{"authors":null,"categories":null,"content":"Note nginx の名前解決について - Qiita https://qiita.com/toshihirock/items/1c711a7e9f054605323f Nginx, デフォルトだと TTL 無視するので再起動するまで更新されない Liveness Probes are Dangerous | SRCco.de https://srcco.de/posts/kubernetes-liveness-probes-are-dangerous.html livenessProbe は危険という話, 外部依存したヘルスチェックもやめよう scopelintはもうだめだ - Qiita https://qiita.com/kyoh86/items/8f14d171dbe08f22ec1e とにかくループ変数に対するすべてのポインター参照を抹殺したいなら looppointer 多少見つけそこなっても良いからfalse-positiveはクソだ、と思うなら exportloopref に分離した DragonflyのCDN機能を使って効率的なイメージダウンロードを実現する – repl.info https://repl.info/archives/2902/ P2P で image 配信できるやつ periodSecondsの値が初回のProbe実行タイミングに影響を与える件 - gashirar\u0026rsquo;s blog https://gashirar.hatenablog.com/entry/2020/04/20/162955 initialDelaySeconds があっても periodSeconds 実行タイミングに影響を与える話 ","date":1587308632,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587308632,"objectID":"baf7d976b44f223b20f48ae83ba0eff7","permalink":"https://d-kuro.github.io/diaries/202004/20200420/","publishdate":"2020-04-19T15:03:52Z","relpermalink":"/diaries/202004/20200420/","section":"diaries","summary":"Note nginx の名前解決について - Qiita https://qiita.com/toshihirock/items/1c711a7e9f054605323f Nginx, デフォルトだと TTL 無視するので再","tags":null,"title":"2020-04-20","type":"diaries"},{"authors":null,"categories":null,"content":"Note GoでHTTP Clientのテストを書く - Qiita http.Client.Transport を差し替える方法, interface でモックするよりこっちのがよさそう https://qiita.com/sawadashota/items/47d8e990f27372d4c4c8 type RoundTripFunc func(req *http.Request) *http.Response func (f RoundTripFunc) RoundTrip(req *http.Request) (*http.Response, error) { return f(req), nil } func NewTestClient(fn RoundTripFunc) *http.Client { return \u0026amp;http.Client{ Transport: RoundTripFunc(fn), } } Go http.RoundTripper 実装ガイド - Qiita https://qiita.com/tutuming/items/6006e1d8cf94bc40f8e8 ","date":1587222211,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587222211,"objectID":"2cd96c94a1d41d7fcdfb36372b372b9a","permalink":"https://d-kuro.github.io/diaries/202004/20200419/","publishdate":"2020-04-18T15:03:31Z","relpermalink":"/diaries/202004/20200419/","section":"diaries","summary":"Note GoでHTTP Clientのテストを書く - Qiita http.Client.Transport を差し替える","tags":null,"title":"2020-04-19","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes Resource Report https://twitter.com/try_except_/status/1252004328551972864 https://github.com/hjacobs/kube-resource-report/releases/tag/20.4.3 CPU/Memory の推奨値とか出せるらしい \u0026ldquo;unable to get disk metrics\u0026rdquo; when deployed to kubernetes · Issue #1961 · DataDog/datadog-agent https://github.com/DataDog/datadog-agent/issues/1961 datadog agent で unable to get disk metrics の warn メッセージが出ていたときに Helm chart なら以下 datadog: apiKey: ... appKey: .... confd: disk.yaml: |- init_config: instances: - use_mount: false excluded_filesystems: - autofs - /proc/sys/fs/binfmt_misc - /host/proc/sys/fs/binfmt_misc ","date":1587135863,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587135863,"objectID":"5e5aa2632a5510149ff71445f9a4d0f1","permalink":"https://d-kuro.github.io/diaries/202004/20200418/","publishdate":"2020-04-17T15:04:23Z","relpermalink":"/diaries/202004/20200418/","section":"diaries","summary":"Note Kubernetes Resource Report https://twitter.com/try_except_/status/1252004328551972864 https://github.com/hjacobs/kube-resource-report/releases/tag/20.4.3 CPU/Memory の推奨値とか出せるらしい \u0026ldquo;unable to get disk metrics\u0026rdquo; when deployed to kubernetes · Issue","tags":null,"title":"2020-04-18","type":"diaries"},{"authors":null,"categories":null,"content":"Note K8s 1.18でalphaになったServiceAccountIssuerDiscoveryについて - Qiita https://qiita.com/hiyosi/items/43ddb0ff9b83070d95a8 OIDC Discovery と JWKs のエンドポイントを提供するやつ The Go Playground https://play.golang.org/ 新しくなって template とかが増えた, gVisor ベースになったらしい Kubernetes Node Local DNS Cache - Povilas Versockas https://povilasv.me/kubernetes-node-local-dns-cache/ node local dns cache deep dive ","date":1587049439,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1587049439,"objectID":"183e90933e33ac1449eb7f4e14972c1f","permalink":"https://d-kuro.github.io/diaries/202004/20200417/","publishdate":"2020-04-16T15:03:59Z","relpermalink":"/diaries/202004/20200417/","section":"diaries","summary":"Note K8s 1.18でalphaになったServiceAccount","tags":null,"title":"2020-04-17","type":"diaries"},{"authors":null,"categories":null,"content":"Note Pod Lifecycle Event Generator: Understanding the \u0026ldquo;PLEG is not healthy\u0026rdquo; issue in Kubernetes - Red Hat Developer https://developers.redhat.com/blog/2019/11/13/pod-lifecycle-event-generator-understanding-the-pleg-is-not-healthy-issue-in-kubernetes/ PLEG is not healthy, 遭遇したことがない コンテナの状態を監視するやつっぽい community/pod-lifecycle-event-generator.md at master · kubernetes/community https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/pod-lifecycle-event-generator.md こう言われれば見覚えのあるやつ type PodLifeCycleEventType string const ( ContainerStarted PodLifeCycleEventType = \u0026quot;ContainerStarted\u0026quot; ContainerStopped PodLifeCycleEventType = \u0026quot;ContainerStopped\u0026quot; NetworkSetupCompleted PodLifeCycleEventType = \u0026quot;NetworkSetupCompleted\u0026quot; NetworkFailed PodLifeCycleEventType = \u0026quot;NetworkFailed\u0026quot; ) // PodLifecycleEvent is an event reflects the change of the pod state. type PodLifecycleEvent struct { // The pod ID. ID types.UID // The type of the event. Type PodLifeCycleEventType // The accompanied data which varies based on the event type. Data interface{} } ","date":1586963048,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586963048,"objectID":"113966224e00da7e08825018594836b0","permalink":"https://d-kuro.github.io/diaries/202004/20200416/","publishdate":"2020-04-15T15:04:08Z","relpermalink":"/diaries/202004/20200416/","section":"diaries","summary":"Note Pod Lifecycle Event Generator: Understanding the \u0026ldquo;PLEG is not healthy\u0026rdquo; issue in Kubernetes - Red Hat Developer https://developers.redhat.com/blog/2019/11/13/pod-lifecycle-event-generator-understanding-the-pleg-is-not-healthy-issue-in-kubernetes/ PLEG is not healthy, 遭遇したことが","tags":null,"title":"2020-04-16","type":"diaries"},{"authors":null,"categories":null,"content":"Note How Thanos Would Program in Go | @bwplotka https://www.bwplotka.dev/2020/how-thanos-would-program-in-go/ Thanos での Go のコーディングガイド, 結構いいこと書いてある defer の error を確認する response の close interface を狭くする ログメッセージの書き方 などなど An example of using dynamic client of k8s.io/client-go - Blog of @ymmt2005 https://ymmt2005.hatenablog.com/entry/2020/04/14/An_example_of_using_dynamic_client_of_k8s.io/client-go client-go で Server Side Apply する話 k8s.io/client-go/dynamic を使うらしい ","date":1586876665,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586876665,"objectID":"c16a3672d30ee7581364faae0116125d","permalink":"https://d-kuro.github.io/diaries/202004/20200415/","publishdate":"2020-04-14T15:04:25Z","relpermalink":"/diaries/202004/20200415/","section":"diaries","summary":"Note How Thanos Would Program in Go | @bwplotka https://www.bwplotka.dev/2020/how-thanos-would-program-in-go/ Thanos での Go のコーディングガイド, 結構いいこ","tags":null,"title":"2020-04-15","type":"diaries"},{"authors":null,"categories":null,"content":"Note KubernetesのCPU Managerの解説記事を見て勉強しよう - TechLunch https://techlunch.hatenablog.com/entry/2018/07/26/072436 Pod に CPU のコアを専有させたりできるやつ Control CPU Management Policies on the Node - Kubernetes https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ --cpu-manager-policy=static cpumanager: kubelet won\u0026rsquo;t start with static policy when using minikube · Issue #70161 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/issues/70161 --cpu-manager-policy=static にするときは --kube-reserved と --system-reserved が必須という Issue 第21章 ノードリソースの割り当て OpenShift Container Platform 3.9 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/openshift_container_platform/3.9/html/cluster_administration/admin-guide-allocating-node-resources --kube-reserved と --system-reserved の話 ","date":1586790234,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586790234,"objectID":"d08443de2bf28bb92a786a45b139ec22","permalink":"https://d-kuro.github.io/diaries/202004/20200414/","publishdate":"2020-04-13T15:03:54Z","relpermalink":"/diaries/202004/20200414/","section":"diaries","summary":"Note KubernetesのCPU Managerの解説記事を見て","tags":null,"title":"2020-04-14","type":"diaries"},{"authors":null,"categories":null,"content":"Note Argo CVEs https://www.soluble.ai/blog/argo-cves-2020 Argo argocd-server Pod Name Default Admin Password (CVE-2020-8828) この仕様が CVE になってたの笑ってしまった v1.15 で SSO のみのログインに変更できるらしい https://github.com/argoproj/argo-cd/releases/tag/v1.5.0 cobra の v1, リリースされた https://github.com/spf13/cobra/releases/tag/v1.0.0 ","date":1586703848,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586703848,"objectID":"2f8e6c54f13f33ef700f6b477a9c671b","permalink":"https://d-kuro.github.io/diaries/202004/20200413/","publishdate":"2020-04-12T15:04:08Z","relpermalink":"/diaries/202004/20200413/","section":"diaries","summary":"Note Argo CVEs https://www.soluble.ai/blog/argo-cves-2020 Argo argocd-server Pod Name Default Admin Password (CVE-2020-8828) この仕様が CVE になってたの笑ってしまっ","tags":null,"title":"2020-04-13","type":"diaries"},{"authors":null,"categories":null,"content":"Note Big Sky :: Go 言語の非同期パターン https://mattn.kaoriya.net/software/lang/go/20180531104907.htm Rob Pike 先生のセッションで紹介されたパターンの解説, 複数まとまっていて便利 Big Sky :: golang の channel を使ったテクニックあれこれ https://mattn.kaoriya.net/software/lang/go/20160706165757.htm pauling, queueing, worker how logrotate works - Speaker Deck https://speakerdeck.com/tokuhirom/how-logrotate-works SIGUSR1 Limiting the number of gRPC requests using grpc-go interceptor https://medium.com/@tomiokasyogo/limiting-the-number-of-grpc-requests-using-grpc-go-interceptor-19ee50122e07 gRPC の interceptor で ratelimit するやつ kubesec.io :: kubesec.io https://kubesec.io/ Kubernetes の manifest のチェックリストとツール ","date":1586617437,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586617437,"objectID":"b6d034d8a00e25dc89abab8e38a1ecab","permalink":"https://d-kuro.github.io/diaries/202004/20200412/","publishdate":"2020-04-11T15:03:57Z","relpermalink":"/diaries/202004/20200412/","section":"diaries","summary":"Note Big Sky :: Go 言語の非同期パターン https://mattn.kaoriya.net/software/lang/go/20180531104907.htm Rob Pike 先生のセッションで紹介さ","tags":null,"title":"2020-04-12","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes 1.18: 変更点まとめ - Qiita https://qiita.com/watawuwu/items/521d1364b71b863b406c Zlab のまとめ, いつもお世話になってます Kubernetes 1.18: SIG-API Machineryの変更内容 - Qiita https://qiita.com/Ladicle/items/bbe2a62aba85d083283d Serverside Apply と Ingress での path の match をカスタマイズできるようになった Kubernetes 1.18: SIG APPS の変更内容 - Qiita https://qiita.com/inajob/items/176edcf843eb16905497 apps/v1beta1, apps/v1beta2 が死んだっぽい Kubernetes 1.18: SIG-CLI の変更内容 - Qiita https://qiita.com/superbrothers/items/eef275853b0c2d14e95c debug コマンドの追加 Kubernetes 1.18: SIG-Network の変更内容 - Qiita https://qiita.com/tkusumi/items/e72e255363f6deee3e9b Node Local DNS が GA Kubernetes 1.18 SIG-Node変更点調査 - Qiita https://qiita.com/uesyn/items/ff4330952573e172594d Kubernetes 1.18: SIG Scheduling の変更内容 - Qiita https://qiita.com/kkohtaka/items/3c11d87ff45b5ca09292 Kubernetes 1.18: SIG Storageの変更内容 - Qiita https://qiita.com/ysakashita/items/1afaef2b6a7e6e2303da Kubernetes 1.18: SIG-Auth の変更内容 - Qiita https://qiita.com/hiyosi/items/c95e430916c1755cffaf Kubernetes 1.18: Metrics Changes と SIG Instrumentation の変更内容 - Qiita https://qiita.com/watawuwu/items/3e85738e5647feec4d8c Kubernetes 1.18: SIG Cluster Lifecycle の変更内容 - Qiita https://qiita.com/yuanying/items/cc8f100b97fb8f076973 ","date":1586531054,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586531054,"objectID":"8fbb5c1521ef9e9c7e7639d987768e14","permalink":"https://d-kuro.github.io/diaries/202004/20200411/","publishdate":"2020-04-10T15:04:14Z","relpermalink":"/diaries/202004/20200411/","section":"diaries","summary":"Note Kubernetes 1.18: 変更点まとめ - Qiita https://qiita.com/watawuwu/items/521d1364b71b863b406c Zlab のまとめ, いつもお世話になってます","tags":null,"title":"2020-04-11","type":"diaries"},{"authors":null,"categories":null,"content":"Note Multicluster-Scheduler \u0026amp; Argo Workflows Across Kubernetes Clusters https://itnext.io/multicluster-scheduler-argo-workflows-across-kubernetes-clusters-ea98016499ca Multicluster, すごい Tekton Beta Available Now! Looking for Tekton Task Catalog contributors, beta testers, and more! - CD Foundation https://cd.foundation/blog/2020/04/09/tekton-beta-available-now/ Tekton が beta になったらしい TOC Welcomes Argo into the CNCF Incubator - Cloud Native Computing Foundation https://www.cncf.io/blog/2020/04/07/toc-welcomes-argo-into-the-cncf-incubator/ Argo が CNCF Incbator に加入した, おめでとう API Priority and Fairness Alpha - Kubernetes https://kubernetes.io/blog/2020/04/06/kubernetes-1-18-feature-api-priority-and-fairness-alpha/ API Server への DoS とかを防ぐために, user とか細かい単位での同時実行制御するのかな, あんまりわかってない ","date":1586444635,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586444635,"objectID":"f15dc35d2b97e703007383a2c4ea0bb9","permalink":"https://d-kuro.github.io/diaries/202004/20200410/","publishdate":"2020-04-09T15:03:55Z","relpermalink":"/diaries/202004/20200410/","section":"diaries","summary":"Note Multicluster-Scheduler \u0026amp; Argo Workflows Across Kubernetes Clusters https://itnext.io/multicluster-scheduler-argo-workflows-across-kubernetes-clusters-ea98016499ca Multicluster, すごい Tekton Beta Available Now! Looking for Tekton Task Catalog contributors, beta testers, and more! - CD Foundation","tags":null,"title":"2020-04-10","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go 1.14.2 and 1.13.10 are released! https://twitter.com/golang/status/1248018480479096833 リリースされた PR -\u0026gt; Draft PR の Convert ができるようになったらしい https://twitter.com/github/status/1247981718453334019 dockerネットワーキングとか、kubernetesネットワーキングとか | fukabori.fm https://fukabori.fm/episode/11 聞きたい Envoy の v1.14.0 がリリースされた https://github.com/envoyproxy/envoy/releases/tag/v1.14.0 ","date":1586358210,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586358210,"objectID":"9a3b6d6d6c4739f52120bc8f96bfa32b","permalink":"https://d-kuro.github.io/diaries/202004/20200409/","publishdate":"2020-04-08T15:03:30Z","relpermalink":"/diaries/202004/20200409/","section":"diaries","summary":"Note Go 1.14.2 and 1.13.10 are released! https://twitter.com/golang/status/1248018480479096833 リリースされた PR -\u0026gt; Draft PR の Convert ができるようになっ","tags":null,"title":"2020-04-09","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes上でサーバレス環境を実現する「KEDA」がCNCFのプロジェクトに採用。サーバレスの標準化は進むか - Publickey https://www.publickey1.jp/blog/20/kuberneteskedacncf.html Knative が Google の持ち物なのでもっとオープンなやつとして出てきた, みたいなやつかな HashiCorpがCNCFに加盟。KubernetesなどCNCFプロジェクトと同社製品との統合を強めていくと - Publickey https://www.publickey1.jp/blog/20/hashicorpcncfkubernetescncf.html kubectl の読み方は \u0026ldquo;きゅーぶこんとろーる\u0026rdquo; が公式という話 https://github.com/kubernetes/kubernetes/blob/v1.19.0-alpha.1/CHANGELOG/CHANGELOG-1.9.md Go Modules 依存パッケージを一括アップデートする - Qiita https://qiita.com/oke-py/items/4178b0a9c6dd51d94b27 go get -u all らしい, マジか Add support for context.Context by burdiyan · Pull Request #893 · spf13/cobra https://github.com/spf13/cobra/pull/893 cobra に ExecuteContext が生えてた, うれしい ","date":1586310272,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586310272,"objectID":"5a89781c2463ab45f696f5925b61cf04","permalink":"https://d-kuro.github.io/diaries/202004/20200408/","publishdate":"2020-04-08T01:44:32Z","relpermalink":"/diaries/202004/20200408/","section":"diaries","summary":"Note Kubernetes上でサーバレス環境を実現する「KEDA","tags":null,"title":"2020-04-08","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes Forum Tokyo | Linux Foundation Events https://events.linuxfoundation.org/kubernetes-forum-tokyo/ またなんかきた Kubernetes Forum は CNCF / Linux Foundation が主催, Kubernetes Community Days はコミュニティが主催という感じらしい https://twitter.com/superbrothers/status/1247347019032584193 Lens | The Kubernetes IDE https://k8slens.dev/ いい感じに GUI で触れるやつ, 便利っぽいけどどっちかというと manifest 書くためだけの IDE がほしい Release v1.5.1 · argoproj/argo-cd https://github.com/argoproj/argo-cd/releases/tag/v1.5.1 リリースされた Kubectl diff applies changes in 1.18.0 · Issue #852 · kubernetes/kubectl https://github.com/kubernetes/kubectl/issues/852 v1.18 の kubectl diff で apply が走るというやべーバグ, dry-run でも同じ現象が起こった Week Ending April 5, 2020 | Last Week in Kubernetes Development http://lwkd.info/2020/20200406 ","date":1586185424,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586185424,"objectID":"650149efd49c6a24ff4890f31ba959e2","permalink":"https://d-kuro.github.io/diaries/202004/20200407/","publishdate":"2020-04-06T15:03:44Z","relpermalink":"/diaries/202004/20200407/","section":"diaries","summary":"Note Kubernetes Forum Tokyo | Linux Foundation Events https://events.linuxfoundation.org/kubernetes-forum-tokyo/ またなんかきた Kubernetes Forum は CNCF / Linux Foundation が主催, Kubernetes Community Days","tags":null,"title":"2020-04-07","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go の testing.T と testing.B に TempDir が追加されたらしい https://twitter.com/mattn_jp/status/1246801704634306563 https://github.com/golang/go/commit/888a0c8ef6afb752aafd147eda40d62796d87cb3 便利 Is Google Cloud Run really Knative? https://ahmet.im/blog/cloud-run-is-a-knative/ 同じ API をサポートしている (一部はつかえない) という話 Kubernetes 1.18: clientgofix を使って client-go の新しいインタフェイスに移行する | text․superbrothers․dev https://text.superbrothers.dev/200406-trying-to-use-clientgofix/ https://github.com/kubernetes-sigs/clientgofix clientgofix, 便利 ","date":1586099019,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586099019,"objectID":"22721a1085462d5aa95b622d0195520a","permalink":"https://d-kuro.github.io/diaries/202004/20200406/","publishdate":"2020-04-05T15:03:39Z","relpermalink":"/diaries/202004/20200406/","section":"diaries","summary":"Note Go の testing.T と testing.B に TempDir が追加されたらしい https://twitter.com/mattn_jp/status/1246801704634306563 https://github.com/golang/go/commit/888a0c8ef6afb752aafd147eda40d62796d87cb3 便利 Is Google Cloud Run really Knative? https://ahmet.im/blog/cloud-run-is-a-knative/ 同じ","tags":null,"title":"2020-04-06","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kustomize | Kpt https://googlecontainertools.github.io/kpt/guides/ecosystem/kustomize/ https://twitter.com/deeeet/status/1246635727405764608 結局 kpt よくわからん人になってる Release v1.5.0 · argoproj/argo-cd https://github.com/argoproj/argo-cd/releases/tag/v1.5.0 リリースされた aca/go-kubectx: 5x-10x faster alternative to kubectx. Uses client-go. https://github.com/aca/go-kubectx https://twitter.com/learnk8s/status/1246709240112316418 Go で書き直された kubectx, 速いらしいけどそんな困ってないというのがある ","date":1586012600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1586012600,"objectID":"88f9dfcb1c59245ffe121776cac86bd6","permalink":"https://d-kuro.github.io/diaries/202004/20200405/","publishdate":"2020-04-04T15:03:20Z","relpermalink":"/diaries/202004/20200405/","section":"diaries","summary":"Note Kustomize | Kpt https://googlecontainertools.github.io/kpt/guides/ecosystem/kustomize/ https://twitter.com/deeeet/status/1246635727405764608 結局 kpt よくわからん人になってる Release v1.5.0 · argoproj/argo-cd https://github.com/argoproj/argo-cd/releases/tag/v1.5.0 リリース","tags":null,"title":"2020-04-05","type":"diaries"},{"authors":null,"categories":null,"content":"Note Argo CD v1.5 Generally Available! - Argo Project https://blog.argoproj.io/argo-cd-v1-5-generally-available-a16b9a2347ba リリースされた, パフォーマンスの向上と Helm 3 サポートが目玉かな How to detect outdated Kubernetes APIs | Opensource.com https://opensource.com/article/20/3/deprek8 Conftest で deprecated API を検知するやつ Evaluating Predictive Autoscaling in Kubernetes – Jamie Thompson – Computer Science student https://jamiethompson.me/posts/Evaluating-Predictive-Autoscaling-Kubernetes/ 統計情報で Pod をスケールさせるやつ, Predictive Horizontal Pod Autoscaler Home - Custom Pod Autoscaler https://custom-pod-autoscaler.readthedocs.io/en/latest/ Custom Pod Autoscaler Framework なんてあるのか Build a Kubernetes Operator in 10 minutes with Operator SDK | Opensource.com https://opensource.com/article/20/3/kubernetes-operator-sdk Operator SDK を使って 10 分で Operator を作るやつ Conftest で CI 時に Rego で記述したテストを行う - @amsy810\u0026rsquo;s Blog https://amsy810.hateblo.jp/entry/2020/04/03/124913 Rego, なんもわからん Kubernetes 1.18 で kubectl alpha debug を使って Pod をデバッグする - Qiita https://qiita.com/ryysud/items/abf0f0590a66d1b3d426 On-demand Golang binaries https://cto.ai/blog/on-demand-go-binaries/ Go で作ったツールを curl で一発でインストールできるようにする OSS Attack matrix for Kubernetes https://www.microsoft.com/security/blog/2020/04/02/attack-matrix-kubernetes/ セキュリティ周りがまとまってる ","date":1585926265,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585926265,"objectID":"09dc681520fbb9abb2fabd2fb453a456","permalink":"https://d-kuro.github.io/diaries/202004/20200404/","publishdate":"2020-04-03T15:04:25Z","relpermalink":"/diaries/202004/20200404/","section":"diaries","summary":"Note Argo CD v1.5 Generally Available! - Argo Project https://blog.argoproj.io/argo-cd-v1-5-generally-available-a16b9a2347ba リリースされた, パフォーマンスの向上と Helm","tags":null,"title":"2020-04-04","type":"diaries"},{"authors":null,"categories":null,"content":"Note DNS Lookups in Kubernetes - Karan Sharma https://mrkaran.dev/posts/ndots-kubernetes/ ndots の話 Shadow mirroring with Envoy https://blog.markvincze.com/shadow-mirroring-with-envoy/ Envoy の traffic mirroring の話, レスポンスは破棄するらしい Reducing Istio proxy resource consumption with outbound traffic restrictions · Banzai Cloud https://banzaicloud.com/blog/istio-sidecar/ Sidecar というカスタムリソースがあるらしい, 1.5 で istiod 担った際に 50 から 25 ぐらいにカスタムリソースが減ったらしい Understand the Design of ContainerRuntime - morito ikeda - Medium https://medium.com/@ikeda.morito/understand-the-design-of-containerruntime-eb79161545ef コンテナランタイムの話, スライドがわかりやすい Kubernetes Forum@ソウル開催。複数のK8sを統合するFederation APIに注目 | Think IT(シンクイット) https://thinkit.co.jp/article/17426 ","date":1585839865,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585839865,"objectID":"3b09e0a5c993fbcd1a598d8c2d48cdcf","permalink":"https://d-kuro.github.io/diaries/202004/20200403/","publishdate":"2020-04-02T15:04:25Z","relpermalink":"/diaries/202004/20200403/","section":"diaries","summary":"Note DNS Lookups in Kubernetes - Karan Sharma https://mrkaran.dev/posts/ndots-kubernetes/ ndots の話 Shadow mirroring with Envoy https://blog.markvincze.com/shadow-mirroring-with-envoy/ Envoy の traffic mirroring の話, レスポンスは","tags":null,"title":"2020-04-03","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes 1.18 Feature Server-side Apply Beta 2 - Kubernetes https://kubernetes.io/blog/2020/04/01/kubernetes-1.18-feature-server-side-apply-beta-2/ Server-side Apply いい感じに使えるようになってほしい Kubernetes Topology Manager Moves to Beta - Align Up! - Kubernetes https://kubernetes.io/blog/2020/04/01/kubernetes-1-18-feature-topoloy-manager-beta/ 思ったより低レイヤの話で何もわからん…… Improvements to the Ingress API in Kubernetes 1.18 - Kubernetes https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/ IngressClass って Object ができたらしい, Ingress ごとにどの controller を使うか指定させるための Object かな proposal: Go 2: universal zero value with type inference · Issue #35966 · golang/go https://github.com/golang/go/issues/35966 ","date":1585753464,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585753464,"objectID":"d7fd81c3b498119196862703a6a923b0","permalink":"https://d-kuro.github.io/diaries/202004/20200402/","publishdate":"2020-04-01T15:04:24Z","relpermalink":"/diaries/202004/20200402/","section":"diaries","summary":"Note Kubernetes 1.18 Feature Server-side Apply Beta 2 - Kubernetes https://kubernetes.io/blog/2020/04/01/kubernetes-1.18-feature-server-side-apply-beta-2/ Server-side Apply いい感じに使えるようになってほしい","tags":null,"title":"2020-04-02","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kpt: Packaging up your Kubernetes configuration with git and YAML since 2014 | Google Open Source Blog https://opensource.googleblog.com/2020/03/kpt-packaging-up-your-kubernetes.html Google 製の manifest 管理ツールらしい, なんか YAML を触らなくてよくなるのかな Amazon EKS ワーカーノードの謎を解くクラスターネットワーク | Amazon Web Services ブログ https://aws.amazon.com/jp/blogs/news/de-mystifying-cluster-networking-for-amazon-eks-worker-nodes/ 第37回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[1]:LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社 https://gihyo.jp/admin/serial/01/linux_containers/0037 完全に理解したい人生だった DataDog/watermarkpodautoscaler: Custom controller that extends the Horizontal Pod Autoscaler https://github.com/DataDog/watermarkpodautoscaler https://github.com/helm/charts/pull/21641 Datadog が内部で使ってるっぽい HPA を拡張するやつ ","date":1585667071,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585667071,"objectID":"feb665c332054e22b62ce3d166bc20fe","permalink":"https://d-kuro.github.io/diaries/202004/20200401/","publishdate":"2020-03-31T15:04:31Z","relpermalink":"/diaries/202004/20200401/","section":"diaries","summary":"Note Kpt: Packaging up your Kubernetes configuration with git and YAML since 2014 | Google Open Source Blog https://opensource.googleblog.com/2020/03/kpt-packaging-up-your-kubernetes.html Google 製の manifest 管理ツールらし","tags":null,"title":"2020-04-01","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes 1.18: SIG-CLI の変更内容 - Qiita https://qiita.com/superbrothers/items/eef275853b0c2d14e95c プラグインじゃなくて kubectl alpha debug が正式に入ったっぽい The current adoption status of cgroup v2 in containers https://medium.com/nttlabs/cgroup-v2-596d035be4d7 https://twitter.com/SSSSSSSHHHHHH4/status/1244903697655586817 add KEP for cgroups v2 support by giuseppe · Pull Request #1370 · kubernetes/enhancements https://github.com/kubernetes/enhancements/pull/1370 eBPF が使われるとかなんとか 【公開版】レッドハットコンテナ市場調査2020 http://redhat.lookbookhq.com/container_survey2020 ","date":1585580671,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585580671,"objectID":"ba65465097d9c8eb7a3870e4ef99c3a2","permalink":"https://d-kuro.github.io/diaries/202003/20200331/","publishdate":"2020-03-30T15:04:31Z","relpermalink":"/diaries/202003/20200331/","section":"diaries","summary":"Note Kubernetes 1.18: SIG-CLI の変更内容 - Qiita https://qiita.com/superbrothers/items/eef275853b0c2d14e95c プラグインじゃなくて kubectl alpha debug が正式に入","tags":null,"title":"2020-03-31","type":"diaries"},{"authors":null,"categories":null,"content":"Note BPF Performance Toolsを読んだ感想 - go_vargoのブログ https://go-vargo.hatenablog.com/entry/2020/03/29/210304 この辺のレイヤ理解していきたいんだけども腰が重い問題 Kubernetesでユーザを作成する(X509 Client Certs編) - Qiita https://qiita.com/knqyf263/items/aefb0ff139cfb6519e27 User is 何者ってよくなるやつ EKSにおけるAutoScalingパターン https://esakat.github.io/esakat-blog/posts/eks-advent-calender-2020/ AWS のメトリクスでスケールさせるやつ, 遅延が気になる Sidecar container lifecycle changes in Kubernetes 1.18 · Banzai Cloud https://banzaicloud.com/blog/k8s-sidecars/ Sidecar の起動終了順制御する機能, 結局 v1.18 に入らなかった Go で %v じゃなくて %s を明示的に使う必要はあるのかみたいな話 https://twitter.com/apstndb/status/1244599256666669057 https://github.com/golang/go/blob/master/src/fmt/print.go#L441-L460 OpenTelemetry is Officially in Beta! - OpenTelemetry - Medium https://medium.com/opentelemetry/opentelemetry-is-officially-in-beta-352fa859db10 OpenTelemetry が beta になったっぽい Kubernetes ログを読んで理解する kube-proxy の仕組み - SIerだけど技術やりたいブログ https://www.kimullaa.com/entry/2020/03/09/085655 理解したい, わかる Week Ending March 29, 2020 | Last Week in Kubernetes Development http://lwkd.info/2020/20200330 cgroups v2 の対応, 気になる proposal: context: add WithCancelSignal function · Issue #37255 · golang/go https://github.com/golang/go/issues/37255 https://twitter.com/mattn_jp/status/1244855894430461952 context を signal からキャンセルできる仕組みが入りそうという Issue ","date":1585494249,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585494249,"objectID":"cdc24ad2aac4525eb718a37a95440f74","permalink":"https://d-kuro.github.io/diaries/202003/20200330/","publishdate":"2020-03-29T15:04:09Z","relpermalink":"/diaries/202003/20200330/","section":"diaries","summary":"Note BPF Performance Toolsを読んだ感想 - go_vargoのブログ https://go-vargo.hatenablog.com/entry/2020/03/29/210304 この","tags":null,"title":"2020-03-30","type":"diaries"},{"authors":null,"categories":null,"content":"Note Bootstrap a kubernetes cluster with ArgoCD and Istio https://nemo83.dev/posts/argocd-istio-operator-bootstrap/ Sync Waves で依存の順番制御ができてるのかな, 便利 Goでサーバを立ち上げてE2Eテストを実施するCI用のテストコードを書く - My External Storage https://budougumi0617.github.io/2020/03/27/http-test-in-go/ httptest.NewServer じゃだめなんだっけという気持ちになった Linux bcc/BPF tcplife: TCP Lifespans http://www.brendangregg.com/blog/2016-11-30/linux-bcc-tcplife.html https://twitter.com/go_vargo/status/1243522849731563521 通信が来てないか一覧で見るときに便利らしい Docker/Kubernetes で PID 1 問題を回避する | text․superbrothers․dev https://text.superbrothers.dev/200328-how-to-avoid-pid-1-problem-in-kubernetes/ Share Process Namespace を使う, なるほど ","date":1585407856,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585407856,"objectID":"0fb01cfda6d3a07f267e13b169c52a48","permalink":"https://d-kuro.github.io/diaries/202003/20200329/","publishdate":"2020-03-28T15:04:16Z","relpermalink":"/diaries/202003/20200329/","section":"diaries","summary":"Note Bootstrap a kubernetes cluster with ArgoCD and Istio https://nemo83.dev/posts/argocd-istio-operator-bootstrap/ Sync Waves で依存の順番制御ができてるのかな, 便","tags":null,"title":"2020-03-29","type":"diaries"},{"authors":null,"categories":null,"content":"Note Call for proposals (CFP) | Kubernetes Community Days https://kubernetescommunitydays.org/events/2020-tokyo/cfp/ CPF, 出したいけどネタを整備しなきゃいかん Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社 https://techracho.bpsinc.jp/hachi8833/2017_12_28/50109 設定記述言語 CUE で YAML Hell に立ち向かえ #k8sjp / Kubernetes Meetup Tokyo 29th - Speaker Deck https://speakerdeck.com/ytaka23/kubernetes-meetup-tokyo-29th スペックは良さそうだけど流行らんやろという気持ちがある Go Modules でインターネット上のレポジトリにはないローカルパッケージを import する方法 - Qiita https://qiita.com/hnishi/items/a9217249d7832ed2c035 replace, 便利 ","date":1585321477,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585321477,"objectID":"6ed065b8a979482c68f1a91698458f99","permalink":"https://d-kuro.github.io/diaries/202003/20200328/","publishdate":"2020-03-27T15:04:37Z","relpermalink":"/diaries/202003/20200328/","section":"diaries","summary":"Note Call for proposals (CFP) | Kubernetes Community Days https://kubernetescommunitydays.org/events/2020-tokyo/cfp/ CPF, 出したいけどネタを整備しなきゃいかん Ruby:","tags":null,"title":"2020-03-28","type":"diaries"},{"authors":null,"categories":null,"content":"Note Envoy Proxy - Circuit Breaking https://www.envoyproxy.io/learn/circuit-breaking Envoy の Circuit Breaker, Rate limit じゃん Envoy Proxy - Healthy Hosts in Envoy https://www.envoyproxy.io/learn/health-check 5xx が N 件来たらみたいなのはこっちらしい Eliminate error handling by eliminating errors | Dave Cheney https://dave.cheney.net/2019/01/27/eliminate-error-handling-by-eliminating-errors Go の error handling について, 名ブログ Rust についてのメモ https://exoskeleton.dev/proglang/rust/ ","date":1585235059,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585235059,"objectID":"8d82c31b6fc0151b0af337920f43f633","permalink":"https://d-kuro.github.io/diaries/202003/20200327/","publishdate":"2020-03-26T15:04:19Z","relpermalink":"/diaries/202003/20200327/","section":"diaries","summary":"Note Envoy Proxy - Circuit Breaking https://www.envoyproxy.io/learn/circuit-breaking Envoy の Circuit Breaker, Rate limit じゃん Envoy Proxy - Healthy Hosts in Envoy https://www.envoyproxy.io/learn/health-check 5xx が N 件来た","tags":null,"title":"2020-03-27","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes クラスタの移行から学んだクラスタのポータビリティの重要性と条件 | Wantedly Engineer Blog https://www.wantedly.com/companies/wantedly/post_articles/222009 アルゴリズムビジュアル大事典 https://yutaka-watanobe.github.io/star-aida/books/ すごい Kubernetes 1.18: Fit \u0026amp; Finish - Kubernetes https://kubernetes.io/blog/2020/03/25/kubernetes-1-18-release-announcement/ リリースされた ","date":1585148655,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585148655,"objectID":"6f04707b65401835c4dbae9de1e82b6d","permalink":"https://d-kuro.github.io/diaries/202003/20200326/","publishdate":"2020-03-25T15:04:15Z","relpermalink":"/diaries/202003/20200326/","section":"diaries","summary":"Note Kubernetes クラスタの移行から学んだクラスタのポータビリティの重要性","tags":null,"title":"2020-03-26","type":"diaries"},{"authors":null,"categories":null,"content":"Note pod(Kubernetes)のlifecycle.prestopの挙動 - 1クール続けるブログ https://44smkn.hatenadiary.com/entry/2018/08/01/022312 Dockerfile に apt, apt-get, source コマンドを書く時のTips | cloud.config Tech Blog https://tech-blog.cloud-config.jp/2019-09-09-dockerfile-apt-apt-get-source-tips/ 便利, テンプレとして覚えたい RUN apt update \\ \u0026amp;\u0026amp; apt install -y --no-install-recommends \\ cowsay \\ nyancat \\ \u0026amp;\u0026amp; apt -y clean \\ \u0026amp;\u0026amp; rm -rf /var/lib/apt/lists/* Adopting Istio for a multi-tenant Kubernetes cluster in Production https://medium.com/mercari-engineering/adopting-istio-for-a-multi-tenant-kubernetes-cluster-in-production-df1a8260ca24 Envoy の preStop, 参考になった lifecycle: preStop: exec: command: [\u0026quot;/bin/sh\u0026quot;, \u0026quot;-c\u0026quot;, \u0026quot;while [ $(netstat -plunt | grep tcp | grep -v envoy | wc -l | xargs) -ne 0 ]; do sleep 1; done\u0026quot;] Envoy shutting down before the thing it\u0026rsquo;s wrapping can cause failed requests · Issue #7136 · istio/istio https://github.com/istio/istio/issues/7136 上の preStop の元ネタっぽい ","date":1585062266,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585062266,"objectID":"6b257dae4918efcd1b7d2153054d8f14","permalink":"https://d-kuro.github.io/diaries/202003/20200325/","publishdate":"2020-03-24T15:04:26Z","relpermalink":"/diaries/202003/20200325/","section":"diaries","summary":"Note pod(Kubernetes)のlifecycle.pre","tags":null,"title":"2020-03-25","type":"diaries"},{"authors":null,"categories":null,"content":"Note Alpine Linux入門 -内部構造とapkでパッケージインストール編- · tehepero note(・ω\u0026lt;) 2.0 https://blog.stormcat.io/post/entry/alpine-entry-apk/ apk, 存在を忘れがち Kubernetes Watch Pod Events with api - Stack Overflow Watch API を叩きたいとき, kubectl proxy を使うと楽という話 kubectl proxy curl -s http://127.0.0.1:8001/api/v1/watch/events kubectl が API 叩くときどうやって APIVersion 決めているかのコード https://github.com/kubernetes/kubectl/blob/v0.18.0/pkg/cmd/create/create_deployment.go#L131 https://twitter.com/tomiokasyogo/status/1242091895708254209 決め打ちっぽい Release v1.1.6 · kubernetes-sigs/aws-alb-ingress-controller https://github.com/kubernetes-sigs/aws-alb-ingress-controller/releases/tag/v1.1.6 ALB Ingress のリリース, readiness gate 対応したらしい ","date":1584975849,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584975849,"objectID":"c27186e182ea9b5dbea9b5d7836e1793","permalink":"https://d-kuro.github.io/diaries/202003/20200324/","publishdate":"2020-03-23T15:04:09Z","relpermalink":"/diaries/202003/20200324/","section":"diaries","summary":"Note Alpine Linux入門 -内部構造とapkでパッケージインストール","tags":null,"title":"2020-03-24","type":"diaries"},{"authors":null,"categories":null,"content":"Note What’s new in Kubernetes 1.18? | Sysdig https://sysdig.com/blog/whats-new-kubernetes-1-18/ いつもの sysdig のまとめ, ありがたい What’s new in Kubernetes 1.18? | LinkedIn https://www.linkedin.com/pulse/whats-new-kubernetes-118-takao-shimizu/ 翻訳版 Delaying Shutdown to Wait for Pod Deletion Propagation https://blog.gruntwork.io/delaying-shutdown-to-wait-for-pod-deletion-propagation-445f779a8304 preStop で sleep するやつ 5 ~ 10 秒ぐらいがいいよというやつ ","date":1584889448,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584889448,"objectID":"b24724cc2e383d6de3a9cb1f79f98067","permalink":"https://d-kuro.github.io/diaries/202003/20200323/","publishdate":"2020-03-22T15:04:08Z","relpermalink":"/diaries/202003/20200323/","section":"diaries","summary":"Note What’s new in Kubernetes 1.18? | Sysdig https://sysdig.com/blog/whats-new-kubernetes-1-18/ いつもの sysdig のまとめ, ありがたい W","tags":null,"title":"2020-03-23","type":"diaries"},{"authors":null,"categories":null,"content":"Note DeepL翻訳 https://www.deepl.com/ja/translator いい感じの翻訳, みらい翻訳より使いやすい Monitor cloud and external endpoints with Datadog DNS resolution | Datadog https://www.datadoghq.com/ja/blog/dns-resolution-datadog/ どっからどこにつながってるのかを DNS で見れるようになった sigs.k8s.io/yaml を使おうねという話 https://github.com/kubernetes/apimachinery/issues/67 Discord Status - Server Outages and Increased API Errors https://status.discordapp.com/incidents/62gt9cgjwdgf Discord の障害について, Go の net package が仕様に反しているとかなんとか ","date":1584803047,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584803047,"objectID":"80503b51a5e873b1ae6db5c907fb201e","permalink":"https://d-kuro.github.io/diaries/202003/20200322/","publishdate":"2020-03-21T15:04:07Z","relpermalink":"/diaries/202003/20200322/","section":"diaries","summary":"Note DeepL翻訳 https://www.deepl.com/ja/translator いい感じの翻訳, みらい翻訳より使いやすい Monitor","tags":null,"title":"2020-03-22","type":"diaries"},{"authors":null,"categories":null,"content":"Note Your own Kubernetes controller - Developing in Java https://blog.frankel.ch/your-own-kubernetes-controller/2/ Java で Controller を書く話 実装して理解するスライス #golang - tenntenn.dev https://tenntenn.dev/ja/posts/qiita-5229bce80ddb688a708a/ slice の中の話 ","date":1584716642,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584716642,"objectID":"1ac79fd7a508483ba717e60cbf7f302b","permalink":"https://d-kuro.github.io/diaries/202003/20200321/","publishdate":"2020-03-20T15:04:02Z","relpermalink":"/diaries/202003/20200321/","section":"diaries","summary":"Note Your own Kubernetes controller - Developing in Java https://blog.frankel.ch/your-own-kubernetes-controller/2/ Java で Controller を書く話 実装して理解するスライス #golang","tags":null,"title":"2020-03-21","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go 1.14.1 and 1.13.9 are released! https://twitter.com/golang/status/1240744527087972368 リリースされた Segment Routingを用いたKubernetes Podネットワーキングの実装 | CyberAgent Developers Blog https://developers.cyberagent.co.jp/blog/archives/25394/ こういうのを見るとプライベートクラウド作ってる人たちつよいってなる ","date":1584630250,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584630250,"objectID":"60ebcdccf92c04d30244dd84d4ff8557","permalink":"https://d-kuro.github.io/diaries/202003/20200320/","publishdate":"2020-03-19T15:04:10Z","relpermalink":"/diaries/202003/20200320/","section":"diaries","summary":"Note Go 1.14.1 and 1.13.9 are released! https://twitter.com/golang/status/1240744527087972368 リリースされた Segment Routingを用いたKub","tags":null,"title":"2020-03-20","type":"diaries"},{"authors":null,"categories":null,"content":"Note amelbakry/kube-schedule-scaler: Kubernetes Controller which provides schedule scaling to Kubernetes deployments and other custom resources in the cluster https://github.com/amelbakry/kube-schedule-scaler lilic/kube-start-stop: Schedule Scaling of Kubernetes Resources https://github.com/LiliC/kube-start-stop Scheduled scaling するやつら Join SIG Scalability and Learn Kubernetes the Hard Way - Kubernetes https://kubernetes.io/blog/2020/03/19/join-sig-scalability/ SIG Scalability, 大変そう ","date":1584543856,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584543856,"objectID":"8674dc03c8da3030698ec813844d86cf","permalink":"https://d-kuro.github.io/diaries/202003/20200319/","publishdate":"2020-03-18T15:04:16Z","relpermalink":"/diaries/202003/20200319/","section":"diaries","summary":"Note amelbakry/kube-schedule-scaler: Kubernetes Controller which provides schedule scaling to Kubernetes deployments and other custom resources in the cluster https://github.com/amelbakry/kube-schedule-scaler lilic/kube-start-stop: Schedule Scaling of Kubernetes Resources https://github.com/LiliC/kube-start-stop Scheduled scaling する","tags":null,"title":"2020-03-19","type":"diaries"},{"authors":null,"categories":null,"content":"Note GitHub Mobile, GA した https://github.com/mobile/ What makes a good Operator? – Red Hat OpenShift Blog https://blog.openshift.com/what-makes-a-good-operator/ 良い Operator とは ","date":1584457539,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584457539,"objectID":"ac4db727a9e278ada816125fc6bbc111","permalink":"https://d-kuro.github.io/diaries/202003/20200318/","publishdate":"2020-03-17T15:05:39Z","relpermalink":"/diaries/202003/20200318/","section":"diaries","summary":"Note GitHub Mobile, GA した https://github.com/mobile/ What makes a good Operator? – Red Hat OpenShift Blog https://blog.openshift.com/what-makes-a-good-operator/ 良い Operator とは","tags":null,"title":"2020-03-18","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go言語 - 日時のフォーマット処理 - 覚えたら書く https://blog.y-yuki.net/entry/2017/05/25/000000 逆引きGolang (日付と時刻) https://ashitani.jp/golangtips/tips_time.html#time_IncDec time.Timeから日付だけを取り出す - Qiita https://qiita.com/umisama/items/b50df4888665fc36346e Truncate メソッドを使う Goのtimeパッケージチートシート - Qiita https://qiita.com/wMETAw/items/2c3120d1338c646ecfba 経過日数の計算 - アルゴリズムとデータ構造 | ++C++; // 未確認飛行 C https://ufcpp.net/study/algorithm/o_days.html?sec=month#month ツェラーの公式, 知らなかった 可用性と信頼性 — クラウドのためどのように変えるか — Part 2, キーコンセプト - google-cloud-jp - Medium https://medium.com/google-cloud-jp/%E5%8F%AF%E7%94%A8%E6%80%A7%E3%81%A8%E4%BF%A1%E9%A0%BC%E6%80%A7-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AE%E3%81%9F%E3%82%81%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%A4%89%E3%81%88%E3%82%8B%E3%81%8B-part-2-%E3%82%AD%E3%83%BC%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88-4b3bfc5c974c Release it! 2nd Edition, 読みたい 「プログラミング言語Go完全入門」の期間限定公開のお知らせ - Mercari Engineering Blog https://tech.mercari.com/entry/2020/03/17/120137 いい話 ","date":1584371153,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584371153,"objectID":"d53806176689a014f428df83f4a338d6","permalink":"https://d-kuro.github.io/diaries/202003/20200317/","publishdate":"2020-03-16T15:05:53Z","relpermalink":"/diaries/202003/20200317/","section":"diaries","summary":"Note Go言語 - 日時のフォーマット処理 - 覚えたら書く https://blog.y-yuki.net/entry/2017/05/25/000000 逆引きGo","tags":null,"title":"2020-03-17","type":"diaries"},{"authors":null,"categories":null,"content":"Note kustomize の configMapGenerator の env field が envs になってた https://github.com/kubernetes-sigs/kustomize/blob/5b774d09e10d6b80c7b2cd6e280443c040a0ecb9/api/types/kvpairsources.go#L30 https://kubectl.docs.kubernetes.io/pages/reference/kustomize.html#configmapgenerator いつ変更されたのかはわからん deprecated にはなってたらしい https://github.com/kubernetes-sigs/kustomize/blob/v3.3.1/pkg/types/generatorargs.go#L52 Go 1.14の主なregression https://gist.github.com/itchyny/e74dd400e3e2b7f0ada1cc0f729a9b4b opencensus-integrations/ocsql: OpenCensus SQL database driver wrapper for Go https://github.com/opencensus-integrations/ocsql 便利っぽい ","date":1584284735,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584284735,"objectID":"a083a9e9f3700fc7a3e60629895ed348","permalink":"https://d-kuro.github.io/diaries/202003/20200316/","publishdate":"2020-03-15T15:05:35Z","relpermalink":"/diaries/202003/20200316/","section":"diaries","summary":"Note kustomize の configMapGenerator の env field が envs になってた https://github.com/kubernetes-sigs/kustomize/blob/5b774d09e10d6b80c7b2cd6e280443c040a0ecb9/api/types/kvpairsources.go#L30 https://kubectl.docs.kubernetes.io/pages/reference/kustomize.html#configmapgenerator いつ変更されたのかはわからん","tags":null,"title":"2020-03-16","type":"diaries"},{"authors":null,"categories":null,"content":"Note Envoy threading model - Envoy Proxy https://blog.envoyproxy.io/envoy-threading-model-a8d44b922310 Envoy のスレッドモデルの話, ちゃんと読んでない Building an Effective Test Pipeline in a Service Oriented World https://medium.com/airbnb-engineering/building-an-effective-test-pipeline-in-a-service-oriented-world-6968c513c6bd Airbnb の話, 単体サービスのテストが9割、E2Eテスト1割くらいに変えたらしい Kustomize でマニフェストのフィールドを削除する | text․superbrothers․dev https://text.superbrothers.dev/200315-delete-field-with-kustomize/ 便利 Google Cloud Anthos Day - Kubernetes を使った最新の開発アプローチを学ぶ https://inthecloud.withgoogle.com/anthos-day-2001/register.html 動画公開された KubernetesにおけるCI/CD実践の勘所まとめ | Goldstine研究所 https://blog.mosuke.tech/entry/2020/03/04/kubernetes-ci-cd/ ","date":1584198334,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584198334,"objectID":"70b8607b43a0d67c749c2c21b13f0d47","permalink":"https://d-kuro.github.io/diaries/202003/20200315/","publishdate":"2020-03-14T15:05:34Z","relpermalink":"/diaries/202003/20200315/","section":"diaries","summary":"Note Envoy threading model - Envoy Proxy https://blog.envoyproxy.io/envoy-threading-model-a8d44b922310 Envoy のスレッドモデルの話, ちゃんと読んでない Building","tags":null,"title":"2020-03-15","type":"diaries"},{"authors":null,"categories":null,"content":"Note Goの標準ライブラリのコードリーディングのすすめ | Future Tech Blog - フューチャーアーキテクト https://future-architect.github.io/articles/20200310/ 良さそう CNCF Hub https://hub.cncf.io/ Helm chart が簡単に探せる ","date":1584111959,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584111959,"objectID":"3936c5e5def6fd05e007d923ed777d8e","permalink":"https://d-kuro.github.io/diaries/202003/20200314/","publishdate":"2020-03-13T15:05:59Z","relpermalink":"/diaries/202003/20200314/","section":"diaries","summary":"Note Goの標準ライブラリのコードリーディングのすすめ | Future Tech Blog -","tags":null,"title":"2020-03-14","type":"diaries"},{"authors":null,"categories":null,"content":"Note Immutable Secrets and ConfigMaps · Issue #1412 · kubernetes/enhancements https://github.com/kubernetes/enhancements/issues/1412 ConfigMap と Secrets, immutable にできるようになるらしい Bottlerocket with Fork, Clone, Run! - A Container Optimized OS with a GitOps model https://www.weave.works/blog/bottlerocket-with-fork-clone-run Bottlerocket OS で GitOps する話, TUF channel に更新があると勝手に OS を更新してくれる operator が使えるとかなんとか The Update Framework https://theupdateframework.io/ はじめてみた ","date":1584025539,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1584025539,"objectID":"7006299d6876f98336e89d534053268d","permalink":"https://d-kuro.github.io/diaries/202003/20200313/","publishdate":"2020-03-12T15:05:39Z","relpermalink":"/diaries/202003/20200313/","section":"diaries","summary":"Note Immutable Secrets and ConfigMaps · Issue #1412 · kubernetes/enhancements https://github.com/kubernetes/enhancements/issues/1412 ConfigMap と Secrets, immutable にできるようになるらしい Bottlerocket with Fork,","tags":null,"title":"2020-03-13","type":"diaries"},{"authors":null,"categories":null,"content":"Note Amazon EKS で Kubernetes バージョン 1.15 のサポートを開始 https://aws.amazon.com/jp/about-aws/whats-new/2020/03/amazon-eks-now-supports-kubernetes-version-1-15/ EKS v1.15 来たってよ, 遅い Istio 1.5 の Auto mTLS, 勝手に有効になってて基本何もしなくていいっぽい https://twitter.com/ido_kara_deru/status/1237737074536505344 マイクロサービスパターン[実践的システムデザインのためのコード解説] (impress top gear) Chris Richardson https://www.amazon.co.jp/dp/4295008583 https://twitter.com/crichardson/status/1237892325029769222 Microservices Patterns の翻訳, 読みたい ","date":1583939173,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583939173,"objectID":"2ffc2631523a815171fe395f179f832b","permalink":"https://d-kuro.github.io/diaries/202003/20200312/","publishdate":"2020-03-11T15:06:13Z","relpermalink":"/diaries/202003/20200312/","section":"diaries","summary":"Note Amazon EKS で Kubernetes バージョン 1.15 のサポートを開始 https://aws.amazon.com/jp/about-aws/whats-new/2020/03/amazon-eks-now-supports-kubernetes-version-1-15/ EKS v1.15 来たってよ, 遅い","tags":null,"title":"2020-03-12","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go のSSA表現形式のダンプとその解析 – Ren\u0026rsquo;s Blog https://ren.nosuke.me/blog/202002/20200227/ SSA のダンプ, やってみたいと思いつつよくわからんってなってた Hitachi/istio-bench: A benchmark tool for Istio. It measures CPU, Memory, Network usage of istio per number of pod https://github.com/Hitachi/istio-bench https://twitter.com/ido_kara_deru/status/1237299591273275392 Istio のベンチマークとるやつ, 日立 ワイがお世話になっているKubernetes関連のツール達 - 守りたい、この睡眠時間 https://tomioka-shogorila.hatenablog.com/entry/2020/03/10/230206 kubectx だけは無いと死んでしまう ","date":1583852742,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583852742,"objectID":"a215a69d32804076ed7a2aca73221c82","permalink":"https://d-kuro.github.io/diaries/202003/20200311/","publishdate":"2020-03-10T15:05:42Z","relpermalink":"/diaries/202003/20200311/","section":"diaries","summary":"Note Go のSSA表現形式のダンプとその解析 – Ren\u0026rsquo;s Blog https://ren.nosuke.me/blog/202002/20200227/ SSA のダンプ, や","tags":null,"title":"2020-03-11","type":"diaries"},{"authors":null,"categories":null,"content":"Note Deploy Flow at Wantedly - Speaker Deck https://speakerdeck.com/potsbo/deploy-flow-at-wantedly CI でデプロイまでやっている Dynamically overscaling a Kubernetes cluster with cluster-autoscaler and Pod Priority : Delivery Hero Tech - Blog about all things tech at Delivery Hero https://tech.deliveryhero.com/dynamically-overscaling-a-kubernetes-cluster-with-cluster-autoscaler-and-pod-priority/ Priority が -1 の Pod を置いとこうみたいな話 kubectl -o custom-columns, 便利そう https://twitter.com/kameneko1004/status/1237180219426893824 ","date":1583766343,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583766343,"objectID":"6519f9a693ec42c061b8ea0f5e4d57f3","permalink":"https://d-kuro.github.io/diaries/202003/20200310/","publishdate":"2020-03-09T15:05:43Z","relpermalink":"/diaries/202003/20200310/","section":"diaries","summary":"Note Deploy Flow at Wantedly - Speaker Deck https://speakerdeck.com/potsbo/deploy-flow-at-wantedly CI でデプロイまでやっている Dynamically overscaling a Kubernetes cluster with cluster-autoscaler and","tags":null,"title":"2020-03-10","type":"diaries"},{"authors":null,"categories":null,"content":"Note Kubernetes ログを読んで理解する kube-proxy の仕組み - SIerだけど技術やりたいブログ https://www.kimullaa.com/entry/2020/03/09/085655 kube-proxy 完全理解できる Let\u0026rsquo;s EncryptがはまったGolangの落とし穴 - ぼちぼち日記 https://jovi0608.hatenablog.com/entry/2020/03/09/094737 あるあるだ…… ","date":1583679948,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583679948,"objectID":"53b970643f668e8c46b3abac1138a0de","permalink":"https://d-kuro.github.io/diaries/202003/20200309/","publishdate":"2020-03-08T15:05:48Z","relpermalink":"/diaries/202003/20200309/","section":"diaries","summary":"Note Kubernetes ログを読んで理解する kube-proxy の仕組み - SIerだけど技術やりた","tags":null,"title":"2020-03-09","type":"diaries"},{"authors":null,"categories":null,"content":"Note Istio in Action, Istio 1.5 対応されるっぽい https://twitter.com/christianposta/status/1235920797161549824 Introducing Uber’s Open Source Principles | Uber Engineering Blog https://eng.uber.com/open-source-principles/ Uber の OSS ガイド ","date":1583593545,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583593545,"objectID":"8650c68c7aed3697341c411c0f901cee","permalink":"https://d-kuro.github.io/diaries/202003/20200308/","publishdate":"2020-03-07T15:05:45Z","relpermalink":"/diaries/202003/20200308/","section":"diaries","summary":"Note Istio in Action, Istio 1.5 対応されるっぽい https://twitter.com/christianposta/status/1235920797161549824 Introducing Uber’s Open Source Principles | Uber Engineering Blog https://eng.uber.com/open-source-principles/","tags":null,"title":"2020-03-08","type":"diaries"},{"authors":null,"categories":null,"content":"Note What is circuit breaking? | Learn Cloud Native | Cloud Native Workshops https://www.learncloudnative.com/blog/2020-02-28-circuit_breakers_in_istio_explained/ Istio の circuit braker の話 Bring your ideas to the world with kubectl plugins - Kubernetes https://kubernetes.io/blog/2020/02/28/bring-your-ideas-to-the-world-with-kubectl-plugins/ kubectl plugin について, 公式ブログ Specifying a Disruption Budget for your Application - Kubernetes https://kubernetes.io/docs/tasks/run-application/configure-pdb/ PDB のドキュメント maxUnavailable を 0 にすると drain ができないよという話, やらかした NEG とは何か - google-cloud-jp - Medium https://medium.com/google-cloud-jp/neg-%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B-cc1e2bbc979e Readiness Gate, わかるんだけど Pod の ready だけじゃなくて終了時にも使える何かはないんだろうか, sleep 伸ばすしか無いのか Docker コンテナ上で Go のプロジェクトを delve でデバッグするには ptrace の許可が必要 - Please Sleep http://please-sleep.cou929.nu/debug-go-project-with-delve-on-docker.html delve を使うには ptrace(2) が必要で capabilities で SYS_PTRACE を許可する必要があるという話 ","date":1583507131,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583507131,"objectID":"ecb5e72f28b81ba28ef1235d8332da2d","permalink":"https://d-kuro.github.io/diaries/202003/20200307/","publishdate":"2020-03-06T15:05:31Z","relpermalink":"/diaries/202003/20200307/","section":"diaries","summary":"Note What is circuit breaking? | Learn Cloud Native | Cloud Native Workshops https://www.learncloudnative.com/blog/2020-02-28-circuit_breakers_in_istio_explained/ Istio の circuit braker の話 Bring your ideas to the world with kubectl plugins -","tags":null,"title":"2020-03-07","type":"diaries"},{"authors":null,"categories":null,"content":"Note [Go] 省略記号(\u0026hellip;)を使った配列宣言の仕方 - My External Storage https://budougumi0617.github.io/2020/03/06/go-array-with-the-ellipsis/ range [...]string{\u0026quot;http:\u0026quot;, \u0026quot;https:\u0026quot;} いいなこれ DatadogがKubernetesで大規模クラスタを実現するまで https://www.infoq.com/jp/news/2020/03/kubernetes-hard-way-datadog/ control plane をサイジングする, なるほど Shopifyが独自に実装したKubernetesのオートスケーリングルール https://www.infoq.com/jp/news/2020/01/shopify-custom-autoscaler-k8s/ current utilization / target utilization * current replicas = desired replicas ","date":1583420728,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583420728,"objectID":"65d9b1c3e80eedb33db4c3fd5f44007a","permalink":"https://d-kuro.github.io/diaries/202003/20200306/","publishdate":"2020-03-05T15:05:28Z","relpermalink":"/diaries/202003/20200306/","section":"diaries","summary":"Note [Go] 省略記号(\u0026hellip;)を使った配列宣言の仕方 - My External","tags":null,"title":"2020-03-06","type":"diaries"},{"authors":null,"categories":null,"content":"Note 競プロ初心者日記 #0「競技プログラミング始めました」 - ニコニコ動画 https://www.nicovideo.jp/watch/sm35206504 ボイロ競プロ, そういうのもあるのか Istio / Istio in 2020 - Following the Trade Winds https://istio.io/blog/2020/tradewinds-2020/ Istio, 2020 年のロードマップ Fork, Clone, Run: A GitOps Model for Provisioning Multi-Machine HA Clusters with Rolling Upgrades https://www.weave.works/blog/fork-clone-run-a-gitops-model-for-provisioning-multi-machine-ha-clusters-with-rolling-upgrades Cluster を GitOps する話 ","date":1583334320,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583334320,"objectID":"e40882fd04a37384c29ab80ea6730de7","permalink":"https://d-kuro.github.io/diaries/202003/20200305/","publishdate":"2020-03-04T15:05:20Z","relpermalink":"/diaries/202003/20200305/","section":"diaries","summary":"Note 競プロ初心者日記 #0「競技プログラミング始めました」 - ニコ","tags":null,"title":"2020-03-05","type":"diaries"},{"authors":null,"categories":null,"content":"Note Go Modules, replace でディレクトリが登れた monorepo で便利そう ビルドは go.mod の root にいかないとできなさそう module app1 go 1.14 require ( lib v0.0.0 ) replace ( lib =\u0026gt; ../lib ) PodDisruptionBudget updates are forbidden · Issue #45398 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/issues/45398 PDB, immutable だった, v1.15 で fix GoとRustの言語比較記事を書くのが流行ってるらしい - The curse of λ https://myuon.github.io/posts/golang-and-rust/ Go, 好きだよ GKE の master, 有料化した https://twitter.com/maelvls/status/1235255969896173568 ","date":1583247926,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583247926,"objectID":"b1d78485820654227670747563c01e50","permalink":"https://d-kuro.github.io/diaries/202003/20200304/","publishdate":"2020-03-03T15:05:26Z","relpermalink":"/diaries/202003/20200304/","section":"diaries","summary":"Note Go Modules, replace でディレクトリが登れた monorepo で便利そう ビルドは go.mod の root にい","tags":null,"title":"2020-03-04","type":"diaries"},{"authors":null,"categories":null,"content":"Note systemd エッセンシャル http://redhat.lookbookhq.com/systemd-essential めっちゃボリュームあった 入門 シェル実装 https://www.slideshare.net/yusukesangenya/ss-135407412?ref= 良い資料, fork とか exec とか完全に理解した ","date":1583161527,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583161527,"objectID":"790db540c9261630f345ebf096ba8861","permalink":"https://d-kuro.github.io/diaries/202003/20200303/","publishdate":"2020-03-02T15:05:27Z","relpermalink":"/diaries/202003/20200303/","section":"diaries","summary":"Note systemd エッセンシャル http://redhat.lookbookhq.com/systemd-essential めっちゃボリュームあった 入門 シェル実装 https://www.slideshare.net/yusukesangenya/ss-135407412?ref=","tags":null,"title":"2020-03-03","type":"diaries"},{"authors":null,"categories":null,"content":"Note gashirar/kubectl-rtop-pod-plugin: extend kubectl top pod plugin. https://github.com/gashirar/kubectl-rtop-pod-plugin top pod で req/lim が見れるプラグイン gVisorのコード読んでみた - SWEet https://kk-river108.hatenablog.com/entry/2019/06/03/090035 システムコールを ptrace でフックしているという話 Bazelとモノレポ - mixi developers - Medium https://medium.com/mixi-developers/bazel%E3%81%A8%E3%83%A2%E3%83%8E%E3%83%AC%E3%83%9D-b901ffba61ce Bazel, どうなんだろうなあ How to Optimize I/O Intensive Containers on Kubernetes - NeuVector https://neuvector.com/container-security/optimize-i-o-intensive-containers/ めっちゃ CFS の話なんだけど理解できてない 分散システムの課題 https://aws.amazon.com/jp/builders-library/challenges-with-distributed-systems/ ぶんさんしすてむ, むつかしいね 1200人以上の全社員がリモートワーク。GitLabが公開する「リモートワークマニフェスト」は何を教えているか? - Publickey https://www.publickey1.jp/blog/20/120066gitlab.html GitLab すごい ","date":1583075109,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1583075109,"objectID":"3aab770e9899dd66872ab332e5d049cb","permalink":"https://d-kuro.github.io/diaries/202003/20200302/","publishdate":"2020-03-01T15:05:09Z","relpermalink":"/diaries/202003/20200302/","section":"diaries","summary":"Note gashirar/kubectl-rtop-pod-plugin: extend kubectl top pod plugin. https://github.com/gashirar/kubectl-rtop-pod-plugin top pod で req/lim が見れるプラグイン gVisorのコー","tags":null,"title":"2020-03-02","type":"diaries"},{"authors":null,"categories":null,"content":"Note 名前付き戻り値との正しい付き合い方 - Eureka Engineering - Medium https://medium.com/eureka-engineering/named-return-values-7f485d867df0 それでも私は名前付き戻り値が嫌いです Go 1.14でシステムコールがEINTRエラーを返すようになった - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2020/02/29/162727 Go で file の close は fysnc して defer の close の err は拾わないのが良さそうという話 https://twitter.com/ymmt2005/status/1233666926561259520 https://twitter.com/n_soda/status/1233674461141823488 私もこの宗派に入信します ","date":1582988720,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582988720,"objectID":"266bc441b228c2d4fbce0ebbb8948525","permalink":"https://d-kuro.github.io/diaries/202003/20200301/","publishdate":"2020-02-29T15:05:20Z","relpermalink":"/diaries/202003/20200301/","section":"diaries","summary":"Note 名前付き戻り値との正しい付き合い方 - Eureka Engineering - Medium https://medium.com/eureka-engineering/named-return-values-7f485d867df0 それでも私は","tags":null,"title":"2020-03-01","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note PostgreSQLで安全にテーブル定義を変更する - LCL Engineers' Blog https://techblog.lclco.com/entry/2018/01/24/070000 みててまじかーと思っていた, これみんなどう対策しているのか Argo CD の Go バージョン 1.14 にあげた https://github.com/argoproj/argo-cd/pull/3162 ","date":1582902330,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582902330,"objectID":"64d421a2b689f2ba71567ae4bf3897a0","permalink":"https://d-kuro.github.io/diaries/202002/20200229/","publishdate":"2020-02-28T15:05:30Z","relpermalink":"/diaries/202002/20200229/","section":"diaries","summary":"Diary None Note PostgreSQLで安全にテーブル定義を変更する - LCL","tags":null,"title":"2020-02-29","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I created Pull Reuqest for kubernets/kubernetes https://github.com/kubernetes/kubernetes/pull/88646 Note golangci-lint がリリースされた https://github.com/golangci/golangci-lint/releases/tag/v1.23.7 1.14 にあがった ","date":1582815940,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582815940,"objectID":"062f96b3091ad00da0e325e8fb651797","permalink":"https://d-kuro.github.io/diaries/202002/20200228/","publishdate":"2020-02-27T15:05:40Z","relpermalink":"/diaries/202002/20200228/","section":"diaries","summary":"Diary I created Pull Reuqest for kubernets/kubernetes https://github.com/kubernetes/kubernetes/pull/88646 Note golangci-lint がリリースされた https://github.com/golangci/golangci-lint/releases/tag/v1.23.7 1.14 にあがった","tags":null,"title":"2020-02-28","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note GitHub の suggestion, 複数行大丈夫になった https://twitter.com/natfriedman/status/1232727363626029056 最高 ","date":1582729507,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582729507,"objectID":"1b1d45d3bfbc2a2c21c67b944aec1181","permalink":"https://d-kuro.github.io/diaries/202002/20200227/","publishdate":"2020-02-26T15:05:07Z","relpermalink":"/diaries/202002/20200227/","section":"diaries","summary":"Diary None Note GitHub の suggestion, 複数行大丈夫になった https://twitter.com/natfriedman/status/1232727363626029056 最高","tags":null,"title":"2020-02-27","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Go 1.14 is released! https://twitter.com/golang/status/1232421783548067840 Go 1.14 で defer が速くなるのは 8 個まで - Qiita https://qiita.com/yaegashi/items/bbb88cefcaf313532ba6 まあそんな使わんやろというやつ ","date":1582643121,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582643121,"objectID":"d24356e54933071209242ff8e365d2c3","permalink":"https://d-kuro.github.io/diaries/202002/20200226/","publishdate":"2020-02-25T15:05:21Z","relpermalink":"/diaries/202002/20200226/","section":"diaries","summary":"Diary None Note Go 1.14 is released! https://twitter.com/golang/status/1232421783548067840 Go 1.14 で defer が速くなるのは 8 個まで - Qiita https://qiita.com/yaegashi/items/bbb88cefcaf313532ba6 まあそん","tags":null,"title":"2020-02-26","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note The Zen of Go | Dave Cheney https://dave.cheney.net/2020/02/23/the-zen-of-go プログラマが持つべき心構え (The Zen of Python) - Qiita これの Go 版 Go1.14 Release Party in Japan - YouTube https://www.youtube.com/watch?v=IWyDR08pUU4 やっぱり defer が目玉 ","date":1582556714,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582556714,"objectID":"1813e7518c39ebda44375e75861b80b8","permalink":"https://d-kuro.github.io/diaries/202002/20200225/","publishdate":"2020-02-24T15:05:14Z","relpermalink":"/diaries/202002/20200225/","section":"diaries","summary":"Diary None Note The Zen of Go | Dave Cheney https://dave.cheney.net/2020/02/23/the-zen-of-go プログラマが持つべき心構え (The Zen of Python) - Qiita","tags":null,"title":"2020-02-25","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Goモジュールでツールもバージョン管理する - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2020/02/24/171513 なるほど Kubernetes Controller for Pull Request Based Environment https://www.slideshare.net/VishalBanthia1/kubernetes-controller-for-pull-request-based-environment メルカリが作ってた ","date":1582470314,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582470314,"objectID":"b9de671e06c2e3fd433c00e0edac1311","permalink":"https://d-kuro.github.io/diaries/202002/20200224/","publishdate":"2020-02-23T15:05:14Z","relpermalink":"/diaries/202002/20200224/","section":"diaries","summary":"Diary None Note Goモジュールでツールもバージョン管理する - Plan 9とGo","tags":null,"title":"2020-02-24","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Container Linux から Fedora CoreOS への移行手順 https://docs.fedoraproject.org/en-US/fedora-coreos/migrate-cl/ Fedora CoreOS の気になったところ https://twitter.com/gosarami/status/1231395937970356224 しんどそう grep.app https://grep.app/ GitHub のコードを横断検索できる奴, くっそ早い ","date":1582383911,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582383911,"objectID":"27b4d59499f5945fb111d1d42e0bd742","permalink":"https://d-kuro.github.io/diaries/202002/20200223/","publishdate":"2020-02-22T15:05:11Z","relpermalink":"/diaries/202002/20200223/","section":"diaries","summary":"Diary None Note Container Linux から Fedora CoreOS への移行手順 https://docs.fedoraproject.org/en-US/fedora-coreos/migrate-cl/ Fedora CoreOS の気になったところ https://twitter.com/gosarami/status/1231395937970356224 しん","tags":null,"title":"2020-02-23","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Kubernetes PodのCapabilities https://pizi.netlify.com/posts/kubernetes-pod-capabilities/ Architecting Kubernetes clusters — how many should you have? https://learnk8s.io/how-many-clusters env/cluster で良くないという気持ち ","date":1582297511,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582297511,"objectID":"1572a83b71a6391458a1bda1133544dc","permalink":"https://d-kuro.github.io/diaries/202002/20200222/","publishdate":"2020-02-21T15:05:11Z","relpermalink":"/diaries/202002/20200222/","section":"diaries","summary":"Diary None Note Kubernetes PodのCapabilities https://pizi.netlify.com/posts/kubernetes-pod-capabilities/ Architecting Kubernetes clusters — how many should you have?","tags":null,"title":"2020-02-22","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note 実践入門 Kubernetesカスタムコントローラーへの道 (技術の泉シリーズ(NextPublishing)) 磯 賢大 https://twitter.com/go_vargo/status/1230861744488230920 読みたい Courses | Aizu Online Judge https://onlinejudge.u-aizu.ac.jp/courses/list アルゴリズムとか学べるやつ ","date":1582211105,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582211105,"objectID":"a5d0e6764951d9c134ec18041ce982a3","permalink":"https://d-kuro.github.io/diaries/202002/20200221/","publishdate":"2020-02-20T15:05:05Z","relpermalink":"/diaries/202002/20200221/","section":"diaries","summary":"Diary None Note 実践入門 Kubernetesカスタムコントローラーへの","tags":null,"title":"2020-02-21","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note GoのKubernetesオブジェクトをYAMLからDeserializeする - nownab.log https://blog.nownabe.com/2018/08/22/1382.html/ memo Efficient Node Out-of-Resource Management in Kubernetes https://medium.com/kubernetes-tutorials/efficient-node-out-of-resource-management-in-kubernetes-67f158da6e59 Eviction について Big Sky :: Go 言語の struct の実体を引数で(なるべく)渡せない様にするテクニック https://mattn.kaoriya.net/software/lang/go/20200221113026.htm ","date":1582124726,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582124726,"objectID":"08d6e29d575fe46ecc46e0e326daba3d","permalink":"https://d-kuro.github.io/diaries/202002/20200220/","publishdate":"2020-02-19T15:05:26Z","relpermalink":"/diaries/202002/20200220/","section":"diaries","summary":"Diary None Note GoのKubernetesオブジェクトをYAMLからD","tags":null,"title":"2020-02-20","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Testing in Go: Clean Tests Using t.Cleanup - Ilija Eftimov https://ieftimov.com/post/testing-in-go-clean-tests-using-t-cleanup/ Go 1.14 から, 便利 Spotifyの目指すHigh Alignment High Autonomy文化が面白い - Gaku Nakamura - Medium https://medium.com/@gakunakamura/spotify%E3%81%AE%E7%9B%AE%E6%8C%87%E3%81%99high-alignment-high-autonomy%E6%96%87%E5%8C%96%E3%81%8C%E9%9D%A2%E7%99%BD%E3%81%84-c84eb06aecae いい話 Kubernetesのエコシステム ー コンテナランタイム編 | To Be Decided https://www.kaitoy.xyz/2019/06/15/k8s-ecosystem-container-runtimes/ コンテナランタイムよくわからん Logging with request ID in Go microservice - X Li - Medium https://medium.com/@funfoolsuzi/logging-with-request-id-in-go-microservice-21485c6730da よく書くコード, 大体コピペ UNIXという考え方 The UNIX philosophy https://gist.github.com/koudaiii/82e4f8869705e5be065f 他人の読書メモ サイドカーコンテナを含む Kubernetes Job を完了させる - Qiita https://qiita.com/apstndb/items/bbace4c4d02f2f8183fd ハックだ ","date":1582038302,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1582038302,"objectID":"796cbfae55e8e7c3a8a7ac854c34cbb0","permalink":"https://d-kuro.github.io/diaries/202002/20200219/","publishdate":"2020-02-18T15:05:02Z","relpermalink":"/diaries/202002/20200219/","section":"diaries","summary":"Diary None Note Testing in Go: Clean Tests Using t.Cleanup - Ilija Eftimov https://ieftimov.com/post/testing-in-go-clean-tests-using-t-cleanup/ Go 1.14 から, 便利 Spotifyの目","tags":null,"title":"2020-02-19","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Note CPU limits and aggressive throttling in Kubernetes - Omio Engineering - Medium https://medium.com/omio-engineering/cpu-limits-and-aggressive-throttling-in-kubernetes-c5b20bd8a718 throttling について, CPU limit を消そう Kubernetes Failure Stories https://k8s.af/ CPU throttling のカテゴリがあった KubernetesのServiceControllerの実装 - bells17 - Medium https://medium.com/@bells17/implementing-kubernetes-servicecontroller-6ec6b37e63cd https://twitter.com/bells17_/status/1229743727838543877 ちゃんとよみたい Go が cgroups (CFS) 設定見てスレッド数自動で調整する Issue https://github.com/golang/go/issues/33803 https://twitter.com/ymmt2005/status/1229722672705093632 便利ほしい Illustrated Guide To Kubernetes Networking - Speaker Deck https://speakerdeck.com/thockin/illustrated-guide-to-kubernetes-networking Linuxカーネル Docker関連 namespaceのメモ – Rest Term https://rest-term.com/archives/3287/ ","date":1581951903,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581951903,"objectID":"743fd6376d900e82d0324a3208169a83","permalink":"https://d-kuro.github.io/diaries/202002/20200218/","publishdate":"2020-02-17T15:05:03Z","relpermalink":"/diaries/202002/20200218/","section":"diaries","summary":"Diary Note CPU limits and aggressive throttling in Kubernetes - Omio Engineering - Medium https://medium.com/omio-engineering/cpu-limits-and-aggressive-throttling-in-kubernetes-c5b20bd8a718 throttling について, CPU limit を消そう Kubernetes Failure Stories","tags":null,"title":"2020-02-18","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Go 1.14 リリースノート 日本語訳 - Qiita https://qiita.com/c-yan/items/3dd0c63ea4c3041728cc Kubernetes コントリビューションに役立ったカーネル技術 cgroupv2 解析編 - Qiita https://qiita.com/kentaost/items/1bab7b922947dbf49aaf なんもわからん 【Kubernetes】OperatorSDKにサクッと入門 - Qiita https://qiita.com/solt9029/items/12379d1c60001f69f356 kubebuilder とどっちがいいんだろうな Dockerコンテナが専用namespaceに属していることを確認する - まつざっきブログ https://blog-smatsuzaki.hatenablog.com/entry/2020/02/16/000517 Config Sync overview | Google Cloud https://cloud.google.com/kubernetes-engine/docs/add-on/config-sync/overview なんか GKE が GitOps ツールの提供をはじめてた Calico for Kubernetes networking: the basics \u0026amp; examples https://medium.com/flant-com/calico-for-kubernetes-networking-792b41e19d69 Calico わからん KubeWeekly #203 https://mailchi.mp/cncf/kubeweekly-1465455 ","date":1581865538,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581865538,"objectID":"f59e1681df40d901d031020df96bb32b","permalink":"https://d-kuro.github.io/diaries/202002/20200217/","publishdate":"2020-02-16T15:05:38Z","relpermalink":"/diaries/202002/20200217/","section":"diaries","summary":"Diary None Note Go 1.14 リリースノート 日本語訳 - Qiita https://qiita.com/c-yan/items/3dd0c63ea4c3041728cc Kubernetes コントリビューション","tags":null,"title":"2020-02-17","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Goのソースコードから読み解くオブジェクト指向プログラミング@Object-Oriented Conference 2020 - Speaker Deck https://speakerdeck.com/adsholoko/gofalsesosukodokaradu-mijie-kuobuziekutozhi-xiang-puroguramingu-at-object-oriented-conference-2020 コンテナはなぜ安全(または安全でない)なのか - sometimes I laugh https://sil.hatenablog.com/entry/why-container-is-secure コンテナの作り方、壊し方 / Container Structure and Exploitation Method - Speaker Deck https://speakerdeck.com/mrtc0/container-structure-and-exploitation-method ","date":1581779146,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581779146,"objectID":"2cfe70ef5d89f6edefb2d4977becc91c","permalink":"https://d-kuro.github.io/diaries/202002/20200216/","publishdate":"2020-02-15T15:05:46Z","relpermalink":"/diaries/202002/20200216/","section":"diaries","summary":"Diary None Note Goのソースコードから読み解くオブジェクト指向プログラ","tags":null,"title":"2020-02-16","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note マルチホストでのDocker Container間通信 第3回: Kubernetesのネットワーク(CNI, kube-proxy, kube-dns) - UZABASE Tech Blog https://tech.uzabase.com/entry/2017/09/12/164756 コンテナのネットワーク通信何もわからん Rob Pike のプログラミングの 5 つのルール https://twitter.com/gorilla0513/status/1228690834389753858 スワップの弁護:よくある誤解を解く https://chrisdown.name/ja/2018/01/02/in-defence-of-swap.html 大規模システムでの Linux のメモリ管理 https://chrisdown.name/ja/2019/07/18/linux-memory-management-at-scale.html ","date":1581692758,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581692758,"objectID":"e8e975ef1aceb086e6c10e60b3c24cad","permalink":"https://d-kuro.github.io/diaries/202002/20200215/","publishdate":"2020-02-14T15:05:58Z","relpermalink":"/diaries/202002/20200215/","section":"diaries","summary":"Diary None Note マルチホストでのDocker Container間通信 第","tags":null,"title":"2020-02-15","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note OpenShiftのResource requestとlimit - nekop\u0026rsquo;s blog https://nekop.hatenablog.com/entry/2017/12/20/182523 空いているCPUが他のPodに利用されていても、requests.cpuが指定されているPodがCPUを使おうとすればもちろんrequests.cpu分は優先してそちらに割り当てられるので、この空いているCPU利用は他のPodで確保されているCPU利用を阻害することはありません。 Understanding resource limits in kubernetes: cpu time https://medium.com/@betz.mark/understanding-resource-limits-in-kubernetes-cpu-time-9eff74d3161b 神ブログ Kubernetes best practices: Resource requests and limits | Google Cloud Blog https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-resource-requests-and-limits At this point, Kubernetes goes into something called an “overcommitted state.” Here is where things get interesting. Because CPU can be compressed, Kubernetes will make sure your containers get the CPU they requested and will throttle the rest. Memory cannot be compressed, so Kubernetes needs to start making decisions on what containers to terminate if the Node runs out of memory. CPU は requests 分必ず確保し残りはスロットリングさせるらしい, Memory は Eviction させるのかな Resource Quality of Service in Kubernetes https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/resource-qos.md#qos-classes ods will not be killed if CPU guarantees cannot be met (for example if system tasks or daemons take up lots of CPU), they will be temporarily throttled. cgroup の cpu.shares を検証した https://harasou.jp/2015/06/02/cgroup-cpu-cpushare/ ","date":1581606343,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581606343,"objectID":"040d3dc069db8a1441e280027101f147","permalink":"https://d-kuro.github.io/diaries/202002/20200214/","publishdate":"2020-02-13T15:05:43Z","relpermalink":"/diaries/202002/20200214/","section":"diaries","summary":"Diary None Note OpenShiftのResource requestとl","tags":null,"title":"2020-02-14","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note godaddy/kubernetes-external-secrets: Integrate external secret management systems with Kubernetes https://github.com/godaddy/kubernetes-external-secrets AWS Secrets Manager とかと統合できる Secret 管理 Operator Readiness Gate なんもわからんときに見るといいらしいセッション https://www.youtube.com/watch?v=Vw9GmSeomFg https://twitter.com/tomiokasyogo/status/1227618896489771009 Go 1.13.8 and 1.12.17 are released! https://twitter.com/golang/status/1227743780222197760 ","date":1581519951,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581519951,"objectID":"5940b9cb6e5c699d01a362fa0385ce3d","permalink":"https://d-kuro.github.io/diaries/202002/20200213/","publishdate":"2020-02-12T15:05:51Z","relpermalink":"/diaries/202002/20200213/","section":"diaries","summary":"Diary None Note godaddy/kubernetes-external-secrets: Integrate external secret management systems with Kubernetes https://github.com/godaddy/kubernetes-external-secrets AWS Secrets Manager とかと統合できる Secret 管理 Operator Readiness Gate な","tags":null,"title":"2020-02-13","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Kubernetesへの機能追加にかかわった話と、そこから得た知見 - Cybozu Inside Out | サイボウズエンジニアのブログ https://blog.cybozu.io/entry/2020/02/12/120224 KEP, ちゃんと watch したいけど以外に流速があって大変 Multi cluster monitoring with Thanos · Banzai Cloud https://banzaicloud.com/blog/multi-cluster-monitoring/ Thanos について TempDir と TmpFile の pattern 引数に * があるとランダムの文字列に置換されるようになるらしい https://tip.golang.org/pkg/io/ioutil/#TempDir https://twitter.com/gorilla0513/status/1227222413990977536 Learning Concurrent Reconciling http://openkruise.io/en-us/blog/blog2.html?utm_sq=gasnbigid2 https://twitter.com/learnk8s/status/1227155401604521984 図があってわかりやすい Reconcilation Loop の解説 Googleの東京オフィスの面接体験記 https://leetcode.com/discuss/interview-experience/505108/NDA-Google-or-L4L5-or-Japan-or-Feb-2020-Pending https://twitter.com/ronin_2020/status/1227368397924528129 ","date":1581433544,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581433544,"objectID":"c6d90fd0144e16bed7abee16eecc442d","permalink":"https://d-kuro.github.io/diaries/202002/20200212/","publishdate":"2020-02-11T15:05:44Z","relpermalink":"/diaries/202002/20200212/","section":"diaries","summary":"Diary None Note Kubernetesへの機能追加にかかわった話と、そこ","tags":null,"title":"2020-02-12","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note AWS CLI v2 is now generally available https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-is-now-generally-available/ Python, めんどくさい GKE+Istio+GitOpsで作る日経電子版の次世代マイクロサービス基盤 - Speaker Deck https://speakerdeck.com/ryysd/gke-plus-istio-plus-gitopsdezuo-ruri-jing-dian-zi-ban-falseci-shi-dai-maikurosabisuji-pan staging と production が共存してるっぽい ","date":1581347154,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581347154,"objectID":"347893b25f09d5ce8b95ae8050ad048b","permalink":"https://d-kuro.github.io/diaries/202002/20200211/","publishdate":"2020-02-10T15:05:54Z","relpermalink":"/diaries/202002/20200211/","section":"diaries","summary":"Diary None Note AWS CLI v2 is now generally available https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-is-now-generally-available/ Python, めんどくさい GKE+Istio+Gi","tags":null,"title":"2020-02-11","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Successful \u0026amp; Short Kubernetes Stories For DevOps Architects https://itnext.io/successful-short-kubernetes-stories-for-devops-architects-677f8bfed803 事例まとめ How It Works — kubectl exec - ITNEXT https://itnext.io/how-it-works-kubectl-exec-e31325daa910 kubectl exec の解説, コードの解説も ","date":1581260723,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581260723,"objectID":"c5478434d75eddeb2d2f201bb0987eaf","permalink":"https://d-kuro.github.io/diaries/202002/20200210/","publishdate":"2020-02-09T15:05:23Z","relpermalink":"/diaries/202002/20200210/","section":"diaries","summary":"Diary None Note Successful \u0026amp; Short Kubernetes Stories For DevOps Architects https://itnext.io/successful-short-kubernetes-stories-for-devops-architects-677f8bfed803 事例まとめ How It Works — kubectl exec - ITNEXT https://itnext.io/how-it-works-kubectl-exec-e31325daa910 kubectl exec の解","tags":null,"title":"2020-02-10","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Deep dive into sync.Pool - Speaker Deck https://speakerdeck.com/moricho/deep-dive-into-sync-dot-pool あんまり活用できて無いシリーズ Alibaba Container Platform Infrastructure - a Kubernetes Approach https://www.infoq.com/presentations/alibaba-kubernetes/ https://twitter.com/go_vargo/status/1225805526707003392 Alibaba の Kubernetes の使い方がすごらしい Go の命名規則 | micnncim https://micnncim.com/post/2019/12/11/go-naming-conventions/ パッケージ名を繰り返さないとかやろうとして何も名前が思いつかないってことがよくある Go の x/text/transform で独自構造パケットを華麗に処理する - Qiita https://qiita.com/castaneai/items/00eac8e5043e2d9d49c8 つかったことなかった Misadventures with Kube DNS https://blog.sophaskins.net/blog/misadventures-with-kube-dns/ dnsmasq 入れると resolv.conf に 127.0.0.1 が追加されてタイムアウトが発生していたやつ Load balancing and scaling long-lived connections in Kubernetes https://learnk8s.io/kubernetes-long-lived-connections iptables が使われるのは TCP のコネクションが張られるタイミングなので二回目以降も同じ Pod に振り分けられますよというやつ ","date":1581174285,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581174285,"objectID":"188419747924199c807a998e0440cfd6","permalink":"https://d-kuro.github.io/diaries/202002/20200209/","publishdate":"2020-02-08T15:04:45Z","relpermalink":"/diaries/202002/20200209/","section":"diaries","summary":"Diary None Note Deep dive into sync.Pool - Speaker Deck https://speakerdeck.com/moricho/deep-dive-into-sync-dot-pool あんまり活用できて無いシリーズ Alibaba Container Platform Infrastructure","tags":null,"title":"2020-02-09","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Sidecar container lifecycle changes in Kubernetes 1.18 · Banzai Cloud https://banzaicloud.com/blog/k8s-sidecars/ v1.18 から入る Sidecar の起動順とか制御できるやつ, Gif がめっちゃわかりやすい Golangにコントリビュートしたときの話 - Speaker Deck https://speakerdeck.com/taisa/golangnikontorihiyutositatokifalsehua GitHub じゃないのめんどくさい Pythonで各要素にO(1)でランダムアクセスできるdeque(両端キュー)を書いてみた - 30歳で競プロに目覚めた霊長類のブログ http://prd-xxx.hateblo.jp/entry/2020/02/07/114818 データ構造とかもっと頑張りたい PrasadG193/kyaml2go: K8s Go client code generator from Kubernetes resource yamls https://github.com/PrasadG193/kyaml2go YAML から client-go の code をジェネレートする君, CLI もある 『Go言語による並行処理』 を読んで - Speaker Deck https://speakerdeck.com/abemotion/goyan-yu-niyorubing-xing-chu-li-wodu-nde パイプラインとかは使いこなせてないとか思いながら生きています \u0026ldquo;Takeru Ohtaさんのgistに分散システムやDB周りの和訳要約文が沢山あってすごい\u0026rdquo; https://twitter.com/ido_kara_deru/status/1225752678719881224 ","date":1581087785,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581087785,"objectID":"0dbf86a07d62d3aba2f413aab1f1ec4e","permalink":"https://d-kuro.github.io/diaries/202002/20200208/","publishdate":"2020-02-07T15:03:05Z","relpermalink":"/diaries/202002/20200208/","section":"diaries","summary":"Diary None Note Sidecar container lifecycle changes in Kubernetes 1.18 · Banzai Cloud https://banzaicloud.com/blog/k8s-sidecars/ v1.18 から入る Sidecar の起動順とか制御でき","tags":null,"title":"2020-02-08","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note golangの名前解決について - okzkメモ http://okzk.hatenablog.com/entry/2018/04/16/154644 CGO_ENABLED=0 すると pre Go の実装になるらしい DNS Resolution in Go and Cgo https://engineering.grab.com/dns-resolution-in-go-and-cgo Istio 1.5 は 3/5 にリリースらしい https://twitter.com/sakajunquality/status/1225507810936524801 Production Ready Kubernetes Checklists | Weaveworks https://go.weave.works/production-ready-kubernetes-checklist.html Weaveworks のやつ ","date":1581001394,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1581001394,"objectID":"6f3ebc35ee890c9acea9b973bccfd118","permalink":"https://d-kuro.github.io/diaries/202002/20200207/","publishdate":"2020-02-06T15:03:14Z","relpermalink":"/diaries/202002/20200207/","section":"diaries","summary":"Diary None Note golangの名前解決について - okzkメモ http://okzk.hatenablog.com/entry/2018/04/16/154644 CGO_ENABLED=0 すると","tags":null,"title":"2020-02-07","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note 本物のクラスタを利用してkubectl pluginをテストする - GeekFactory https://int128.hatenablog.com/entry/2020/02/05/114940 Kind, 便利 Don\u0026rsquo;t defer Close() on writable files – joe shaw https://www.joeshaw.org/dont-defer-close-on-writable-files/ ファイルの close の error は拾いましょうというやつ, 名前付き戻り値きらいだけど仕方ないやつ 全言語で気をつけるべき、ファイル書き込み時のお作法 - Qiita https://qiita.com/kazupaka/items/b6479f3f8d13347bf867 Goでファイルの存在確認 - Plan 9とGo言語のブログ https://blog.lufia.org/entry/2019/05/07/234521 定期的に忘れるシリーズ 技術文書を書く際の、心技体<改訂版> https://www.slideshare.net/takahirokubo7792/ss-83640605/19 さんこうになる ","date":1580915006,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580915006,"objectID":"0bd16c3b6ce2f175ce7dd9d029bb709e","permalink":"https://d-kuro.github.io/diaries/202002/20200206/","publishdate":"2020-02-05T15:03:26Z","relpermalink":"/diaries/202002/20200206/","section":"diaries","summary":"Diary None Note 本物のクラスタを利用してkubectl pluginをテ","tags":null,"title":"2020-02-06","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note golangでファイルの存在確認 - An At a NOA https://anatanoa.net/writings/2016/10/is_not_exist.html 定期的に忘れるシリーズ func CommandContext https://golang.org/pkg/os/exec/#CommandContext 便利 Go: Timeout Commands with os/exec CommandContext - Kale Blankenship - Medium https://medium.com/@vCabbage/go-timeout-commands-with-os-exec-commandcontext-ba0c861ed738 便利 Go memory ballast: How I learnt to stop worrying and love the heap https://blog.twitch.tv/en/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap-26c2462549a2/ Twitch の Go の GC の話, 最初にでかいヒープ確保しとくと GC 回数が減ってパフォーマンスが向上したって話という理解 Why Discord is switching from Go to Rust https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f Discord が Go から Rust に移行した話, 2 分毎に発生する強制 GC でパフォーマンスが悪くなるとかなんとか書いてある ","date":1580828584,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580828584,"objectID":"ba0c91ca2fcf1c5a3ae82ddf83c817ac","permalink":"https://d-kuro.github.io/diaries/202002/20200205/","publishdate":"2020-02-04T15:03:04Z","relpermalink":"/diaries/202002/20200205/","section":"diaries","summary":"Diary None Note golangでファイルの存在確認 - An At a NOA https://anatanoa.net/writings/2016/10/is_not_exist.html 定期的に忘","tags":null,"title":"2020-02-05","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Monoliths are the future |\u0026gt; News and podcasts for developers |\u0026gt; Changelog https://changelog.com/posts/monoliths-are-the-future https://twitter.com/bibryam/status/1224361240560066569 \u0026ldquo;Now you went from writing bad code to building bad infrastructure that you deploy the bad code on top of\u0026rdquo;, なるほど マイクロサービスの問題点を指摘してる記事一覧, 数がすごい http://microservices.fail/ kubesec.io :: kubesec.io https://kubesec.io/ Kubernetes の manifest の静的解析ツール, CI で動かしたい 搭建Kubernetes集群時DNS無法解析問題的處理過程 | 程式前沿 https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/693871/ https://twitter.com/SSSSSSSHHHHHH4/status/1224195715913531393 Pod の resolve.conf は最終的にホストサーバーの resolv.conf を継承した kube-dns を参照してる, なるほど Kubernetesの名前解決を確認する - varu3/techBlog https://varu3.hatenablog.com/entry/2018/05/24/200311 良いブログ, DNS なりが一通りでまとまってる Debugging and Monitoring DNS issues in Kubernetes — Cilium https://cilium.io/blog/2019/12/18/how-to-debug-dns-issues-in-k8s/ https://twitter.com/SSSSSSSHHHHHH4/status/1224267638194368513 Hubble ってやつを使って DNS エラーの検知と監視をする話, よくわかっとらん DNS Lookups in Kubernetes - Karan Sharma https://mrkaran.dev/posts/ndots-kubernetes/ DNS 問い合わせについて ndots のやつがわかりやすく書いてある Kubernetes pods /etc/resolv.conf ndots:5 option and why it may negatively affect your application performances https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html デフォルトの ndots が 5 なのでアプリのパフォーマンスに影響が出たよという話 テナントがArgoCD Applicationを任意に作れるようにする - Cybozu Inside Out | サイボウズエンジニアのブログ https://blog.cybozu.io/entry/2020/02/04/110000 Application.spec.project に好きな値を設定できるので権限周りで不都合が出てきたので Validating Admission Webhook で対応しましたという話, ハックだ ","date":1580742200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580742200,"objectID":"1e039b63b2fd4338e08c41fb39c1f4d2","permalink":"https://d-kuro.github.io/diaries/202002/20200204/","publishdate":"2020-02-03T15:03:20Z","relpermalink":"/diaries/202002/20200204/","section":"diaries","summary":"Diary None Note Monoliths are the future |\u0026gt; News and podcasts for developers |\u0026gt; Changelog https://changelog.com/posts/monoliths-are-the-future https://twitter.com/bibryam/status/1224361240560066569 \u0026ldquo;Now you went from writing bad code to building bad infrastructure that you","tags":null,"title":"2020-02-04","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note 最近よく書く HTTP サーバ基礎部分 https://tennashi.hatenablog.com/entry/2019/12/13/010938 雑に Graceful Shutdown したいときにみるやつ, 載っているコードのコンパイルが通らなかったりする fzf が早くなる PR https://twitter.com/mattn_jp/status/1224246053718724608 kustomize の remote build の spec https://github.com/kubernetes-sigs/kustomize/blob/v3.3.1/examples/remoteBuild.md Kubernetes クラスタ間で Service を Routing できる Skupper https://twitter.com/openshiftjp/status/1224266296751198208 zalando が使ってた気がする cgoを使わないGoのクロスコンパイル時に -installsuffix cgo が不要になってた https://christina04.hatenablog.com/entry/installsuffix-cgo-is-no-longer-required 何も考えずに CGO_ENABLED=0 をしています Do Linux golang binaries depend on libc? : golang https://www.reddit.com/r/golang/comments/8m4xrh/do_linux_golang_binaries_depend_on_libc/ libc 依存絡み, apline だと musl になって遅いみたいな話題から go - Does golang depend on c runtime? - Stack Overflow https://stackoverflow.com/questions/41720090/does-golang-depend-on-c-runtime net package は依存してるみたいな話が書いてある A tale in adopting Alpine Linux for Docker – problems we faced with RSpec testing – Made Tech https://www.madetech.com/blog/a-tale-in-adopting-alpine-linux-for-docker-problems-we-faced-with-rspec-testing musl のスタックサイズが小さい話 sh すら入ってない distroless 君 https://github.com/GoogleContainerTools/distroless image サイズ自体は alpine のが小さい glibc 入ってて偉い Do GitHub and GitLab support git clone\u0026rsquo;s \u0026ndash;filter parameter? - Stack Overflow https://stackoverflow.com/questions/55195590/do-github-and-gitlab-support-git-clones-filter-parameter?noredirect=1\u0026amp;lq=1 git clone の filter option, GitHub はまだサポートしていないよといやつ Bring your monorepo down to size with sparse-checkout - The GitHub Blog https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/ partial clone (--filter=blob:none) と sparse-checkout 組み合わせて優勝できる話, 再掲 ","date":1580655781,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580655781,"objectID":"295d1bc1fddb92779ba72f9a39334e24","permalink":"https://d-kuro.github.io/diaries/202002/20200203/","publishdate":"2020-02-02T15:03:01Z","relpermalink":"/diaries/202002/20200203/","section":"diaries","summary":"Diary None Note 最近よく書く HTTP サーバ基礎部分 https://tennashi.hatenablog.com/entry/2019/12/13/010938 雑に Graceful Shutdown したいときにみる","tags":null,"title":"2020-02-03","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note コンピュータサイエンスが気になるプログラマに勧める書籍リスト https://magazine.rubyist.net/articles/0061/0061-ForeWord.html いつか読みたいと言い続けて早 N 年 ","date":1580569379,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580569379,"objectID":"1dca3496ad28ff69413f9975d244ba0c","permalink":"https://d-kuro.github.io/diaries/202002/20200202/","publishdate":"2020-02-01T15:02:59Z","relpermalink":"/diaries/202002/20200202/","section":"diaries","summary":"Diary None Note コンピュータサイエンスが気になるプログラマに勧める書籍","tags":null,"title":"2020-02-02","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Go 1.13 からの Proxy でダウンロードが早くなっているというやつ https://twitter.com/sonatard/status/1222834877185179648 Alpine makes Python Docker builds 50× slower, and images 2× larger https://pythonspeed.com/articles/alpine-docker-python/ Alpine が遅い話, Java と Python は聞いたけどほかは大丈夫なんだろうか 英語のリーディング力をアップさせる方法完全版 https://knots.jp/kn00001/ 単語, はい [Go] Named typeとType aliasを使い分ける https://budougumi0617.github.io/2020/02/01/go-named-type-and-type-alias/ ","date":1580482982,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580482982,"objectID":"5a44cfcb86c5039a20e8aeebf2bd82ca","permalink":"https://d-kuro.github.io/diaries/202002/20200201/","publishdate":"2020-01-31T15:03:02Z","relpermalink":"/diaries/202002/20200201/","section":"diaries","summary":"Diary None Note Go 1.13 からの Proxy でダウンロードが早くなっているというやつ https://twitter.com/sonatard/status/1222834877185179648","tags":null,"title":"2020-02-01","type":"diaries"},{"authors":null,"categories":null,"content":"Diary My Pull Request for Argo CD repo has been merged https://github.com/argoproj/argo-cd/pull/3059 Note KubeCon + CloudNativeConにプロポーザル出すときに気をつけたこと https://knqyf263.hatenablog.com/entry/2020/01/30/214825 すごい参考になる Kubernetes Istio simply visually explained https://itnext.io/kubernetes-istio-simply-visually-explained-58a7d158b83f Istio の図解 SRE NEXT 2020 で「SLO Review」というタイトルで登壇しました #srenext https://quipper.hatenablog.com/entry/2020/01/30/slo-review いい話 google/gops: A tool to list and diagnose Go processes currently running on your system https://github.com/google/gops 便利, コード読むとだいたい標準パッケージなんだなあってなった golang で書かれたプロセスのリソースを外部から監視/操作できる「gops」 - Qiita https://qiita.com/mattn/items/a92f69ff18eb5cbcdd59 mattn さんの記事 autoscaler/FAQ.md at master · kubernetes/autoscaler https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md Cluster Autoscaler の FAQ Cluster Autosaler 雑メモ CA くんは Pod の requests しか見てない 何故か metrics API とか見てると勘違いしてた, 考えて見えたらそれはそうってやつ AWS の実装だと tag で auto discovery してるけど AWS の API 叩きすぎると ratelimit に引っかかるのでインメモリキャッシュとか駆使してる tag で ASG 引っ張ってきてそれに紐付いている全インスタンスをインメモリキャッシュに入れとく, みたいな実装 ","date":1580396596,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580396596,"objectID":"d5408bc0a4c089ceb162dbb7012e2a30","permalink":"https://d-kuro.github.io/diaries/202001/20200131/","publishdate":"2020-01-30T15:03:16Z","relpermalink":"/diaries/202001/20200131/","section":"diaries","summary":"Diary My Pull Request for Argo CD repo has been merged https://github.com/argoproj/argo-cd/pull/3059 Note KubeCon + CloudNativeConに","tags":null,"title":"2020-01-31","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I presented at the Kubernetes Japan community event 🥳 https://speakerdeck.com/daikurosawa/leader-election-in-kubernetes-number-k8sjp Note Lease API が生えてた https://twitter.com/superbrothers/status/1222493736912818177 ほんとにすみませんでした 1.14 から生えてそう https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#lease-v1beta1-coordination-k8s-io 使用箇所が見つけられない人になっている https://twitter.com/ponde_m/status/1222498486853070848 Cluster Autoscaler で使われてたのは見つけた それっぽい Issue https://github.com/kubernetes/kubernetes/pull/81030 ","date":1580310193,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580310193,"objectID":"85693fcfc4c8db92cc457f16c08522c5","permalink":"https://d-kuro.github.io/diaries/202001/20200130/","publishdate":"2020-01-29T15:03:13Z","relpermalink":"/diaries/202001/20200130/","section":"diaries","summary":"Diary I presented at the Kubernetes Japan community event 🥳 https://speakerdeck.com/daikurosawa/leader-election-in-kubernetes-number-k8sjp Note Lease API が生えてた https://twitter.com/superbrothers/status/1222493736912818177 ほんとにすみませんで","tags":null,"title":"2020-01-30","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Go 1.13.7 and 1.12.16 have been released! https://twitter.com/golang/status/1222208449347538945 Proposals for Go 1.15 https://twitter.com/golang/status/1222242114504994817 でかい変更はいらなさそう Mac の音量アプリごとに制御するやつ, 便利 https://github.com/kyleneideck/BackgroundMusic Vault の Kubernetes 統合, Admission Webhook でゴニョゴニョするっぽい https://www.vaultproject.io/docs/platform/k8s/injector/index.html https://twitter.com/learnk8s/status/1222233122307178497 ","date":1580223799,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580223799,"objectID":"8b17608cd010a63e36737f214e7ecbb0","permalink":"https://d-kuro.github.io/diaries/202001/20200129/","publishdate":"2020-01-28T15:03:19Z","relpermalink":"/diaries/202001/20200129/","section":"diaries","summary":"Diary None Note Go 1.13.7 and 1.12.16 have been released! https://twitter.com/golang/status/1222208449347538945 Proposals for Go 1.15 https://twitter.com/golang/status/1222242114504994817 でかい変更はいらなさそう Mac の","tags":null,"title":"2020-01-29","type":"diaries"},{"authors":null,"categories":null,"content":" https://k8sjp.connpass.com/event/162343/\n","date":1580223600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580223600,"objectID":"b3ff771e6078391c828e0a8f6b1d3e90","permalink":"https://d-kuro.github.io/talk/leader-election-in-kubernetes/","publishdate":"2020-01-29T00:00:00+09:00","relpermalink":"/talk/leader-election-in-kubernetes/","section":"talk","summary":"https://k8sjp.connpass.com/event/162343/","tags":null,"title":"Leader Election in Kubernetes","type":"talk"},{"authors":null,"categories":null,"content":"Diary None Note SRE NEXT 2020で「サイト信頼性エンジニアリングの原則」というタイトルで登壇してきました #srenext https://ymotongpoo.hatenablog.com/entry/2020/01/27/173000 Docker, Kubernetesのセキュリティの本 https://twitter.com/hiyosi/status/1222127067493363712 ","date":1580137392,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580137392,"objectID":"60a5e0c899ae12281f1515658cc60347","permalink":"https://d-kuro.github.io/diaries/202001/20200128/","publishdate":"2020-01-27T15:03:12Z","relpermalink":"/diaries/202001/20200128/","section":"diaries","summary":"Diary None Note SRE NEXT 2020で「サイト信頼性エンジニアリングの原則」と","tags":null,"title":"2020-01-28","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Understanding Kubernetes pod evicted and scheduling problems https://sysdig.com/blog/kubernetes-pod-evicted/ QoS を Guaranteed にするために CPU に limit 入れると相当余裕持たせないとスロットリングする罠, なので CPU limit なしの Burstable で critical annotatil を付けるが良さそう ","date":1580051002,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1580051002,"objectID":"7e621b1bcb2a6dc3195a20b8c8f316c9","permalink":"https://d-kuro.github.io/diaries/202001/20200127/","publishdate":"2020-01-26T15:03:22Z","relpermalink":"/diaries/202001/20200127/","section":"diaries","summary":"Diary None Note Understanding Kubernetes pod evicted and scheduling problems https://sysdig.com/blog/kubernetes-pod-evicted/ QoS を Guaranteed にするために CPU に limit 入れると相当余","tags":null,"title":"2020-01-27","type":"diaries"},{"authors":null,"categories":null,"content":"Diary My Pull Request to Argo CD repo has been merged 🥳 https://github.com/argoproj/argo-cd/pull/3031 Note uber-go/automaxprocs: Automatically set GOMAXPROCS to match Linux container CPU quota. https://github.com/uber-go/automaxprocs 便利そう SLO Review https://speakerdeck.com/chaspy/slo-review 弊社情報です SRE Practices in Mercari Microservices https://speakerdeck.com/tcnksm/sre-practices-in-mercari-microservices Spinnker とかのコンポーネントに SLO 設定して見直すのいいなって思った, SLO は見直す日も一緒に決めるのいい話だ 【SRE Next 2020】発表資料まとめ https://qiita.com/Hassan/items/6f7fb1c206f77716ee2a 便利情報 Sailing with the Istio through the shallow water https://medium.com/@jakubkulich/sailing-with-the-istio-through-the-shallow-water-8ae81668381e Istio の失敗事例, 知見だ A visual guide on troubleshooting Kubernetes deployments https://learnk8s.io/troubleshooting-deployments Kubernetes でのトラブルシューティングのビジュアルガイド, エラーの種類とか載ってて丁寧 zegl/kube-score: Kubernetes object analysis with recommendations for improved reliability and security https://github.com/zegl/kube-score Kubernets Object の診断ツール, 結構良さそう, CI で動かすといいのかな ","date":1579964583,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579964583,"objectID":"33ef7d44c0777b8ebeac0f34fac2c5ec","permalink":"https://d-kuro.github.io/diaries/202001/20200126/","publishdate":"2020-01-25T15:03:03Z","relpermalink":"/diaries/202001/20200126/","section":"diaries","summary":"Diary My Pull Request to Argo CD repo has been merged 🥳 https://github.com/argoproj/argo-cd/pull/3031 Note uber-go/automaxprocs: Automatically set GOMAXPROCS to match Linux container CPU quota. https://github.com/uber-go/automaxprocs 便利そう SLO","tags":null,"title":"2020-01-26","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note kubernetes/client-goのfakeclientを試してみた https://medium.com/@bells17/kubernetes-client-gos-fakeclient-a20dbefc7b70 Algorithms with Go https://algorithmswithgo.com/ Go でアルゴリズムが学べるサイト, 楽しそう A fork() in the road https://gist.github.com/4ge32/7139dfd3041d4d4723cd9faff18e9279 https://twitter.com/KuniSuzaki/status/1220880539239845888 fork() について, この辺全然わからん ","date":1579878186,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579878186,"objectID":"f54e4543a300a7f15602c1eaa0b65e65","permalink":"https://d-kuro.github.io/diaries/202001/20200125/","publishdate":"2020-01-24T15:03:06Z","relpermalink":"/diaries/202001/20200125/","section":"diaries","summary":"Diary None Note kubernetes/client-goのfakecl","tags":null,"title":"2020-01-25","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note OSSから理解するEKSと\u2028そのエコシステムについて / Understanding EKS and its ecosystem from OSS perspective https://speakerdeck.com/inductor/understanding-eks-and-its-ecosystem-from-oss-perspective cloudprovider-aws の話 EKS の control plane 構成 https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/eks-ug.pdf NLB * 2 API Server + 3 etcd EndpointSlice の日本語ドキュメント https://twitter.com/_inductor_/status/1220317832279314432 Service Topology による効率的なロードバランシング #jawsug_ct / JAWS Container SIG 16th https://speakerdeck.com/ytaka23/jaws-container-sig-16th Pod の通信が Node を跨がないようにするやつ, EndpointSlice, Pod の数が少ないときに効力発揮するのかみたいなところは気になった Adventure around Kubernetes at Chatwork https://speakerdeck.com/cwsakamoto/adventure-around-kubernetes-at-chatwork Flux と Argo CD を両方使ってるのがよくわからないけど, Flux は eksctl で勝手に入るからクラスタのブートストラップに使ってるとかそういう話かな ","date":1579791780,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579791780,"objectID":"97e0e21d97163d69b038552f58eef7eb","permalink":"https://d-kuro.github.io/diaries/202001/20200124/","publishdate":"2020-01-23T15:03:00Z","relpermalink":"/diaries/202001/20200124/","section":"diaries","summary":"Diary None Note OSSから理解するEKSと そのエコシステムについて / Understanding","tags":null,"title":"2020-01-24","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note CI とかでは git config gc.auto 0 しておくと早くなるらしい https://twitter.com/Linda_pp/status/1219080866560761856 Kubernetes の各バージョンのサポート期間を9か月から1年にしようぜという KEP https://twitter.com/satoru_takeuchi/status/1220177928308178944 ","date":1579705419,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579705419,"objectID":"5aa9dbfc2e19112b5f62172be48a2b57","permalink":"https://d-kuro.github.io/diaries/202001/20200123/","publishdate":"2020-01-22T15:03:39Z","relpermalink":"/diaries/202001/20200123/","section":"diaries","summary":"Diary None Note CI とかでは git config gc.auto 0 しておくと早くなるらし","tags":null,"title":"2020-01-23","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Istio の YAML をサンプルケースごとにまとめたサイト https://istiobyexample.dev/ ","date":1579618990,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579618990,"objectID":"75178f8bf275a77f4b1b2dcebb433e94","permalink":"https://d-kuro.github.io/diaries/202001/20200122/","publishdate":"2020-01-21T15:03:10Z","relpermalink":"/diaries/202001/20200122/","section":"diaries","summary":"Diary None Note Istio の YAML をサンプルケースごとにまとめたサイト https://istiobyexample.dev/","tags":null,"title":"2020-01-22","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note テストのためだけにinterfaceを書きたくないでござる — KaoriYa https://www.kaoriya.net/blog/2020/01/20/never-interface-only-for-tests/ ビルドタグで制御するという記事, 確かに何も考えずに interface にしてた interface をフィールドに持つオブジェクトにするといいよというツイート Kubernetes Production Patterns https://github.com/gravitational/workshop/blob/master/k8sprod.md Kubernetes の話というよりも Docker の話とかも入ってる ","date":1579532610,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579532610,"objectID":"5ddd0e13898917878383ed56947fe387","permalink":"https://d-kuro.github.io/diaries/202001/20200121/","publishdate":"2020-01-20T15:03:30Z","relpermalink":"/diaries/202001/20200121/","section":"diaries","summary":"Diary None Note テストのためだけにinterfaceを書きたくないでご","tags":null,"title":"2020-01-21","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Argo CD v1.4 Released! https://blog.argoproj.io/argo-cd-v1-4-released-4361ed19cc72 Sync Windows - Argo CD - Declarative GitOps CD for Kubernetes https://argoproj.github.io/argo-cd/user-guide/sync_windows/ 特定の時間だけ Sync しますみたいなやつ Argo CDによる継続的デリバリーのベストプラクティスとその実装 https://blog.cybozu.io/entry/2019/11/21/100000 サイボウズの事例, 大体同じ気持ち Prometheus and OpenMetrics metrics collection https://docs.datadoghq.com/ja/getting_started/integrations/prometheus/?tab=host Datadog で OpenMetrics のエンドポイントからメトリクス拾うやつ ","date":1579446201,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579446201,"objectID":"cc2c0ae9b6529efe4f61dab894060ed5","permalink":"https://d-kuro.github.io/diaries/202001/20200120/","publishdate":"2020-01-19T15:03:21Z","relpermalink":"/diaries/202001/20200120/","section":"diaries","summary":"Diary None Note Argo CD v1.4 Released! https://blog.argoproj.io/argo-cd-v1-4-released-4361ed19cc72 Sync Windows - Argo CD - Declarative GitOps CD for Kubernetes https://argoproj.github.io/argo-cd/user-guide/sync_windows/ 特定の時間だけ Sync しま","tags":null,"title":"2020-01-20","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note 最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ https://qiita.com/ageprocpp/items/cdf67e828e1b09316f6e アルゴリズムわからん Bring your monorepo down to size with sparse-checkout https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/ golangci-lint v1.23.0 has been released https://github.com/golangci/golangci-lint/releases/tag/v1.23.0 Black Hat Go [Book] https://www.oreilly.com/library/view/black-hat-go/9781098122645/ 悪そうな Gopher 君, セキュリティ周りの話の Go の本らしい ","date":1579359804,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579359804,"objectID":"27eb41009e6a33c4c74bef3a9b8d736c","permalink":"https://d-kuro.github.io/diaries/202001/20200119/","publishdate":"2020-01-18T15:03:24Z","relpermalink":"/diaries/202001/20200119/","section":"diaries","summary":"Diary None Note 最短経路問題総特集!!!~BFSから拡張ダイクストラま","tags":null,"title":"2020-01-19","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Kubernetes 1.17: Volume Snapshots Beta and Scheduler changes for stability and extensibility – Red Hat OpenShift Blog https://blog.openshift.com/kubernetes-1-17-volume-snapshots-beta-and-scheduler-changes-for-stability-and-extensibility/ Kubernetes v1.17 でスケジューリングのアルゴリズムが変わったよというやつ Argo CD v1.4.0 has been released https://github.com/argoproj/argo-cd/releases/tag/v1.4.0 golangとDockerとOOM https://www.kaoriya.net/blog/2020/01/18/golang-on-docker-oom/ Docker で動かしているときに, 仮想メモリは確保できているのに OOM が送られてくるよという話 ","date":1579273399,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579273399,"objectID":"13a0d84c97846d9bfc1caa8314ba35b6","permalink":"https://d-kuro.github.io/diaries/202001/20200118/","publishdate":"2020-01-17T15:03:19Z","relpermalink":"/diaries/202001/20200118/","section":"diaries","summary":"Diary None Note Kubernetes 1.17: Volume Snapshots Beta and Scheduler changes for stability and extensibility – Red Hat OpenShift Blog https://blog.openshift.com/kubernetes-1-17-volume-snapshots-beta-and-scheduler-changes-for-stability-and-extensibility/ Kubernetes v1.17 でスケジューリ","tags":null,"title":"2020-01-18","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note スマホゲームの API サーバにおける EKS の運用事例 https://labs.gree.jp/blog/2020/01/20271/ DNS の話とか ALB Ingress のスロットリングの話はいい知見だ JetBrains Mono: A free and open source typeface for developers | JetBrains: Developer Tools for Professionals and Teams JetBrains のフォント, 良さそう どの Kubernetes の本から読むのがいい?というスレッド https://twitter.com/bibryam/status/1217971176703655936 ","date":1579186997,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579186997,"objectID":"5ae1d7b0adc819911ac16b0e7b704d77","permalink":"https://d-kuro.github.io/diaries/202001/20200117/","publishdate":"2020-01-16T15:03:17Z","relpermalink":"/diaries/202001/20200117/","section":"diaries","summary":"Diary None Note スマホゲームの API サーバにおける EKS の運用事例 https://labs.gree.jp/blog/2020/01/20271/ DNS の話とか","tags":null,"title":"2020-01-17","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Argo CD のパスワードリセットの方法 https://github.com/argoproj/argo-cd/blob/master/docs/faq.md#i-forgot-the-admin-password-how-do-i-reset-it Kubernetesのネットワーク構成 https://tech-lab.sios.jp/archives/7857 図があってわかりやすい, iptables の話とか Container exits with non-zero exit code 137 https://success.docker.com/article/what-causes-a-container-to-exit-with-code-137 137 の秘密, SIGTERM の 10 秒後に SIGKILL が送られるっぽい Terraform、Docker、Kubernetesなどのテストを自動化する - Yevgeniy Brikman氏のQCon SFでの講演より https://www.infoq.com/jp/news/2020/01/automated-testing-infrastructure/ インフラのコードのテスト, やりたい Go: How Does Go Stop the World? https://medium.com/a-journey-with-go/go-how-does-go-stop-the-world-1ffab8bc8846 Go の STW について 5 Best Practices for Configuring Kubernetes Pods Running in Production https://thenewstack.io/5-best-practices-for-configuring-kubernetes-pods-running-in-production/ 適切な Object, ヘルスチェック, init container, Affinity, Autoscaler 次世代のログ基盤 Grafana Lokiを始めよう! / prometheus-meetup-tokyo-3-lets-start-the-loki https://speakerdeck.com/uesyn/prometheus-meetup-tokyo-3-lets-start-the-loki Argo CD が管理する Object には app.kubernetes.io/part-of: \u0026lt;Application\u0026gt; ラベルが付くというメモ ","date":1579100599,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579100599,"objectID":"83e8f1f9cf7a394ec6e3adc2fde415f8","permalink":"https://d-kuro.github.io/diaries/202001/20200116/","publishdate":"2020-01-15T15:03:19Z","relpermalink":"/diaries/202001/20200116/","section":"diaries","summary":"Diary None Note Argo CD のパスワードリセットの方法 https://github.com/argoproj/argo-cd/blob/master/docs/faq.md#i-forgot-the-admin-password-how-do-i-reset-it Kubernetesの","tags":null,"title":"2020-01-16","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Kubernetes ベスト プラクティス 6 選 https://cloud.google.com/blog/ja/products/containers-kubernetes/your-guide-kubernetes-best-practices Week Ending January 12, 2020 | Last Week in Kubernetes Development http://lwkd.info/2020/20200113 今週もあんまりないかも HPA Autoscaling Algorithm https://github.com/kubernetes/community/blob/master/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#autoscaling-algorithm HPA のスケーリングアルゴリズムの公式ドキュメント CPU throttling for Pods CPU Manager Feature Highlight: CPU Manager https://kubernetes.io/blog/2018/07/24/feature-highlight-cpu-manager/ CPU Manager の話, --cpu-manager-policy を static にして Guaranteed QoS class の Pod で CPU をコア数で指定すると CPU を専有できる Control CPU Management Policies on the Node https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ CPU Manager の公式ドキュメント CFS (Completely Fair Scheduler) Kubernetesのresource requests, limits https://christina04.hatenablog.com/entry/kubernetes-resource-limits CPU の制限には kernel の CFS を使用している cpu-period の時間中 cpu-quota で指定した時間までがコンテナに CPU を割り当てることが出来る Kubernetes では cpu-period が 100ms になっている 3.2. cpu Red Hat Enterprise Linux 6 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/sec-cpu CFS とは何かみたいなのが書いてあるドキュメント Understanding resource limits in kubernetes: cpu time https://medium.com/@betz.mark/understanding-resource-limits-in-kubernetes-cpu-time-9eff74d3161b 詳しく書いてある resources.limits: 100m は CPU core の 100/1000, cpu.cfs_period_us: 100000 のうちの 10000ms だけ CPU を使えますよ, という制限 Overly aggressive CFS https://gist.github.com/bobrik/2030ff040fad360327a5fab7a09c4ff1 実際に throttling するとこうなるよ, というやつ POD-RESOURCE-MANAGEMENT - KUBELET POD LEVEL RESOURCE MANAGEMENT https://stupefied-goodall-e282f7.netlify.com/contributors/design-proposals/node/pod-resource-management/ Kubernetes ではどうしているのかと言うのが詳しく書いてある Kubernetes Issues Throttling: New Developments in Application Performance with CPU Limits - Dave Chiluk, Indeed https://kccncna19.sched.com/event/Uae1 https://www.youtube.com/watch?v=UE7QX98-kO0 https://static.sched.com/hosted_files/kccncna19/dd/Kubecon_%20Throttling.pdf Kubecon のセッション, CPU の Throttling と Latency にはめちゃくちゃ相関があるのがわかる Ensuring Kubernetes Cost Efficiency across (many) Clusters - DevOps Gathering 2019 https://www.slideshare.net/try_except_/ensuring-kubernetes-cost-efficiency-across-many-clusters-devops-gathering-2019 PDF zalando の人のセッション, 個人的にはこれが一番わかりやすかった CFS quotas can lead to unnecessary throttling · Issue #67577 · kubernetes/kubernetes https://github.com/kubernetes/kubernetes/issues/67577 kernel にバグがあるという話 Twitter thread https://twitter.com/tpeitz_dus/status/1133648291332263936 https://twitter.com/try_except_/status/1131459031376252928 Cat example $ sudo cat /sys/fs/cgroup/cpu,cpuacct/kubepods/burstable/pod\u0026lt;\u0026quot;metadata.uid\u0026quot; from Pod\u0026gt;/\u0026lt;\u0026quot;status.containerStatuses.containerID\u0026quot; from Pod\u0026gt;/cpu.cfs_quota_us ","date":1579014189,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1579014189,"objectID":"47f58e8126e83d194a1738a67c0d7e4d","permalink":"https://d-kuro.github.io/diaries/202001/20200115/","publishdate":"2020-01-14T15:03:09Z","relpermalink":"/diaries/202001/20200115/","section":"diaries","summary":"Diary None Note Kubernetes ベスト プラクティス 6 選 https://cloud.google.com/blog/ja/products/containers-kubernetes/your-guide-kubernetes-best-practices Week Ending January 12, 2020 | Last Week in Kubernetes Development http://lwkd.info/2020/20200113 今週","tags":null,"title":"2020-01-15","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Throttling: New Developments in Application Performance with CPU Limits - Dave Chiluk, Indeed https://kccncna19.sched.com/event/Uae1 CPU の limit をつけるとパフォーマンスが悪化する話, kernel のアップグレードでバグが修正されて直るかもしれない https://github.com/kubernetes/kubernetes/issues/51135 https://github.com/kubernetes/kubernetes/issues/70585 3.2. cpu Red Hat Enterprise Linux 6 | Red Hat Customer Portal https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/sec-cpu CFS の話とかが載ってる Understanding resource limits in kubernetes: cpu time https://medium.com/@betz.mark/understanding-resource-limits-in-kubernetes-cpu-time-9eff74d3161b cgroups の話とか ","date":1578927788,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578927788,"objectID":"b4f629593ac2e3c9dd96bc1d7e6a715e","permalink":"https://d-kuro.github.io/diaries/202001/20200114/","publishdate":"2020-01-13T15:03:08Z","relpermalink":"/diaries/202001/20200114/","section":"diaries","summary":"Diary None Note Throttling: New Developments in Application Performance with CPU Limits - Dave Chiluk, Indeed https://kccncna19.sched.com/event/Uae1 CPU の limit をつけるとパフォーマ","tags":null,"title":"2020-01-14","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Go 1.14 でめっちゃ defer が早くなる https://twitter.com/janiszt/status/1215601972281253888 Manage Thousands of Clusters with GitOps and the Cluster API https://www.weave.works/blog/manage-thousands-of-clusters-with-gitops-and-the-cluster-api Cluster API と GitOps で cluster を管理する話, cluster 管理用の cluster を作る grafana/kubernetes-diff-logger: Logs updates to Kubernetes Objects for storing and querying with Loki https://github.com/grafana/kubernetes-diff-logger Kubernetes Object の更新を記録するやつ Go で channel 受信後に処理するときは、channel の送信側で行った処理が確実に行われたことを保証するという話が書いてあるやつ https://golang.org/ref/mem#tmp_7 https://twitter.com/SSSSSSSHHHHHH4/status/1215965009651494912 ","date":1578841381,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578841381,"objectID":"8efbec14de594ff8b5e0fe161b226c1b","permalink":"https://d-kuro.github.io/diaries/202001/20200113/","publishdate":"2020-01-12T15:03:01Z","relpermalink":"/diaries/202001/20200113/","section":"diaries","summary":"Diary None Note Go 1.14 でめっちゃ defer が早くなる https://twitter.com/janiszt/status/1215601972281253888 Manage Thousands of Clusters with GitOps and the Cluster API https://www.weave.works/blog/manage-thousands-of-clusters-with-gitops-and-the-cluster-api Cluster API","tags":null,"title":"2020-01-13","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note [Go] selectのcase文中でch \u0026lt;- \u0026lt;- chやch \u0026lt;- f()をしない方が良い #golangjp #横浜go読書会 https://budougumi0617.github.io/2019/03/15/go-strange-result-in-select/#disqus_thread 勝手に実行される可能性がある HPA がどうやって CPU 使用率とかを計算してるかについて, requests が基準になっている https://github.com/kubernetes/kubernetes/blob/v1.17.0/pkg/controller/podautoscaler/replica_calculator.go#L62 https://github.com/kubernetes/kubernetes/blob/v1.17.0/pkg/controller/podautoscaler/metrics/utilization.go#L49 (metricsTotal * 100) / requestsTotal ","date":1578754990,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578754990,"objectID":"120b5371a1e52290a4559fe1ddcab80d","permalink":"https://d-kuro.github.io/diaries/202001/20200112/","publishdate":"2020-01-11T15:03:10Z","relpermalink":"/diaries/202001/20200112/","section":"diaries","summary":"Diary None Note [Go] selectのcase文中でch \u0026lt;- \u0026lt;- chやch \u0026lt;- f(","tags":null,"title":"2020-01-12","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Kubernetes Failure Stories https://k8s.af/ Kubernetes の失敗談 GOTO 2019 • Why I love Kubernetes Failure Stories and You Should Too • Henning Jacobs https://www.youtube.com/watch?v=E0GBU8Q-VFY zalando の Kubernetes の失敗事例セッション zalando-incubator/cluster-lifecycle-manager: Cluster Lifecycle Manager (CLM) to provision and update multiple Kubernetes clusters https://github.com/zalando-incubator/cluster-lifecycle-manager zalando の Kubernets cluster の lifesycle manager, あんまり全貌を把握してない HOW ZALANDO MANAGES 140+ KUBERNETES CLUSTERS https://srcco.de/posts/how-zalando-manages-140-kubernetes-clusters.html 上のやつの詳しい話, 頻繁なクラスタの更新うちもやりたい ","date":1578668605,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578668605,"objectID":"afc13d1ff820f20168077c0faab193ba","permalink":"https://d-kuro.github.io/diaries/202001/20200111/","publishdate":"2020-01-10T15:03:25Z","relpermalink":"/diaries/202001/20200111/","section":"diaries","summary":"Diary None Note Kubernetes Failure Stories https://k8s.af/ Kubernetes の失敗談 GOTO 2019 • Why I love Kubernetes Failure Stories and You Should Too • Henning Jacobs https://www.youtube.com/watch?v=E0GBU8Q-VFY zalando","tags":null,"title":"2020-01-11","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Go 1.13.6 が出た https://twitter.com/golang/status/1215401407194464256 Envoy と Kubernetes で始める Progressive Delivery https://qiita.com/mumoshu/items/63b29bca6a052d8c7087 Dynamic Routing by Envoy + Istio https://speakerdeck.com/110y/dynamic-routing-by-envoy-plus-istio 1年間のシステム運用を通して分かったIstioの嬉しさと活用 https://speakerdeck.com/ido_kara_deru/benefits-and-usage-notes-of-istio-based-on-our-system-operation-experience Istio, 入れたい CloudNative Days Kansai2019 登壇内容の補足 https://qiita.com/t-ide/items/830ef145a77e411fae44 上のスライドの補足 io.CopyにはなるべくWriteTo関数を渡してあげた方が良さそう https://qiita.com/yamasaki-masahide/items/ed4c10d47900f1e7cdc0 uber-go/goleak: Goroutine leak detector https://github.com/uber-go/goleak goroutine がリークしてるか調べるやつ, テストで実行するらしい ","date":1578582186,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578582186,"objectID":"90f47aad914970b02940c34ce01361b5","permalink":"https://d-kuro.github.io/diaries/202001/20200110/","publishdate":"2020-01-09T15:03:06Z","relpermalink":"/diaries/202001/20200110/","section":"diaries","summary":"Diary None Note Go 1.13.6 が出た https://twitter.com/golang/status/1215401407194464256 Envoy と Kubernetes で始める Progressive Delivery https://qiita.com/mumoshu/items/63b29bca6a052d8c7087 Dynamic Routing by Envoy + Istio https://speakerdeck.com/110y/dynamic-routing-by-envoy-plus-istio 1年間の","tags":null,"title":"2020-01-10","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note microservices-infrastructure-with-envoy-consul-nomad https://speakerdeck.com/kencharos/microservices-infrastructure-with-envoy-consul-nomad Envoy Get Started - Google スライド https://docs.google.com/presentation/d/1kqWUmsLx1NLDU2M9l4xXWnDiYjG2HGdNw2opZVw5j4A/edit#slide=id.g49b4537706_0_0 お前もメッシュにしてやろうか / Who really needs to be meshified? #envoytokyo https://speakerdeck.com/toricls/who-really-needs-to-be-meshified-number-envoytokyo 「istioctl analyze」という、マニフェストファイルを解析して問題点を洗い出す機能があるという話 https://twitter.com/ido_kara_deru/status/1214920226963259392 普通の Kubernetes にもほしい Istio as an Example of When Not to Do Microservices https://blog.christianposta.com/microservices/istio-as-an-example-of-when-not-to-do-microservices/ Istio 1.5 からモノリスとしても動くようになるという話 Go 言語の日付処理 https://text.baldanders.info/golang/time-functions/ 標準パッケージで const が定義されている, 便利 kubebuilder v2 で webhook 開発 https://ymmt.hatenablog.com/entry/2019/08/10/150614 証明書とかの登場人物が出てくるので Webhook の管理, あんまりやりたくないな Kubernetesをぶち壊す10の奇妙な方法 (後編) https://qiita.com/inductor/items/a79d9b0220834090a4c8 アプリの起動時に CPU が上がる場合の HPA の話, 同じ現象で悩んでたことある 「Knativeで実現するKubernetes上のサーバーレスアーキテクチャ」の文字起こし #CNTD2019 https://qiita.com/toshi0607/items/6dbdff717e1ba0aba4f6 Knative ができることを見ていた Key metrics for monitoring Istio https://www.datadoghq.com/ja/blog/istio-metrics/ IntelliJ IDEAをもっと便利で使いやすく! つまずきがちな設定や、便利な機能を細かに解説します。 https://employment.en-japan.com/engineerhub/entry/2020/01/09/103000 使いこなせてません ","date":1578495787,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578495787,"objectID":"adefe3f3f79ed1e82ee0fdd25cbb8050","permalink":"https://d-kuro.github.io/diaries/202001/20200109/","publishdate":"2020-01-08T15:03:07Z","relpermalink":"/diaries/202001/20200109/","section":"diaries","summary":"Diary None Note microservices-infrastructure-with-envoy-consul-nomad https://speakerdeck.com/kencharos/microservices-infrastructure-with-envoy-consul-nomad Envoy Get Started - Google スライド https://docs.google.com/presentation/d/1kqWUmsLx1NLDU2M9l4xXWnDiYjG2HGdNw2opZVw5j4A/edit#slide=id.g49b4537706_0_0 お前もメッシュにしてやろうか /","tags":null,"title":"2020-01-09","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Introducing Datadog Agent 7 https://www.datadoghq.com/blog/introducing-agent7-with-python3/ Datadog の custome checks 一覧下のリンクで確認できて便利 https://app.datadoghq.com/compatibility_check io.Readerのファイルタイプを判定する https://qiita.com/knqyf263/items/6dfc891c6d3c6b94f895 io.MultiReader の使い所さん Istio 1.5 でコントロールプレーンがシングルバイナリに置き換わる istiod なるものが出るらしい https://twitter.com/ido_kara_deru/status/1214721176917798912 技術推薦図書 - Google スプレッドシート https://docs.google.com/spreadsheets/d/1wk8AG6keEM0y0-ZK6_vb-88UMgXM6ttVqumoE6Pc4qw/edit#gid=0 すごい Goのnet/httpのkeep-aliveで気をつけること https://christina04.hatenablog.com/entry/go-keep-alive keep-alive の条件に response body を読み切る, というのは知らなかった io.Copy(ioutil.Discard, resp.Body) よさそう ","date":1578409401,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578409401,"objectID":"aa7d41883589b3ca1f3e54c5203b74d6","permalink":"https://d-kuro.github.io/diaries/202001/20200108/","publishdate":"2020-01-07T15:03:21Z","relpermalink":"/diaries/202001/20200108/","section":"diaries","summary":"Diary None Note Introducing Datadog Agent 7 https://www.datadoghq.com/blog/introducing-agent7-with-python3/ Datadog の custome checks 一覧下のリンクで確認できて便利 https://app.datadoghq.com/compatibility_check io","tags":null,"title":"2020-01-08","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I have not read the book 😇 Note Kubernetesの動向予測 2019 =\u0026gt; 2020 http://gihyo.jp/admin/column/newyear/2020/kubernetes-prospect 青山さんの A Deep Dive into eBPF: The Technology that Powers Tracee https://blog.aquasec.com/intro-ebpf-tracing-containers Go のコードで説明されてる, ちゃんと読みたい [Go] GitHub Actionsでキャッシュ機能を使う #github https://budougumi0617.github.io/2019/11/03/use-cache-in-github-actions/ https://github.com/actions/cache/blob/master/examples.md#go---modules 便利 Support Custom Pod Status for PodReadinessGate to Block Premature Pod Termination https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/905 ALB Ingress の IP mode (Pod に直接ルーティングする方) でタイムアウトが起きるという話 Toolbox App 1.11: What’s New. https://blog.jetbrains.com/blog/2018/08/23/toolbox-app-1-11-whats-new/ \u0026ldquo;Command-line launchers (Shell scripts) for installed IDEs\u0026rdquo; を有効にするとターミナルで goland /path/to/dir とかで開けるようになるので便利 Successful \u0026amp; Short Kubernetes Stories For DevOps Architects https://itnext.io/successful-short-kubernetes-stories-for-devops-architects-677f8bfed803) eBay や Airbnb, Amadeus が Kubernetes を選択した理由とその経緯 2019 Kubernetes Contributor Experience Survey https://www.surveymonkey.com/r/VYRJZ5G) Contributor Experience Survey Week Ending January 5, 2020 | Last Week in Kubernetes Development http://lwkd.info/2020/20200106) 大きな変更は無さそう いくつかロールバックされてる FairwindsOps/goldilocks: Get your resource requests \u0026ldquo;Just Right\u0026rdquo; https://github.com/FairwindsOps/goldilocks) VPA 入れるといい感じに表示してくれるダッシュボード ahmetb/kubectl-tree: kubectl plugin to browse Kubernetes object hierarchies as a tree 🎄 (using? star the repo!) https://github.com/ahmetb/kubectl-tree Deployment と ReplicaSet と Pod をツリー表示してくれる kubectl プラグイン ","date":1578322981,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578322981,"objectID":"ef983ced1339b19e744bb07e6df0bf08","permalink":"https://d-kuro.github.io/diaries/202001/20200107/","publishdate":"2020-01-06T15:03:01Z","relpermalink":"/diaries/202001/20200107/","section":"diaries","summary":"Diary I have not read the book 😇 Note Kubernetesの動向予測 2019 =\u0026gt; 2020 http://gihyo.jp/admin/column/newyear/2020/kubernetes-prospect 青山","tags":null,"title":"2020-01-07","type":"diaries"},{"authors":null,"categories":["Kubernetes"],"content":"この記事では Kubernetes の Leader election について解説していきます。\nKubernetes における Leader election Kubernetes における Leader election は Controller 間の競合を防ぐために使われます。\n例として Deployment を watch して処理を行う Controller の Pod がある場合に Replica の Pod が 2 台だと 1 つの Deployment の操作に対して 2 つの Pod が処理を行うため, 場合によっては競合してしまいます。 そのような競合を防ぐために Kubernetes では clinet-go に Leader election の仕組みが用意されています。 Leader election を使用するとリーダーとなる Controller が reconciliation loop を実行している間, 他の Controller は待機します。 リーダーが辞任した場合待機していた Controller がリーダーに昇格し, すぐに処理を再開することができます。\n可用性が必要な Controller 以外の場合は replicas: 1 にすれば問題ない, と思うかもしれませんが Deployment の strategy を RollingUpdate にしている場合は一時的に 2 つの Pod が動作する状況が存在するため, 注意が必要です。\n本ブログでは以下の 2 つの Leader election の実装について解説していきます。\n Leader-for-life github.com/operator-framework/operator-sdk/pkg/leader Leader-with-lease github.com/kubernetes-sigs/controller-runtime/pkg/leaderelection 上記の名前は Operator SDK のドキュメントから持ってきています。\nhttps://docs.openshift.com/container-platform/4.1/applications/operator_sdk/osdk-leader-election.html\n追記: Kubernetes Meetup Tokyo #27 で LT しました Leader-for-life Leader-for-life は Operator SDK が提供している Leader election の仕組みです。\n仕組みは単純で OwnerReference がリーダーの Pod である ConfigMap を作成し, ロックします。 Pod が削除されると Kubernetes のガベージコレクションの仕組みにより ConfigMap も自動的に削除されるため, 他の Pod がリーダーを獲得することができます。\nGarbage Collection - Kubernetes\n使用の際には以下の用に Pod の名前を環境変数として渡してあげる必要があります。\n- name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name 作成される ConfigMap の例:\napiVersion: v1 kind: ConfigMap metadata: creationTimestamp: \u0026quot;2019-12-27T04:26:18Z\u0026quot; name: operator-lock namespace: default ownerReferences: - apiVersion: v1 kind: Pod name: operator-787d565ff9-xzf69 uid: fb50cbf0-2860-11ea-8930-065483f65576 resourceVersion: \u0026quot;27146109\u0026quot; selfLink: /api/v1/namespaces/default/configmaps/operator-lock uid: 07468a04-2861-11ea-8930-065483f65576 利用するための関数は次のようになっています。\nfunc Become(ctx context.Context, lockName string) error https://godoc.org/github.com/operator-framework/operator-sdk/pkg/leader#Become\n使用する際には次のように使用します。\nimport ( ... \u0026quot;github.com/operator-framework/operator-sdk/pkg/leader\u0026quot; ) func main() { ... err = leader.Become(context.TODO(), \u0026quot;memcached-operator-lock\u0026quot;) if err != nil { log.Error(err, \u0026quot;Failed to retry for leader lock\u0026quot;) os.Exit(1) } ... } 以下では詳しくコードを見ていきます。\nOwnerReference を作成する 環境変数 POD_NAME より自身の Pod の name を取得して Pod を取得後, その情報を用いて OwnerReference を作成します。\nowner, err := myOwnerRef(ctx, client, ns) https://github.com/operator-framework/operator-sdk/blob/v0.13.0/pkg/leader/leader.go#L67\nConfigMap を取得し, Owner を確認する ここで一度 ConfigMap を取得します。 取得した結果, 自身が Owner であることが確認でした場合は nil を return し関数を終了します。\nリーダーである Pod が再起動された場合はここのロジックでリーダーを継続することができます。\n// check for existing lock from this pod, in case we got restarted existing := \u0026amp;corev1.ConfigMap{} key := crclient.ObjectKey{Namespace: ns, Name: lockName} err = client.Get(ctx, key, existing) switch { case err == nil: for _, existingOwner := range existing.GetOwnerReferences() { if existingOwner.Name == owner.Name { log.Info(\u0026quot;Found existing lock with my name. I was likely restarted.\u0026quot;) log.Info(\u0026quot;Continuing as the leader.\u0026quot;) return nil } log.Info(\u0026quot;Found existing lock\u0026quot;, \u0026quot;LockOwner\u0026quot;, existingOwner.Name) } case apierrors.IsNotFound(err): log.Info(\u0026quot;No pre-existing lock was found.\u0026quot;) default: log.Error(err, \u0026quot;Unknown error trying to get ConfigMap\u0026quot;) return err } https://github.com/operator-framework/operator-sdk/blob/v0.13.0/pkg/leader/leader.go#L72-L92\nConfigMap の作成を試行する for でループしながら ConfigMap の作成を試行します。 このループは ConfigMap が作成され, 自身がリーダーになるまで実行されます。\nリーダーの Pod が evict された場合はその Pod の削除を行います。\n// try to create a lock backoff := time.Second for { err := client.Create(ctx, cm) switch { case err == nil: log.Info(\u0026quot;Became the leader.\u0026quot;) return nil case apierrors.IsAlreadyExists(err): existingOwners := existing.GetOwnerReferences() switch { case len(existingOwners) != 1: log.Info(\u0026quot;Leader lock configmap must have exactly one owner reference.\u0026quot;, \u0026quot;ConfigMap\u0026quot;, existing) case existingOwners[0].Kind != \u0026quot;Pod\u0026quot;: log.Info(\u0026quot;Leader lock configmap owner reference must be a pod.\u0026quot;, \u0026quot;OwnerReference\u0026quot;, existingOwners[0]) default: leaderPod := \u0026amp;corev1.Pod{} key = crclient.ObjectKey{Namespace: ns, Name: existingOwners[0].Name} err = client.Get(ctx, key, leaderPod) switch { case apierrors.IsNotFound(err): log.Info(\u0026quot;Leader pod has been deleted, waiting for garbage collection do remove the lock.\u0026quot;) case err != nil: return err case isPodEvicted(*leaderPod) \u0026amp;\u0026amp; leaderPod.GetDeletionTimestamp() == nil: log.Info(\u0026quot;Operator pod with leader lock has been evicted.\u0026quot;, \u0026quot;leader\u0026quot;, leaderPod.Name) log.Info(\u0026quot;Deleting evicted leader.\u0026quot;) // Pod may not delete immediately, continue with backoff err := client.Delete(ctx, leaderPod) if err != nil { log.Error(err, \u0026quot;Leader pod could not be deleted.\u0026quot;) } default: log.Info(\u0026quot;Not the leader. Waiting.\u0026quot;) } } select { case \u0026lt;-time.After(wait.Jitter(backoff, .2)): if backoff \u0026lt; maxBackoffInterval { backoff *= 2 } continue case \u0026lt;-ctx.Done(): return ctx.Err() } default: log.Error(err, \u0026quot;Unknown error creating ConfigMap\u0026quot;) return err } } https://github.com/operator-framework/operator-sdk/blob/v0.13.0/pkg/leader/leader.go#L102-L153\nLeader-with-lease Leader-with-lease は controller-runtime が提供している Leader election の仕組みです。\nhttps://godoc.org/github.com/kubernetes-sigs/controller-runtime/pkg/leaderelection\n中では client-go で提供されてる leaderelection package を使用しています。\nhttps://godoc.org/k8s.io/client-go/tools/leaderelection\nLeader-with-lease の仕組みは先程の Leader-for-life と同じように ConfigMap または Endpoints を用いて分散ロックを実現しています。 ロックを取得する Controller はリーダーになり, 取得できない Controller は待機します。 Leader-for-life と違う点はリース期間が設定されている点です。 リーダーは定期的にリースを更新しています。 リーダーが何らかの理由で死ぬとリースは期限切れになり, 待機していた Controller がリーダーを獲得しようとします。\nこの仕組みは現時点で Alpha であり将来的に大幅に変更または削除される可能性があることが記載されています。\n使用する際には以下のように使用します。\nimport ( ... \u0026quot;sigs.k8s.io/controller-runtime/pkg/manager\u0026quot; ) func main() { ... opts := manager.Options{ ... LeaderElection: true, LeaderElectionID: \u0026quot;memcached-operator-lock\u0026quot; } mgr, err := manager.New(cfg, opts) ... } 以下では詳しくコードを見ていきます。\nManager の初期化 上記のコードで言うと以下の部分です。\nmgr, err := manager.New(cfg, opts) manager.New() 関数の中で, Leader election に関する初期化を行っています。\n// Create the resource lock to enable leader election) resourceLock, err := options.newResourceLock(config, recorderProvider, leaderelection.Options{ LeaderElection: options.LeaderElection, LeaderElectionID: options.LeaderElectionID, LeaderElectionNamespace: options.LeaderElectionNamespace, }) https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/pkg/manager/manager.go#L265-L270\nnewResourceLock は setOptionsDefaults という関数で初期化されています。\n// setOptionsDefaults set default values for Options fields func setOptionsDefaults(options Options) Options { ... // Allow newResourceLock to be mocked if options.newResourceLock == nil { options.newResourceLock = leaderelection.NewResourceLock } ... } https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/pkg/manager/manager.go#L375-L378\nleaderelection.NewResourceLock() 関数を見ていきます。 ここで client-go の leaderelection package を使用しているのがわかります。\nimport ( ... \u0026quot;k8s.io/client-go/tools/leaderelection/resourcelock\u0026quot; ... ) // NewResourceLock creates a new config map resource lock for use in a leader // election loop func NewResourceLock(config *rest.Config, recorderProvider recorder.Provider, options Options) (resourcelock.Interface, error) { // TODO(JoelSpeed): switch to leaderelection object in 1.12 return resourcelock.New(resourcelock.ConfigMapsResourceLock, options.LeaderElectionNamespace, options.LeaderElectionID, client.CoreV1(), client.CoordinationV1(), resourcelock.ResourceLockConfig{ Identity: id, EventRecorder: recorderProvider.GetEventRecorderFor(id), }) } https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/pkg/leaderelection/leader_election.go#L82-L91\nresourcelock.New() 関数の引数に resourcelock.ConfigMapsResourceLock という値を渡しており, controller-runtime では ConfigMap を用いる方法で分散ロックを実現していることがわかります。\nLeader election の実行 Manager は Start() という関数で実行されます。 Leader election の実行もこの中で行っています。\nfunc (cm *controllerManager) Start(stop \u0026lt;-chan struct{}) error { ... if cm.resourceLock != nil { err := cm.startLeaderElection() if err != nil { return err } } else { go cm.startLeaderElectionRunnables() } ... https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/pkg/manager/internal.go#L424-L431\ncm.startLeaderElection() 関数を見ていきます。 client-go の leaderelection package を使用して Leader election プロセスを開始してるのがわかります。\nimport ( ... \u0026quot;k8s.io/client-go/tools/leaderelection\u0026quot; \u0026quot;k8s.io/client-go/tools/leaderelection/resourcelock\u0026quot; ... ) func (cm *controllerManager) startLeaderElection() (err error) { l, err := leaderelection.NewLeaderElector(leaderelection.LeaderElectionConfig{ Lock: cm.resourceLock, LeaseDuration: cm.leaseDuration, RenewDeadline: cm.renewDeadline, RetryPeriod: cm.retryPeriod, Callbacks: leaderelection.LeaderCallbacks{ OnStartedLeading: func(_ context.Context) { cm.startLeaderElectionRunnables() }, OnStoppedLeading: func() { // Most implementations of leader election log.Fatal() here. // Since Start is wrapped in log.Fatal when called, we can just return // an error here which will cause the program to exit. cm.errSignal.SignalError(fmt.Errorf(\u0026quot;leader election lost\u0026quot;)) }, }, }) ... // Start the leader elector process go l.Run(ctx) ... } https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/pkg/manager/internal.go#L510-L544\nLeader election loop 1 つ前のセクションで見た下のコードの中を掘り下げていきます。\n// Start the leader elector process go l.Run(ctx) Run() 関数の中は以下のようになっています。\n// Run starts the leader election loop func (le *LeaderElector) Run(ctx context.Context) { defer func() { runtime.HandleCrash() le.config.Callbacks.OnStoppedLeading() }() if !le.acquire(ctx) { return // ctx signalled done } ctx, cancel := context.WithCancel(ctx) defer cancel() go le.config.Callbacks.OnStartedLeading(ctx) le.renew(ctx) } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L189-L202\nle.acquire() と le.renew() 関数はどちらも内部では le.tryAcquireOrRenew() 関数を呼び出しています。 le.acquire() では le.tryAcquireOrRenew() 関数が成功した場合は終了し, 失敗した場合は一定の周期でリトライされます。 le.renew() ではその逆で le.tryAcquireOrRenew() 関数が失敗した場合は終了し, 成功した場合は一定の周期でリトライされます。\nわかりやすい言葉で説明すると, le.acquire() ではリーダーを獲得できるまでリトライを行い, le.renew() ではリーダー獲得できている間リトライを行います。 リーダーをロストした場合は defer で実行している le.config.Callbacks.OnStoppedLeading() というコールバック関数でエラーを返し, Controller を終了させます。 こうすることにより Kubernetes の Deployment 等の仕組みにより新しい Pod が起動し, また Leader election loop を実行することができます。\nCallbacks: leaderelection.LeaderCallbacks{ OnStartedLeading: func(_ context.Context) { cm.startLeaderElectionRunnables() }, OnStoppedLeading: func() { // Most implementations of leader election log.Fatal() here. // Since Start is wrapped in log.Fatal when called, we can just return // an error here which will cause the program to exit. cm.errSignal.SignalError(fmt.Errorf(\u0026quot;leader election lost\u0026quot;)) }, }, https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/pkg/manager/internal.go#L516-L525\n le.acquire() Details // acquire loops calling tryAcquireOrRenew and returns true immediately when tryAcquireOrRenew succeeds. // Returns false if ctx signals done. func (le *LeaderElector) acquire(ctx context.Context) bool { ctx, cancel := context.WithCancel(ctx) defer cancel() succeeded := false desc := le.config.Lock.Describe() klog.Infof(\u0026quot;attempting to acquire leader lease %v...\u0026quot;, desc) wait.JitterUntil(func() { succeeded = le.tryAcquireOrRenew() le.maybeReportTransition() if !succeeded { klog.V(4).Infof(\u0026quot;failed to acquire lease %v\u0026quot;, desc) return } le.config.Lock.RecordEvent(\u0026quot;became leader\u0026quot;) le.metrics.leaderOn(le.config.Name) klog.Infof(\u0026quot;successfully acquired lease %v\u0026quot;, desc) cancel() }, le.config.RetryPeriod, JitterFactor, true, ctx.Done()) return succeeded } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L228-L249\n le.renew() Details // renew loops calling tryAcquireOrRenew and returns immediately when tryAcquireOrRenew fails or ctx signals done. func (le *LeaderElector) renew(ctx context.Context) { ctx, cancel := context.WithCancel(ctx) defer cancel() wait.Until(func() { timeoutCtx, timeoutCancel := context.WithTimeout(ctx, le.config.RenewDeadline) defer timeoutCancel() err := wait.PollImmediateUntil(le.config.RetryPeriod, func() (bool, error) { done := make(chan bool, 1) go func() { defer close(done) done \u0026lt;- le.tryAcquireOrRenew() }() select { case \u0026lt;-timeoutCtx.Done(): return false, fmt.Errorf(\u0026quot;failed to tryAcquireOrRenew %s\u0026quot;, timeoutCtx.Err()) case result := \u0026lt;-done: return result, nil } }, timeoutCtx.Done()) le.maybeReportTransition() desc := le.config.Lock.Describe() if err == nil { klog.V(5).Infof(\u0026quot;successfully renewed lease %v\u0026quot;, desc) return } le.config.Lock.RecordEvent(\u0026quot;stopped leading\u0026quot;) le.metrics.leaderOff(le.config.Name) klog.Infof(\u0026quot;failed to renew lease %v: %v\u0026quot;, desc, err) cancel() }, le.config.RetryPeriod, ctx.Done()) // if we hold the lease, give it up if le.config.ReleaseOnCancel { le.release() } } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L251-L289\n 以下では, le.tryAcquireOrRenew() 関数の中を詳しく見ていきます。\nle.tryAcquireOrRenew() le.tryAcquireOrRenew() Details // tryAcquireOrRenew tries to acquire a leader lease if it is not already acquired, // else it tries to renew the lease if it has already been acquired. Returns true // on success else returns false. func (le *LeaderElector) tryAcquireOrRenew() bool { now := metav1.Now() leaderElectionRecord := rl.LeaderElectionRecord{ HolderIdentity: le.config.Lock.Identity(), LeaseDurationSeconds: int(le.config.LeaseDuration / time.Second), RenewTime: now, AcquireTime: now, } // 1. obtain or create the ElectionRecord oldLeaderElectionRecord, err := le.config.Lock.Get() if err != nil { if !errors.IsNotFound(err) { klog.Errorf(\u0026quot;error retrieving resource lock %v: %v\u0026quot;, le.config.Lock.Describe(), err) return false } if err = le.config.Lock.Create(leaderElectionRecord); err != nil { klog.Errorf(\u0026quot;error initially creating leader election record: %v\u0026quot;, err) return false } le.observedRecord = leaderElectionRecord le.observedTime = le.clock.Now() return true } // 2. Record obtained, check the Identity \u0026amp; Time if !reflect.DeepEqual(le.observedRecord, *oldLeaderElectionRecord) { le.observedRecord = *oldLeaderElectionRecord le.observedTime = le.clock.Now() } if len(oldLeaderElectionRecord.HolderIdentity) \u0026gt; 0 \u0026amp;\u0026amp; le.observedTime.Add(le.config.LeaseDuration).After(now.Time) \u0026amp;\u0026amp; !le.IsLeader() { klog.V(4).Infof(\u0026quot;lock is held by %v and has not yet expired\u0026quot;, oldLeaderElectionRecord.HolderIdentity) return false } // 3. We're going to try to update. The leaderElectionRecord is set to it's default // here. Let's correct it before updating. if le.IsLeader() { leaderElectionRecord.AcquireTime = oldLeaderElectionRecord.AcquireTime leaderElectionRecord.LeaderTransitions = oldLeaderElectionRecord.LeaderTransitions } else { leaderElectionRecord.LeaderTransitions = oldLeaderElectionRecord.LeaderTransitions + 1 } // update the lock itself if err = le.config.Lock.Update(leaderElectionRecord); err != nil { klog.Errorf(\u0026quot;Failed to update lock: %v\u0026quot;, err) return false } le.observedRecord = leaderElectionRecord le.observedTime = le.clock.Now() return true } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L308-L365\n 更新に使用する LeaderElectionRecord の作成 はじめに, 更新に使用する LeaderElectionRecord の作成を行います。\nLeaderElectionRecord とは, ロックに用いる Object の control-plane.alpha.kubernetes.io/leader annotation に JSON で格納される struct です。 誰がロックを獲得しているかなどの情報が格納されており, この情報を元にロックの制御を行います。\nnow := metav1.Now() leaderElectionRecord := rl.LeaderElectionRecord{ HolderIdentity: le.config.Lock.Identity(), LeaseDurationSeconds: int(le.config.LeaseDuration / time.Second), RenewTime: now, AcquireTime: now, } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L312-L318\n LeaderElectionRecord Details // LeaderElectionRecord is the record that is stored in the leader election annotation. // This information should be used for observational purposes only and could be replaced // with a random string (e.g. UUID) with only slight modification of this code. // TODO(mikedanese): this should potentially be versioned type LeaderElectionRecord struct { // HolderIdentity is the ID that owns the lease. If empty, no one owns this lease and // all callers may acquire. Versions of this library prior to Kubernetes 1.14 will not // attempt to acquire leases with empty identities and will wait for the full lease // interval to expire before attempting to reacquire. This value is set to empty when HolderIdentity string `json:\u0026quot;holderIdentity\u0026quot;` LeaseDurationSeconds int `json:\u0026quot;leaseDurationSeconds\u0026quot;` AcquireTime metav1.Time `json:\u0026quot;acquireTime\u0026quot;` RenewTime metav1.Time `json:\u0026quot;renewTime\u0026quot;` LeaderTransitions int `json:\u0026quot;leaderTransitions\u0026quot;` } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/resourcelock/interface.go#L35-L50\n LeaderElectionRecord の取得 LeaderElectionRecord の取得 or 作成を行います。\n// 1. obtain or create the ElectionRecord oldLeaderElectionRecord, err := le.config.Lock.Get() if err != nil { if !errors.IsNotFound(err) { klog.Errorf(\u0026quot;error retrieving resource lock %v: %v\u0026quot;, le.config.Lock.Describe(), err) return false } if err = le.config.Lock.Create(leaderElectionRecord); err != nil { klog.Errorf(\u0026quot;error initially creating leader election record: %v\u0026quot;, err) return false } le.observedRecord = leaderElectionRecord le.observedTime = le.clock.Now() return true } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L320-L334\nロックの所有者とリース時間の確認 取得した LeaderElectionRecord の情報を取り込み, ロックの所有者と時間の確認を行います。\n現在のロックを保持しているのが自身ではなく, 最後に確認した時間がリース時間を超えていない場合は, 現在のロックは他人に確保されているとみなし, false を return します。 これより下のロジックは, 自身がリーダーである場合かリーダーの入れ替えを行う際に通過します。\n// 2. Record obtained, check the Identity \u0026amp; Time if !reflect.DeepEqual(le.observedRecord, *oldLeaderElectionRecord) { le.observedRecord = *oldLeaderElectionRecord le.observedTime = le.clock.Now() } if len(oldLeaderElectionRecord.HolderIdentity) \u0026gt; 0 \u0026amp;\u0026amp; le.observedTime.Add(le.config.LeaseDuration).After(now.Time) \u0026amp;\u0026amp; !le.IsLeader() { klog.V(4).Infof(\u0026quot;lock is held by %v and has not yet expired\u0026quot;, oldLeaderElectionRecord.HolderIdentity) return false } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L336-L346\nLeaderElectionRecord フィールドの更新 更新用の LeaderElectionRecord のフィールドを更新します。\n自身がリーダーである場合は AcquireTime には古い値を使用します。 リーダーの入れ替え時には LeaderTransitions に 1 を加算します。\n// 3. We're going to try to update. The leaderElectionRecord is set to it's default // here. Let's correct it before updating. if le.IsLeader() { leaderElectionRecord.AcquireTime = oldLeaderElectionRecord.AcquireTime leaderElectionRecord.LeaderTransitions = oldLeaderElectionRecord.LeaderTransitions } else { leaderElectionRecord.LeaderTransitions = oldLeaderElectionRecord.LeaderTransitions + 1 } https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L348-L355\nロック情報の更新 ロックの情報を更新します。\nロックには Kubernetes の Object を用いているため Kubernetes API の Atomicity の仕組みを利用することができます。 Kubernetes の API Server は Object の 更新時に指定された resourceVersion と現在の resourceVersion が一致することを確認し, 更新操作の間に他の更新が行われていないことを確認します。\nKubernetes API Concepts #Resource Versions - Kubernetes\n// update the lock itself if err = le.config.Lock.Update(leaderElectionRecord); err != nil { klog.Errorf(\u0026quot;Failed to update lock: %v\u0026quot;, err) return false } le.observedRecord = leaderElectionRecord le.observedTime = le.clock.Now() return true https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/leaderelection.go#L357-L364\nReference Configuring leader election - Operator SDK | Applications | OpenShift Container Platform 4.1 11.6. リーダー選択の設定 4.2 | Red Hat Customer Portal kubernetes 自定义控制器的高可用 ","date":1578240592,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578240592,"objectID":"d9e88c49cb732094acf327bfbe1b7233","permalink":"https://d-kuro.github.io/post/kubernetes-leader-election/","publishdate":"2020-01-06T01:09:52+09:00","relpermalink":"/post/kubernetes-leader-election/","section":"post","summary":"この記事では Kubernetes の Leader election について解説していきます。\n","tags":["Kubernetes"],"title":"Kubernetes Leader Election in Depth","type":"post"},{"authors":null,"categories":null,"content":"Diary I published blog https://d-kuro.github.io/posts/kubernetes-leader-election/ Note Golang IO Cookbook https://github.com/jesseduffield/notes/wiki/Golang-IO-Cookbook Go の I/O に関する Cookbook Service 間通信を Envoy 経由で行い、Metrics を取得する https://blog.chaspy.me/entry/2020/01/05/120000 Envoy なんもわからん 分散システムのリーダー選挙 https://aws.amazon.com/jp/builders-library/leader-election-in-distributed-systems/?did=ba_card\u0026amp;trk=ba_card AWS でも一番使われている Leader Election はリースらしい ベストプラクティスも載ってる Operator SDK Version upgrade guide https://github.com/operator-framework/operator-sdk/blob/master/doc/migration/version-upgrade-guide.md バージョン上げるために読んでる 基本は依存ライブラリの更新っぽい dependabot とか使わないほうがいいのかな EKSのIAM Role for Service Accountsを使用するときにはSTSのリージョナルエンドポイントを使うように設定しようという話 https://katainaka0503.hatenablog.com/entry/2020/01/06/184314 AWS_STS_REGIONAL_ENDPOINTS=regional ","date":1578236581,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578236581,"objectID":"0d5b2b0768609ddfa03511012a8c39a4","permalink":"https://d-kuro.github.io/diaries/202001/20200106/","publishdate":"2020-01-05T15:03:01Z","relpermalink":"/diaries/202001/20200106/","section":"diaries","summary":"Diary I published blog https://d-kuro.github.io/posts/kubernetes-leader-election/ Note Golang IO Cookbook https://github.com/jesseduffield/notes/wiki/Golang-IO-Cookbook Go の I/O に関する Cookbook Service 間通信を Envoy 経由で行い、","tags":null,"title":"2020-01-06","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Go: Concurrency \u0026amp; Scheduler Affinity https://medium.com/a-journey-with-go/go-concurrency-scheduler-affinity-3b678f490488 goroutine の仕組み Lectures | UTokyo OpenCourseWare] https://ocw.u-tokyo.ac.jp/lecture-search/?fq%5Bsubject_codes%5D%5B0%5D=540 東大の CS 講義 ghq v1リリースとghq-handbookのお知らせ https://songmu.jp/riji/entry/2020-01-05-ghq-v1.html ないと生きていけないツール ","date":1578227318,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578227318,"objectID":"2717d8454b49f496e24e6424e145c969","permalink":"https://d-kuro.github.io/diaries/202001/20200105/","publishdate":"2020-01-05T21:28:38+09:00","relpermalink":"/diaries/202001/20200105/","section":"diaries","summary":"Diary None Note Go: Concurrency \u0026amp; Scheduler Affinity https://medium.com/a-journey-with-go/go-concurrency-scheduler-affinity-3b678f490488 goroutine の仕組み Lectures | UTokyo OpenCourseWare] https://ocw.u-tokyo.ac.jp/lecture-search/?fq%5Bsubject_codes%5D%5B0%5D=540 東大の CS 講義 ghq v1リリ","tags":null,"title":"2020-01-05","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Hugo v0.60.0 更新後、Markdown に HTML を入れている場合。 https://blog.balloon.im/2019/11/hugo-v0.60.0-%E6%9B%B4%E6%96%B0%E5%BE%8Cmarkdown-%E3%81%AB-html-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88/ 見事にハマった Markdown のレンダリングエンジンが goldmark に変わったので unsafe を有効にしないといけない config.toml に以下を記載 [markup.goldmark.renderer] unsafe = true 【初心者用】Hugoで作成したブログをGoogle検索結果に表示させる方法【Google Search Console】 https://tc-minami.github.io/2018/12/google-search-console やってなかったので Goole 検索に出てきてなかった Google search console で登録してサイトマップに index.xml を登録しようという話 ","date":1578064849,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1578064849,"objectID":"d9b770d715d09411a8d4664dc1770bc9","permalink":"https://d-kuro.github.io/diaries/202001/20200104/","publishdate":"2020-01-04T00:20:49+09:00","relpermalink":"/diaries/202001/20200104/","section":"diaries","summary":"Diary None Note Hugo v0.60.0 更新後、Markdown に HTML を入れている場合。 https://blog.balloon.im/2019/11/hugo-v0.60.0-%E6%9B%B4%E6%96%B0%E5%BE%8Cmarkdown-%E3%81%AB-html-%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88/ 見","tags":null,"title":"2020-01-04","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I bought Programming Kubernetes Note Host on GitHub | Hugo https://gohugo.io/hosting-and-deployment/hosting-on-github/ GitHub pages で \u0026lt;USERNAME\u0026gt;.github.io ってリポジトリの master ブランチにコンテンツ置くとユーザーページになるの知らなかった 個別のリポジトリで GitHub pages を設定すると https://\u0026lt;USERNAME\u0026gt;.github.io/\u0026lt;REPO\u0026gt;/ って URL になる Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門 https://www.slideshare.net/pfi/kubernete-meetup-tokyo-18-kubebuildercontrollerruntime 現地で聞いたとき何もわからんなって思ってたけど今ならわかる Kubernetes production best practices https://learnk8s.io/production-best-practices Check list Understanding kubernetes networking: pods https://medium.com/google-cloud/understanding-kubernetes-networking-pods-7117dd28727 Pod のネットワーキングについて ","date":1577977312,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577977312,"objectID":"0ba95253efb75c11f7417e4ba1f93079","permalink":"https://d-kuro.github.io/diaries/202001/20200103/","publishdate":"2020-01-02T15:01:52Z","relpermalink":"/diaries/202001/20200103/","section":"diaries","summary":"Diary I bought Programming Kubernetes Note Host on GitHub | Hugo https://gohugo.io/hosting-and-deployment/hosting-on-github/ GitHub pages で \u0026lt;USERNAME\u0026gt;.github.io ってリポジトリの master ブランチに","tags":null,"title":"2020-01-03","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note KubernetesでRollingUpdateするためのPodの安全な終了 https://tech-lab.sios.jp/archives/18730 いつもの sleep とかの話 Kubernetes - Plugins | JetBrains https://plugins.jetbrains.com/plugin/10485-kubernetes JetBrains IDE の Kubernetes plugin, VSCode で書くより遥かに体験がいいけど YAML 書くために JetBrains IDE 起動したくないというジレンマがある A Practical Guide to Setting Kubernetes Requests and Limits http://blog.kubecost.com/blog/requests-and-limits/?utm_sq=g99e5gas9j Pod の resources の決め方 limits を 2x requests にしろとか書いてあるけどこれには反対で特に memory は requests と limits 同じにしたほうがいいと思ってる ","date":1577890908,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577890908,"objectID":"93f55ee6c2a4bfdbe74928feadd74225","permalink":"https://d-kuro.github.io/diaries/202001/20200102/","publishdate":"2020-01-01T15:01:48Z","relpermalink":"/diaries/202001/20200102/","section":"diaries","summary":"Diary None Note KubernetesでRollingUpdateするた","tags":null,"title":"2020-01-02","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Happy new year 🥳 Note 2019年発表された Datadog のプロダクトを勝手に紹介していく https://yasuharu519.hatenablog.com/entry/2019/12/14/002155 Network performance monitoring, 入れてみてるんだけど有効活用できてないのでもっと活用していきたい Why are my Go executable files so large? https://www.cockroachlabs.com/blog/go-file-size/ Go のバイナリサイズが runtime.pclntab というシンボルテーブルがソースコードのサイズに比して super-linear に肥大するため膨れてしまうという話, らしい Fate/Grand Orderにおける大規模なデータベース移行と負荷試験 https://www.slideshare.net/MorioImai/fategrand-order \u0026ldquo;負荷試験は決して片手間にやるものではなく、専任の担当者が、余裕を持ったスケジュールで行うべきです\u0026rdquo; いいはなしすぎる https://twitter.com/voluntas/status/1212278094104416257 ","date":1577804507,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577804507,"objectID":"4aae803cde74e2d5bd8f48e6f077ec37","permalink":"https://d-kuro.github.io/diaries/202001/20200101/","publishdate":"2019-12-31T15:01:47Z","relpermalink":"/diaries/202001/20200101/","section":"diaries","summary":"Diary Happy new year 🥳 Note 2019年発表された Datadog のプロダクトを勝手に紹介し","tags":null,"title":"2020-01-01","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Note KubernetesのService Accountについて調べてみた https://qiita.com/knqyf263/items/ecc799650fe247dce9c5 ラベルとjsonpathを使ったkubectl/ocの出力のフィルタリング https://zaki-hmkc.hatenablog.com/entry/2019/12/30/093754 jsonpath 使いこなせなさすぎるマン Kubernetes The Hard Way(日本語版) https://github.com/inductor/kubernetes-the-hard-way 日本語版 Envoy + SPIRE + OPA で Service Mesh を構築する https://qiita.com/ryysud/items/bbfc730e17f53be65ce0 OPA なんもわからん ","date":1577718101,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577718101,"objectID":"358c9edf791b0bd5d0260da06bf9d0da","permalink":"https://d-kuro.github.io/diaries/201912/20191231/","publishdate":"2019-12-30T15:01:41Z","relpermalink":"/diaries/201912/20191231/","section":"diaries","summary":"Diary Note KubernetesのService Accountについ","tags":null,"title":"2019-12-31","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note 働きながら米国のコンピュータサイエンスの学士号を取得する、UoPeopleという選択肢 https://tmkk.hatenablog.com/entry/2019/12/30/191131 学士ほしい…… HTTP/3をUDPロードバランサで分散するときの問題点 (AWS NLBで試してみた) https://asnokaze.hatenablog.com/entry/2019/12/30/201331 UDP 使うぐらいしか知らなかったけど, stateful なんだ GitOpsで絶対に避けて通れないブランチ戦略 https://amaya382.hatenablog.jp/entry/2019/12/02/192159 GitOps, manifest を別のリポジトリに切り出せみたいなのがベストプラクティスみたいな感じになってるけど monorepo だとそのまま打ち込んでおきたいよなみたいな気持ちになってる ","date":1577631698,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577631698,"objectID":"35a0e9a43cfca5e076f00a03db773539","permalink":"https://d-kuro.github.io/diaries/201912/20191230/","publishdate":"2019-12-29T15:01:38Z","relpermalink":"/diaries/201912/20191230/","section":"diaries","summary":"Diary None Note 働きながら米国のコンピュータサイエンスの学士号を取得す","tags":null,"title":"2019-12-30","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I reading Practical Monitoring Note Service Mesh Comparison https://servicemesh.es/?utm_sq=g93pkk1sp2 各 Service Mesh の比較 Open Microservice Specification https://openmicroservices.org/about.html How to Build a Custom Kubernetes Ingress Controller in Go http://www.doxsey.net/blog/how-to-build-a-custom-kubernetes-ingress-controller-in-go Ingress Contoller の実装の話, 大変そう ","date":1577545300,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577545300,"objectID":"fb5c8c0d8f6b69a52e942be9372855ae","permalink":"https://d-kuro.github.io/diaries/201912/20191229/","publishdate":"2019-12-28T15:01:40Z","relpermalink":"/diaries/201912/20191229/","section":"diaries","summary":"Diary I reading Practical Monitoring Note Service Mesh Comparison https://servicemesh.es/?utm_sq=g93pkk1sp2 各 Service Mesh の比較 Open Microservice Specification https://openmicroservices.org/about.html How to Build a Custom Kubernetes Ingress Controller in Go","tags":null,"title":"2019-12-29","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note Goでリバースプロキシつくるときにつかえる net/http/httputil.ReverseProxy の紹介 https://qiita.com/convto/items/64e8f090198a4cf7a4fc 便利 pkg/errors から徐々に Go 1.13 errors へ移行する https://syfm.hatenablog.com/entry/2019/12/27/193348 errors package, スタックトレース入れてほしい ","date":1577458900,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577458900,"objectID":"c63ec35a9f773a5d4e8b9b42919eab04","permalink":"https://d-kuro.github.io/diaries/201912/20191228/","publishdate":"2019-12-27T15:01:40Z","relpermalink":"/diaries/201912/20191228/","section":"diaries","summary":"Diary None Note Goでリバースプロキシつくるときにつかえる net/http/httputil.ReverseProxy の紹介 https://qiita.com/convto/items/64e8f090198a4cf7a4fc 便","tags":null,"title":"2019-12-28","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None\nNote Kubernetes Pod Escape Using Log Mounts https://blog.aquasec.com/kubernetes-security-pod-escape-log-mounts Kubernetes の logging について What\u0026rsquo;s next for monitoring Kubernetes https://www.datadoghq.com/ja/blog/whats-next-monitoring-kubernetes/ ExtendedDaemonSet と Datadog Operator, 期待 https://github.com/DataDog/extendeddaemonset https://github.com/DataDog/datadog-operator ","date":1577372528,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577372528,"objectID":"21fbb8c9fa0d4afcc6fa92130f43aedb","permalink":"https://d-kuro.github.io/diaries/201912/20191227/","publishdate":"2019-12-26T15:02:08Z","relpermalink":"/diaries/201912/20191227/","section":"diaries","summary":"Diary None Note Kubernetes Pod Escape Using Log Mounts https://blog.aquasec.com/kubernetes-security-pod-escape-log-mounts Kubernetes の logging について What\u0026rsquo;s next for monitoring Kubernetes https://www.datadoghq.com/ja/blog/whats-next-monitoring-kubernetes/ ExtendedDaemonSet と Datadog Operator, 期待 https://github.com/DataDog/extendeddaemonset","tags":null,"title":"2019-12-27","type":"diaries"},{"authors":null,"categories":null,"content":"Diary All Kubernetes clusters migrated version for v1.11 to v1.13 Note Operator SDK の Leader Election について https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.2/html/operators/osdk-leader-election kubernetes 自定义控制器的高可用 http://blog.fatedier.com/2019/04/17/k8s-custom-controller-high-available/ こっちは clinet-go の leaderelection package について Demystifying Istio\u0026rsquo;s Sidecar Injection Model https://istio.io/blog/2019/data-plane-setup/ Istio の sidecar injection の話 Kubernetes 1.17の変更点: SIG Node の変更内容 https://qiita.com/uesyn/items/654dd0c84c269b97b077 ","date":1577286127,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577286127,"objectID":"22f1ce68f93a1254c9dd96d345f050f6","permalink":"https://d-kuro.github.io/diaries/201912/20191226/","publishdate":"2019-12-25T15:02:07Z","relpermalink":"/diaries/201912/20191226/","section":"diaries","summary":"Diary All Kubernetes clusters migrated version for v1.11 to v1.13 Note Operator SDK の Leader Election について https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.2/html/operators/osdk-leader-election kubernetes 自定义控制器的高","tags":null,"title":"2019-12-26","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Merry Christmas 🎄 Note Practice Enough With These 150 Questions for the CKAD Exam https://medium.com/bb-tutorials-and-thoughts/practice-enough-with-these-questions-for-the-ckad-exam-2f42d1228552 CKAD 150 問 Logging Guidelines https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/TMP-LOGGING.md controller-runtime の log についてのガイドライン Log level https://github.com/kubernetes-sigs/controller-runtime/issues/167 プラットフォームの上でものを作るということ https://toris.io/2019/12/what-i-think-about-when-i-think-about-kubernetes-and-ecs/ いい話 goroutine が確保するメモリはスタックにあるという https://twitter.com/sonatard/status/1209877645334216705 Kubernetes 1.17: SIG-Network の変更内容 https://qiita.com/superbrothers/items/fd936c4046459a16609c EndpointSlice, あんまり良くわかってない kubebuilder の MultiVersion Conversion の話 https://book.kubebuilder.io/multiversion-tutorial/conversion-concepts.html Kubernetes 1.17: SIG-CLI の変更内容 https://qiita.com/superbrothers/items/e467738f6987eeb8111a The 10 Hottest Kubernetes Tools And Technologies Of 2019 https://www.crn.com/slide-shows/cloud/the-10-hottest-kubernetes-tools-and-technologies-of-2019/1 ","date":1577199722,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577199722,"objectID":"31521e658a180dfc62be3c8bf15c88ea","permalink":"https://d-kuro.github.io/diaries/201912/20191225/","publishdate":"2019-12-24T15:02:02Z","relpermalink":"/diaries/201912/20191225/","section":"diaries","summary":"Diary Merry Christmas 🎄 Note Practice Enough With These 150 Questions for the CKAD Exam https://medium.com/bb-tutorials-and-thoughts/practice-enough-with-these-questions-for-the-ckad-exam-2f42d1228552 CKAD 150 問 Logging Guidelines https://github.com/kubernetes-sigs/controller-runtime/blob/v0.4.0/TMP-LOGGING.md controller-runtime の log についての","tags":null,"title":"2019-12-25","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Merry Christmas 🎄 Note Go の testing パッケージにアサーションやその他便利関数がない理由 https://golang.org/doc/faq#testing_framework https://golang.org/doc/faq#assertions kustomize edit fix コマンド, 便利かもしれない https://github.com/kubernetes-sigs/kustomize/blob/master/docs/versioningPolicy.md#the-edit-fix-command ","date":1577164784,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577164784,"objectID":"f67627d6e04ba38fa31d0db5483c1212","permalink":"https://d-kuro.github.io/diaries/201912/20191224/","publishdate":"2019-12-24T14:19:44+09:00","relpermalink":"/diaries/201912/20191224/","section":"diaries","summary":"Diary Merry Christmas 🎄 Note Go の testing パッケージにアサーションやその他便利関数がな","tags":null,"title":"2019-12-24","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Upgrading kustomize from v1 to v3 Note より良いコードレビューをするために気をつけていること https://tech.mercari.com/entry/2019/12/22/080000 Go の話 Using Makefile(s) for Go https://danishpraka.sh/2019/12/07/using-makefiles-for-go.html Go で Makefile 使うとのサンプルにしたい Kubernetes Podcast in 2019: year-end recap https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-podcast-in-2019-year-end-recap Kubernetes Podcast, 全然聞き取れない Traffic Management for Knative Services https://medium.com/@zhimin.wen/traffic-management-for-knative-services-a211171c6e5f Knative の traffic management の話, どちらかといえば Istio の話っぽい Programmatically Kubernetes port forward in Go https://gianarb.it/blog/programmatically-kube-port-forward-in-go Kubernetes への port forward を Go で実装する話 Looking at Kubernetes’ 2k+ TODO Comments https://medium.com/@augmentable/looking-at-kubernetes-2k-todo-comments-b2db42dc7fdb github.com/kubernetes/kubernetes の TODO コメントの話 interactive kubectl pod filter https://github.com/kubernetes/kubernetes/pull/85715 https://github.com/kubernetes/kubernetes/pull/85859 kubectl logs とか kubectl exec で intaractive に Pod を選択できるようにする PR, 便利そう ","date":1577026926,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1577026926,"objectID":"ee858bf8fa5c64be6e7b68e5bc431a2c","permalink":"https://d-kuro.github.io/diaries/201912/20191223/","publishdate":"2019-12-22T15:02:06Z","relpermalink":"/diaries/201912/20191223/","section":"diaries","summary":"Diary Upgrading kustomize from v1 to v3 Note より良いコードレビューをするために気をつけて","tags":null,"title":"2019-12-23","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note time.Timer#Reset() の正しい使い方 https://www.kaoriya.net/blog/2019/12/19/ あんまり使ったことなかった Amazon EKS でなんかいい感じにスポットインスタンスを使う https://qiita.com/mats16/items/9939e16b70fba71c0cca eksctl と AWS Node Termination Handler でいい感じにする Deep dive into KubeDNS https://keisukeyamashita.com/post/20191111_dns_deep_dive/ ちゃんと読みたい Operator 101 https://speakerdeck.com/capsmalt/operator-101 Operator SDK と kubebuilder, どっちがいいんだろ Goのコンパイラをみてみよう 〜iotaを通じて〜 @MCCMMANCC 2019 / dive into go complier with iota https://speakerdeck.com/uniuniunicode/dive-into-go-complier-with-iota コンパイラなんもわからん Kubernetes 101 https://www.cncf.io/blog/2019/12/16/kubernetes-101/ Kubernetes 勉強会のスライドで触れてもいいかもしれない ","date":1576940519,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576940519,"objectID":"491e08527b82dd7ec27b8459ae05a8b7","permalink":"https://d-kuro.github.io/diaries/201912/20191222/","publishdate":"2019-12-21T15:01:59Z","relpermalink":"/diaries/201912/20191222/","section":"diaries","summary":"Diary None Note time.Timer#Reset() の正しい使い方 https://www.kaoriya.net/blog/2019/12/19/ あんまり使ったことなかった Amazon EKS でなん","tags":null,"title":"2019-12-22","type":"diaries"},{"authors":null,"categories":null,"content":"Diary None Note 「詰める」と「散らす」の動力学 - 原理・原則から理解するコンテナ配置戦略 #openshiftjp / OpenShift Run 2019 https://speakerdeck.com/ytaka23/openshift-run-2019 result は res、response は resp です。 https://twitter.com/mattn_jp/status/1208073483042713600 なるほど [Kubernetes] クラスタ外から ClusterIP の Service にいい感じにアクセスする https://qiita.com/superbrothers/items/0dca5d2a10727fc14734 Cluster IP の仕組みから書いてある ","date":1576854119,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576854119,"objectID":"712605c5a0569af70e7dd149e0a0b94e","permalink":"https://d-kuro.github.io/diaries/201912/20191221/","publishdate":"2019-12-20T15:01:59Z","relpermalink":"/diaries/201912/20191221/","section":"diaries","summary":"Diary None Note 「詰める」と「散らす」の動力学 - 原理・原則から理解する","tags":null,"title":"2019-12-21","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I don\u0026rsquo;t know Strategic Merge Patch Note Golangのcontext.Valueの使い方 https://deeeet.com/writing/2017/02/23/go-context-value/ RequestID とかは適切なユースケース Argo Rolloutsの新機能「Experiments」を試す https://qiita.com/inajob/items/1baf2a53581c7a6a9df7 Istio とか入れて Canary するよりは機能が限定的でいいなあとおもいつつ, 最終的にはサービスメッシュ入れていきたいよなあみたいなので触ってない The Top 10 Most Common Mistakes I’ve Seen in Go Projects https://itnext.io/the-top-10-most-common-mistakes-ive-seen-in-go-projects-4b79d4f6cd65 Go のよくあるミス Practical Go: Real world advice for writing maintainable Go programs https://dave.cheney.net/practical-go/presentations/qcon-china.html 永久保存版 Garbage Collecting Load Balancers https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#garbage-collecting-load-balancers type LoadBalancer Service の finalizer Finalizers https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#finalizers Garbage Collection https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ ","date":1576767667,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576767667,"objectID":"7ea39c4834ab560fe8bdd8a4d1f27766","permalink":"https://d-kuro.github.io/diaries/201912/20191220/","publishdate":"2019-12-19T15:01:07Z","relpermalink":"/diaries/201912/20191220/","section":"diaries","summary":"Diary I don\u0026rsquo;t know Strategic Merge Patch Note Golangのcontext.Valueの使","tags":null,"title":"2019-12-20","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I upgraded the Kubernetes cluster Note Datadog agent v7 のリリースがきた https://github.com/DataDog/datadog-agent/releases/tag/7.16.0 Python 2 のサポートが無くなった 5 -\u0026gt; 7 のマイグレーションもできそう https://docs.datadoghq.com/agent/versions/upgrade_to_agent_v7/?tab=linux Kubernetes 1.17: SIG-Auth の変更内容 https://qiita.com/hiyosi/items/837096e6d7e62e677e00 Knative Serving in Production https://qiita.com/toVersus/items/1317a31fead9b836a68d Knative なんもわからん ","date":1576681239,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576681239,"objectID":"69c940a219b3f614e9542f724492e938","permalink":"https://d-kuro.github.io/diaries/201912/20191219/","publishdate":"2019-12-18T15:00:39Z","relpermalink":"/diaries/201912/20191219/","section":"diaries","summary":"Diary I upgraded the Kubernetes cluster Note Datadog agent v7 のリリースがきた https://github.com/DataDog/datadog-agent/releases/tag/7.16.0 Python 2 のサポートが無くな","tags":null,"title":"2019-12-19","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I attended the Kubernets 忘年会 Note Kubernetes の国の愉快な小人の世界 https://www.youtube.com/watch?v=yrCaCBUceL4 IBM 公式動画 Go 1.14 の testing package に Cleanup 関数が追加される https://twitter.com/sonatard/status/1207098803477573632 https://tip.golang.org/pkg/testing/#T.Cleanup 便利 Admission Webhookで快適なSecret管理 / Berglas Secret Admission Webhook https://speakerdeck.com/govargo/berglas-secret-admission-webhook Admission Webhook で Secret ごにょごにょするの良さそう 変に Operator 作るよりいい気がする kube-batch による Gang Scheduling #k8sjp / Kubernetes Invitational Meetup Tokyo 4th https://speakerdeck.com/ytaka23/kubernetes-invitational-meetup-tokyo-4th 猫おじさんのスライドの質が毎回高くてすごい ","date":1576594889,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576594889,"objectID":"7f15db1b5fda99a2ef3b5c7a7cec228b","permalink":"https://d-kuro.github.io/diaries/201912/20191218/","publishdate":"2019-12-17T15:01:29Z","relpermalink":"/diaries/201912/20191218/","section":"diaries","summary":"Diary I attended the Kubernets 忘年会 Note Kubernetes の国の愉快な小人の世界 https://www.youtube.com/watch?v=yrCaCBUceL4 IBM 公式動画 Go 1.14 の","tags":null,"title":"2019-12-18","type":"diaries"},{"authors":null,"categories":["Kubernetes"],"content":"小ネタです。\nある日 kubectl get replicaset とかを叩いた際にやたら履歴の数が多いことに気づきました。\nDeployment に紐づく ReplicaSet の履歴の保持数を設定するためのフィールドとして revisionHistoryLimit というものが存在します。 デフォルト値は確か 10 だったはずと公式ドキュメントを確認しに行きましたが、そこには\n You can set .spec.revisionHistoryLimit field in a Deployment to specify how many old ReplicaSets for this Deployment you want to retain. The rest will be garbage-collected in the background. By default, it is 10.\n https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy\nと記載されています。\nでも実際に kubectl get deployment foo -o yaml をしてみると実際に設定されていたのは revisionHistoryLimit: 2147483647 でした。 うーん多い。こういうときの便利コマンドとして kubectl explain というコマンドが存在します。\nkubectl explain deployment.spec.revisionHistoryLimit のような感じで各 Object のフィールドのドキュメントを表示することができます。\n$ kubectl explain deployment.spec.revisionHistoryLimit KIND: Deployment VERSION: extensions/v1beta1 FIELD: revisionHistoryLimit \u0026lt;integer\u0026gt; DESCRIPTION: The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. This is set to the max value of int32 (i.e. 2147483647) by default, which means \u0026quot;retaining all old RelicaSets\u0026quot;. This is set to the max value of int32 (i.e. 2147483647) by default, which means \u0026ldquo;retaining all old RelicaSets\u0026rdquo;.\n 2147483647 が設定されているのは正しそうですが、公式ドキュメントの記載とは食い違います。 ここで注目してほしいのが VERSION: extensions/v1beta1 です。古い。\n$ kubectl explain -h List the fields for supported resources This command describes the fields associated with each supported API resource. Fields are identified via a simple JSONPath identifier: \u0026lt;type\u0026gt;.\u0026lt;fieldName\u0026gt;[.\u0026lt;fieldName\u0026gt;] Add the --recursive flag to display all of the fields at once without descriptions. Information about each field is retrieved from the server in OpenAPI format. Use \u0026quot;kubectl api-resources\u0026quot; for a complete list of supported resources. Examples: # Get the documentation of the resource and its fields kubectl explain pods # Get the documentation of a specific field of a resource kubectl explain pods.spec.containers Options: --api-version='': Get different explanations for particular API version --recursive=false: Print the fields of fields (Currently only 1 level deep) Usage: kubectl explain RESOURCE [options] Use \u0026quot;kubectl options\u0026quot; for a list of global command-line options (applies to all commands). Help を見ると --api-version というオプションで指定ができそうです。 apps/v1 の方を explain してみます。\n$ kubectl explain deployment.spec.revisionHistoryLimit --api-version apps/v1 KIND: Deployment VERSION: apps/v1 FIELD: revisionHistoryLimit \u0026lt;integer\u0026gt; DESCRIPTION: The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10. はい、完全に理解しました。 バージョンは追従しましょう。 Deployment の API Version が apps/v1beta2 になった際にデフォルトが 10 になったみたいです。\nkubectl explain は意外と便利なのでおすすめです。バージョンは追従しましょう (大事なことなので二回言いました)\n","date":1576593916,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576593916,"objectID":"14ea1981cede226ee6868148815d7edc","permalink":"https://d-kuro.github.io/post/deployment-revisionhistorylimit-default/","publishdate":"2019-12-17T23:45:16+09:00","relpermalink":"/post/deployment-revisionhistorylimit-default/","section":"post","summary":"小ネタです。\n","tags":["Kubernetes"],"title":"Deployment の API Version が古いと revisionHistoryLimit のデフォルト値が 2147483647 に設定される","type":"post"},{"authors":null,"categories":null,"content":"Diary I posted blog https://d-kuro.github.io/blog/posts/deployment-revisionhistorylimit-default/ Note Kubernetes 1.17: SIG-API Machineryの変更内容 https://qiita.com/Ladicle/items/408ee3ec4e25ada9fe21 主要な変更特に無し 【Kubernetes】KubernetesのCronJobのcronスケジュールはどう管理されているのか? https://nnao45.hatenadiary.com/entry/2019/12/17/110439 サードパーティのライブラリ使われてるよという話, CronJob のソースコード解説, 途中まで書いて封印してるの思い出した Monitor Amazon EKS on AWS Fargate with Datadog https://www.datadoghq.com/blog/eks-fargate-monitoring/ DD_EKS_FARGATE=true ","date":1576508443,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576508443,"objectID":"ae84adabc24647231cac47d7923c5249","permalink":"https://d-kuro.github.io/diaries/201912/20191217/","publishdate":"2019-12-16T15:00:43Z","relpermalink":"/diaries/201912/20191217/","section":"diaries","summary":"Diary I posted blog https://d-kuro.github.io/blog/posts/deployment-revisionhistorylimit-default/ Note Kubernetes 1.17: SIG-API Machineryの変更内容 https://qiita.com/Ladicle/items/408ee3ec4e25ada9fe21 主要な変更特","tags":null,"title":"2019-12-17","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I want to automate Kubernetes B/G upgrade Note Kubernetes 1.17 新機能と改善の紹介 #AquaSecurity #Kubernetes https://www.creationline.com/lab/31416 日本語 chan chan は意外と美味しい https://qiita.com/hogedigo/items/15af273176599307a2b2 chan chan error みたいなのの話, 便利そう Istio VirtualServiceのHost衝突を検知するAdmission Webhookをつくってみる https://tech.jxpress.net/entry/istio-host-collision-detection-with-admission-webhook Admission Webhook の話 LIFULLが主要サービスの(ほぼ)全てをKubernetesに移行するまで https://www.lifull.blog/entry/2019/12/16/000000 しっかりしてる kubectl cordon を実行した Node は Ingress, type LoadBalancer Service の振り分け対象から外されるよというやつ https://github.com/kubernetes/kubernetes/issues/44997 https://github.com/kubernetes/kubernetes/issues/65013 その Node にのみ存在する Pod がある場合疎通できなくなって死ぬやつ GoのGCを10分で学ぼう https://qiita.com/gold-kou/items/4431d3dd41606d41732b#concurrent-marksweepcms ","date":1576422074,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576422074,"objectID":"4ac46b384c092fc3c1811fc10fc0700a","permalink":"https://d-kuro.github.io/diaries/201912/20191216/","publishdate":"2019-12-15T15:01:14Z","relpermalink":"/diaries/201912/20191216/","section":"diaries","summary":"Diary I want to automate Kubernetes B/G upgrade Note Kubernetes 1.17 新機能と改善の紹介 #AquaSecurity #Kubernetes https://www.creationline.com/lab/31416 日本語 chan chan は意","tags":null,"title":"2019-12-16","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I trial the Kubebuilder Note 入門 EKS on Fargate https://qiita.com/mumoshu/items/c9dea2d82a402b4f9c31 アプリケーションが stdout/stderr にログを吐けない, マジかー The Kubebuilder Book https://book.kubebuilder.io/ ちょっと触ってる CRD Validation - The Kubebuilder Book https://book.kubebuilder.io/reference/markers/crd-validation.html ","date":1576335641,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576335641,"objectID":"01250ef471458969816fb5ae93c9055a","permalink":"https://d-kuro.github.io/diaries/201912/20191215/","publishdate":"2019-12-14T15:00:41Z","relpermalink":"/diaries/201912/20191215/","section":"diaries","summary":"Diary I trial the Kubebuilder Note 入門 EKS on Fargate https://qiita.com/mumoshu/items/c9dea2d82a402b4f9c31 アプリケーションが stdout/stderr にログを吐けない","tags":null,"title":"2019-12-15","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I have to create materials for in-house study sessions Note EKS production ready! part.1 https://medium.com/@sueken0117/eks-production-ready-part-1-8f08be5f873f EKS production ready! part.2 https://medium.com/@sueken0117/eks-production-ready-part-2-1702a120476d IP アドレスの制限に気をつけようという話 Architecting Kubernetes clusters — choosing a worker node size https://learnk8s.io/kubernetes-node-size Cluster のサイズについて EKS におけるインスタンスサイズごとの最大 Pod 数 https://github.com/awslabs/amazon-eks-ami/blob/master/files/eni-max-pods.txt IP アドレスの数に引っ張られる Understand Golang channels and how to monitor with Grafana (Part 1/2) https://dev.to/ahmedash95/understand-golang-channels-and-how-to-monitor-with-grafana-154 災害に備えVeleroでKubernetesクラスタをバックアップする https://blog.stormcat.io/post/velero-backup/ Velero, 使ってる ","date":1576249246,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576249246,"objectID":"3255b069fa8e2da635f8f2a2e2ae0e70","permalink":"https://d-kuro.github.io/diaries/201912/20191214/","publishdate":"2019-12-13T15:00:46Z","relpermalink":"/diaries/201912/20191214/","section":"diaries","summary":"Diary I have to create materials for in-house study sessions Note EKS production ready! part.1 https://medium.com/@sueken0117/eks-production-ready-part-1-8f08be5f873f EKS production ready! part.2 https://medium.com/@sueken0117/eks-production-ready-part-2-1702a120476d IP アドレスの制限に","tags":null,"title":"2019-12-14","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I don\u0026rsquo;t understand English without Google Translate Note kyaml2go https://kyaml2go.prasadg.dev/ manigest の YAML を client-go を使った Go のコードに変換してくれる君 Kubernetesをぶち壊す10の奇妙な方法 (前編) https://qiita.com/inductor/items/ee8c01811aaf7bd1652d 面白かった Markdown の syntax highlight に console を使うといい感じに色分けされる話 https://twitter.com/piris314/status/1205038748422963201 いつも shell とかにしてた Exercising Concurrency in Go: 3 Common Pitfalls and Lessons Learned https://medium.com/modenetworks/exercising-concurrency-in-go-3-common-pitfalls-and-lessons-learned-2cca9e629620 Kubernetes 1.17 Feature: Kubernetes Volume Snapshot Moves to Beta https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-feature-cis-volume-snapshot-beta/ What’s New in Kubernetes 1.17: A Deeper Look at New Features https://securityboulevard.com/2019/12/whats-new-in-kubernetes-1-17-a-deeper-look-at-new-features/ v1.17 の新機能 How to Export Kubernetes Events for Observability and Alerting https://engineering.opsgenie.com/how-to-export-kubernetes-events-for-observability-and-alerting-a9b4a953363d Event, いい感じに Datadog でフィルタリングして alert 飛ばしたい Kubernetes 1.17 What\u0026rsquo;s New? https://www.magalix.com/blog/kubernetes-1.17-whats-new v1.17 の新機能 part 2 Building Large Kubernetes Clusters https://engineering.linecorp.com/en/blog/building-large-kubernetes-clusters/ LINE のクラスタの話 gaurunとGoのHTTP/2事情について https://tech.mercari.com/entry/2019/12/13/110000 ","date":1576162858,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576162858,"objectID":"afb4fe1b8684b7676c7d9639fdcca976","permalink":"https://d-kuro.github.io/diaries/201912/20191213/","publishdate":"2019-12-12T15:00:58Z","relpermalink":"/diaries/201912/20191213/","section":"diaries","summary":"Diary I don\u0026rsquo;t understand English without Google Translate Note kyaml2go https://kyaml2go.prasadg.dev/ manigest の YAML を client-go を使った Go のコードに変換して","tags":null,"title":"2019-12-13","type":"diaries"},{"authors":null,"categories":null,"content":"Diary I\u0026rsquo;m wondering if a bucket for velero backup should be provided for each cluster https://velero.io/docs/v1.2.0/ Note Go の命名規則 https://micnncim.com/post/2019/12/11/go-naming-conventions/ いい話 Go の strings.Index の内部実装と Rabin-Karp アルゴリズム https://qiita.com/po3rin/items/07d51249629390a6201a Key metrics for Amazon EKS monitoring https://www.datadoghq.com/blog/eks-cluster-metrics/ 見るべきメトリクス, EKS じゃなくても使える ","date":1576076463,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1576076463,"objectID":"a606d0909d033b2a6498413558a1bcf2","permalink":"https://d-kuro.github.io/diaries/201912/20191212/","publishdate":"2019-12-11T15:01:03Z","relpermalink":"/diaries/201912/20191212/","section":"diaries","summary":"Diary I\u0026rsquo;m wondering if a bucket for velero backup should be provided for each cluster https://velero.io/docs/v1.2.0/ Note Go の命名規則 https://micnncim.com/post/2019/12/11/go-naming-conventions/ いい話 Go の strings.Index","tags":null,"title":"2019-12-12","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Confirmed increase in CPU usage due to API server not being able to connect with metrics-server Note Amazon VPC CNI plugin for KubernetesのソースコードリーディングでEKSのネットワーキングについて理解を深める #1 https://qiita.com/jlandowner/items/fec3cc33bc754282db11 わかりやすい CNCF CNI プラグイン https://qiita.com/hichihara/items/54ff9aeff476bf463509 CNI について EKS の API Server, 2 台らしい https://twitter.com/_inductor_/status/1204708329320136704 EKS Fargate は kubelet, kube-proxy, containerd の分のリソースで 256 MB くらいリソースを使うのでそれを見越して Pod の resources を設定しようという話 https://twitter.com/amsy810/status/1204712473154048000 ","date":1575990092,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1575990092,"objectID":"b8cb3d85aaabe6480657e0d3f340845c","permalink":"https://d-kuro.github.io/diaries/201912/20191211/","publishdate":"2019-12-10T15:01:32Z","relpermalink":"/diaries/201912/20191211/","section":"diaries","summary":"Diary Confirmed increase in CPU usage due to API server not being able to connect with metrics-server Note Amazon VPC CNI plugin for Kuberne","tags":null,"title":"2019-12-11","type":"diaries"},{"authors":null,"categories":null,"content":"Diary This week we will launch three Kubernetes clusters Note Released Kubernetes v1.17.0 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.17.md#v1170 KubernetesのCloud Controller Managerについて https://medium.com/@bells17/kubernetes-ccm-d4d3c71ba523 Kubernetes resource limits and kernel cgroups https://medium.com/@kkwriting/kubernetes-resource-limits-and-kernel-cgroups-337625bab87d The complete guide to Go net/http timeouts https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/ 永久保存版 Go のタイムアウト記事 istio/client-go を触ってみた https://hydrangea.netlify.com/posts/istio-client-go/ Istio の client, あるんだ Kubernetes 1.17: Stability https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-release-announcement/ Kubernetes 1.17 Feature: Kubernetes Volume Snapshot Moves to Beta https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-feature-cis-volume-snapshot-beta/ Stateful なものと関わりが無いのであまり縁がない 図解 Go Slice Tricks https://i-beam.org/2019/12/09/go-slice-tricks/ Slice の操作の図解 Excellent visual guide on troubleshooting https://twitter.com/arungupta/status/1204089835775905796 Kubernetes でのトラブルシューティング時のフローチャート \u0026ldquo;The Modular Monolith: Rails Architecture\u0026quot;を読んだ https://blog.kymmt.com/entry/the-modular-monolith-rails-architecture Goのサーバサイドアプリケーションのパフォーマンス可視化に向けたメトリクス設計 https://i101330.hatenablog.com/entry/2019/10/28/001135 Go で アプリケーションメトリクス公開する話 Monolith によるモダンアーキテクチャの再考 / Rethink modern architectures with Monolith https://speakerdeck.com/polar3130/rethink-modern-architectures-with-monolith Monomicroliths, また新しい言葉が出てきた KubernetesのマニフェストをそれなりにCIしたい https://speakerdeck.com/stormcat24/kubernetesfalsemanihuesutowosorenarinicisitai CircleCI の中に kind を使って Kubernetes cluster を起動する話 ","date":1575903671,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1575903671,"objectID":"765ed3300b2af316ceab0c09a32f413d","permalink":"https://d-kuro.github.io/diaries/201912/20191210/","publishdate":"2019-12-09T15:01:11Z","relpermalink":"/diaries/201912/20191210/","section":"diaries","summary":"Diary This week we will launch three Kubernetes clusters Note Released Kubernetes v1.17.0 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.17.md#v1170 KubernetesのCloud","tags":null,"title":"2019-12-10","type":"diaries"},{"authors":null,"categories":null,"content":"Diary 日記書くのサボってしまった 項目減らしてみたりしたので再開したい Note What’s new in Kubernetes 1.17? https://sysdig.com/blog/whats-new-kubernetes-1-17/ Dave Cheney が pkg 配下に Go のアサーションライブラリを作り始めたらしい https://github.com/pkg/expect https://twitter.com/micnncim/status/1203466881048272896 EKSでの認証認可 〜aws-iam-authenticatorとIRSAのしくみ〜 https://katainaka0503.hatenablog.com/entry/2019/12/07/091737 ここらへんで動いてる Admission Webhook, master node で動いてるっぽい (Pod として動いてない) EKS on Fargate:virtual-kubelet の違い + Network/LB 周りの調査 https://amsy810.hateblo.jp/entry/2019/12/04/151642 EKS on Fargate, virtual-kubelet ですらなかった Hierarchical Namespace で Namespace を階層構造に管理してオブジェクトを伝搬させる https://amsy810.hateblo.jp/entry/2019/12/01/230822 Namespace 跨いで Object を伝搬させるやつ The RED Method: How to Instrument Your Services https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-services/ Kubernetes pods /etc/resolv.conf ndots:5 option and why it may negatively affect your application performances https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html Pod の resolv.conf がデフォルト ndots:5 だから DNS 問い合わせが遅いよみたいな話 ","date":1575864194,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1575864194,"objectID":"b4e1603b83d151b74c23ea1f21cc653a","permalink":"https://d-kuro.github.io/diaries/201912/20191209/","publishdate":"2019-12-09T13:03:14+09:00","relpermalink":"/diaries/201912/20191209/","section":"diaries","summary":"Diary 日記書くのサボってしまった 項目減らしてみたりしたので再開し","tags":null,"title":"2019-12-09","type":"diaries"},{"authors":null,"categories":null,"content":"Diary Certificate expired in Kuberentes cluster 😱 Note What even is a kubelet? http://kamalmarhubi.com/blog/2015/08/27/what-even-is-a-kubelet/ Kubelet とは interactive kubectl pod filter https://github.com/kubernetes/kubernetes/pull/85715 interactive に kubectl exec する Pod を選択できる, 便利そう ","date":1574953360,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574953360,"objectID":"108ccf2b01d64e5b84591a30ce51ccae","permalink":"https://d-kuro.github.io/diaries/201911/20191129/","publishdate":"2019-11-28T15:02:40Z","relpermalink":"/diaries/201911/20191129/","section":"diaries","summary":"Diary Certificate expired in Kuberentes cluster 😱 Note What even is a kubelet? http://kamalmarhubi.com/blog/2015/08/27/what-even-is-a-kubelet/ Kubelet とは interactive kubectl pod filter https://github.com/kubernetes/kubernetes/pull/85715 interactive に kubectl exec する Pod を","tags":null,"title":"2019-11-29","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I had tonsillitis Note Kubernetes Control Plane monitoring with Datadog https://www.datadoghq.com/blog/kubernetes-control-plane-monitoring/ Control Plane の監視の話 Introducing the Datadog Cluster Agent https://www.datadoghq.com/blog/datadog-cluster-agent/ go-fuzzyfinder でストリームをサポートした https://twitter.com/ktr_0731/status/1199747821756284929 すごい 1年間のシステム運用を通して分かったIstioの嬉しさと活用における注意点 https://speakerdeck.com/ido_kara_deru/benefits-and-usage-notes-of-istio-based-on-our-system-operation-experience 我々は Kubernetes の何を監視すればいいのか? https://speakerdeck.com/manabusakai/cloudnative-days-kansai-2019 Production Ready Kubernetesに必要な15のこと https://speakerdeck.com/govargo/production-ready-kubernetes-15-rules 最高 ","date":1574867019,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574867019,"objectID":"0693899242fc22ac1f311f9f08ac4b04","permalink":"https://d-kuro.github.io/diaries/201911/20191128/","publishdate":"2019-11-27T15:03:39Z","relpermalink":"/diaries/201911/20191128/","section":"diaries","summary":"Want to do None Achievement None Diary I had tonsillitis Note Kubernetes Control Plane monitoring with Datadog https://www.datadoghq.com/blog/kubernetes-control-plane-monitoring/ Control Plane の監視の話 Introducing the Datadog Cluster Agent","tags":null,"title":"2019-11-28","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary None Note Kubernetesクラスタのバックアップとリストア https://www.wantedly.com/companies/wantedly/post_articles/135823 Ingress Group Feature Testing https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/914 ALB Ingress の v2 で Ingress のグルーピングができて, 複数 Ingress に対して ALB 1 つみたいなのができそう Last Week in Kubernetes Development http://lwkd.info/2019/20191126 Service Topology implementation for Kubernetes https://github.com/kubernetes/kubernetes/pull/72046 同じ Node や AZ に優先して Service のルーティングができるようになりそう ","date":1574780625,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574780625,"objectID":"9818ef397b9aee3e3da4ec6897e280b6","permalink":"https://d-kuro.github.io/diaries/201911/20191127/","publishdate":"2019-11-26T15:03:45Z","relpermalink":"/diaries/201911/20191127/","section":"diaries","summary":"Want to do None Achievement None Diary None Note Kubernetesクラスタのバックアップ","tags":null,"title":"2019-11-27","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary None Note Kubernetes Service invalid clusterIP or resourceVersion https://www.timcosta.io/kubernetes-service-invalid-clusterip-or-resourceversion/ Kubernetes の差分計算の仕組みを思い出した Kubernetes: kubectl apply の動作 https://qiita.com/tkusumi/items/0bf5417c865ef716b221 詳しい ","date":1574694285,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574694285,"objectID":"7cbe584447ea244afa36c842eef2a819","permalink":"https://d-kuro.github.io/diaries/201911/20191126/","publishdate":"2019-11-25T15:04:45Z","relpermalink":"/diaries/201911/20191126/","section":"diaries","summary":"Want to do None Achievement None Diary None Note Kubernetes Service invalid clusterIP or resourceVersion https://www.timcosta.io/kubernetes-service-invalid-clusterip-or-resourceversion/ Kubernetes の差分計算の仕組みを思い出","tags":null,"title":"2019-11-26","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I\u0026rsquo;m not feeling very well Note urfave/cli v2 https://github.com/urfave/cli/releases/tag/v2.0.0 出てた Build a Go package that annotates errors with stack traces. (18 November 2019) https://www.komu.engineer/blogs/golang-stacktrace/golang-stacktrace スタックトレースのとり方, errors に取り込まれてほしい Go’s features of last resort https://www.arp242.net/go-last-resort.html Go で必要な時はあるけど基本使うなよって機能の話 Go言語で学ぶetcdプログラミング https://github.com/zoetrope/etcd-book etcd 本 ","date":1574607808,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574607808,"objectID":"a644619b4ad9c32df4fed054e2bd6650","permalink":"https://d-kuro.github.io/diaries/201911/20191125/","publishdate":"2019-11-24T15:03:28Z","relpermalink":"/diaries/201911/20191125/","section":"diaries","summary":"Want to do None Achievement None Diary I\u0026rsquo;m not feeling very well Note urfave/cli v2 https://github.com/urfave/cli/releases/tag/v2.0.0 出てた Build a Go package that annotates errors with stack traces. (18","tags":null,"title":"2019-11-25","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I haven\u0026rsquo;t written a program recently Note Debugging network stalls on Kubernetes https://github.blog/2019-11-21-debugging-network-stalls-on-kubernetes/ 何もわからんってなってしまった Shopifyはいかにしてモジュラモノリスへ移行したか https://www.infoq.com/jp/news/2019/10/shopify-modular-monolith/ ","date":1574521446,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574521446,"objectID":"1518a7d0969513a978d90f07f79e13ef","permalink":"https://d-kuro.github.io/diaries/201911/20191124/","publishdate":"2019-11-23T15:04:06Z","relpermalink":"/diaries/201911/20191124/","section":"diaries","summary":"Want to do None Achievement None Diary I haven\u0026rsquo;t written a program recently Note Debugging network stalls on Kubernetes https://github.blog/2019-11-21-debugging-network-stalls-on-kubernetes/ 何もわからんってなっ","tags":null,"title":"2019-11-24","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I get sick at night Note None ","date":1574435108,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574435108,"objectID":"4e12e30e0c328d05226a7652f64489b3","permalink":"https://d-kuro.github.io/diaries/201911/20191123/","publishdate":"2019-11-22T15:05:08Z","relpermalink":"/diaries/201911/20191123/","section":"diaries","summary":"Want to do None Achievement None Diary I get sick at night Note None ","tags":null,"title":"2019-11-23","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary Learn more about Kubernetes certificates Note Accessing Kubelet API https://gist.github.com/lizrice/c32740fac51db2a5518f06c3dae4944f Kubelet の API にアクセスする Is there API documentation for Kubelet API https://stackoverflow.com/questions/35075195/is-there-api-documentation-for-kubelet-api Kubelet の API のドキュメントはないよってやつ Attacking Kubernetes through Kubelet https://labs.f-secure.com/blog/attacking-kubernetes-through-kubelet/ Kubelet の API で Pod への exec ができるので ServiceAccount の token 取ってきて API Server に攻撃する話 Kubelet はデフォルトで匿名のアクセスを受け入れるので無効にするためには明示的にオプションを指定する必要がある Kubelet authentication/authorization https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-authentication-authorization/ Kubelet の認証認可の公式ドキュメント kubelet - command line tools reference https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ Kubelet の起動オプション一覧 Set Kubelet parameters via a config file https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ Kubelet のコマンドライン引数でオプションを指定するんじゃなくて config ファイルで設定しようという話 Lyft のクラスタアップグレードの話 https://static.sched.com/hosted_files/kccncna19/8e/Handling%20Cluster%20Upgrades%20K8srotator.pdf KubeCon NA 2019(Day3) 参加メモ - Qiita https://qiita.com/go_vargo/items/794b1a9b4491d547b858 上の Lyft のクラスタアップグレードの話 とか Graceful Traffic の話とか Pod の preStop に sleep 仕込むのは現状の最適解らしい Client Authentication against the API server and kubelet https://docs.datadoghq.com/ja/integrations/faq/client-authentication-against-the-apiserver-and-kubelet/ Datadog agent の Kubelet の API Server の認証について TLS bootstrappingでkubeletクライアント証明書の作成、更新を自動化する https://qiita.com/oke-py/items/cf83a174c5e95c9cbe0e TLS bootstrapping https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/ 証明書の自動作成ができる ","date":1574348647,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574348647,"objectID":"c09c805161eded076ba29df83b1f8875","permalink":"https://d-kuro.github.io/diaries/201911/20191122/","publishdate":"2019-11-21T15:04:07Z","relpermalink":"/diaries/201911/20191122/","section":"diaries","summary":"Want to do None Achievement None Diary Learn more about Kubernetes certificates Note Accessing Kubelet API https://gist.github.com/lizrice/c32740fac51db2a5518f06c3dae4944f Kubelet の API にアクセスする Is there API","tags":null,"title":"2019-11-22","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary There was a dinner for hiring Note Using Native Memory by JVM https://dev.classmethod.jp/server-side/using-native-memory-by-jvm/ JVM のメモリの話 Datadog Agent の livenessProbe が失敗して Pod が再起動されまくるやつを踏んだ https://github.com/DataDog/datadog-agent/issues/1830 DD_CHECK_RUNNERS とか試したけど改善しなくてサポートに投げてる Datadog Agent で Unable to detect the kubelet URL automatically というエラーが出て Kubernetes のメトリクスが取れない話 https://github.com/DataDog/integrations-core/issues/2582 ","date":1574262244,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574262244,"objectID":"f9209998e1def4e35c9f597afdd97cba","permalink":"https://d-kuro.github.io/diaries/201911/20191121/","publishdate":"2019-11-20T15:04:04Z","relpermalink":"/diaries/201911/20191121/","section":"diaries","summary":"Want to do None Achievement None Diary There was a dinner for hiring Note Using Native Memory by JVM https://dev.classmethod.jp/server-side/using-native-memory-by-jvm/ JVM のメモリの話 Datadog Agent の","tags":null,"title":"2019-11-21","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I have a cold. Note knsh14/sourcegraph-go-style-guide-ja https://github.com/knsh14/sourcegraph-go-style-guide-ja Sourcegraph の Go の style ガイド \u0026ldquo;Building Secure Reliable Systems\u0026rdquo; Book Early Release https://landing.google.com/sre/resources/foundationsandprinciples/srs-book/ https://twitter.com/openshiftjp/status/1197292343591919616 Google の SRE 本, セキュリティと信頼性がテーマらしい Loki version 1.0 is generally available for production use https://www.apmdigest.com/grafana-labs-releases-loki https://twitter.com/grafana/status/1197262407334342656 Loki が GA ","date":1574175793,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574175793,"objectID":"2aca2d6e990d3338339e1d7667f01c60","permalink":"https://d-kuro.github.io/diaries/201911/20191120/","publishdate":"2019-11-19T15:03:13Z","relpermalink":"/diaries/201911/20191120/","section":"diaries","summary":"Want to do None Achievement None Diary I have a cold. Note knsh14/sourcegraph-go-style-guide-ja https://github.com/knsh14/sourcegraph-go-style-guide-ja Sourcegraph の Go の style ガイド \u0026ldquo;Building Secure Reliable Systems\u0026rdquo; Book Early Release https://landing.google.com/sre/resources/foundationsandprinciples/srs-book/","tags":null,"title":"2019-11-20","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary None Note Graceful shutdown of pods with Kubernetes https://pracucci.com/graceful-shutdown-of-kubernetes-pods.html SIGTERM が子プロセスに送られないやつにハマってた straceコマンドの使い方 https://qiita.com/hana_shin/items/a03150552e2f70994248 strace -e trace=signal -p $PID 覚えた GitOps and Kubernetes https://www.manning.com/books/gitops-and-kubernetes#toc GitOps の本 Extending the EKS API: Managed Node Groups https://aws.amazon.com/jp/blogs/containers/eks-managed-node-groups/ eksctl がやっていたのが AWS の API として提供されるようになったっぽい ","date":1574089416,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574089416,"objectID":"487c17581ec7451471ed4259101f71eb","permalink":"https://d-kuro.github.io/diaries/201911/20191119/","publishdate":"2019-11-18T15:03:36Z","relpermalink":"/diaries/201911/20191119/","section":"diaries","summary":"Want to do None Achievement None Diary None Note Graceful shutdown of pods with Kubernetes https://pracucci.com/graceful-shutdown-of-kubernetes-pods.html SIGTERM が子プロセスに送られないや","tags":null,"title":"2019-11-19","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I want to go to Kubecon (2回目) Note Javaのコンテナのメモリ割り当ての考え方をまきさんに教えていただいたので記録 https://bufferings.hatenablog.com/entry/2019/11/18/000007 Helm 3.0.0 has been released! https://helm.sh/blog/helm-3-released/ Helm v3 がリリースされていた Cloud Native Chaos Engineering – Enhancing Kubernetes Application Resiliency https://www.cncf.io/blog/2019/11/06/cloud-native-chaos-engineering-enhancing-kubernetes-application-resiliency/ Chaos Engineering フレームワーク, Litmus の紹介 Kube-Downscaler https://managedkube.com/kube-downscaler/2019/11/10/kube-downscaler.html Namespace の annotation に書いとくと Pod を落としてくれる君, 雑に便利そう Kubernetes development, simplified—Skaffold is now GA https://cloud.google.com/blog/products/application-development/kubernetes-development-simplified-skaffold-is-now-ga Skaffold が GA してた Breaking Down Containers | Part 0 — System Architecture https://itnext.io/breaking-down-containers-part-0-system-architecture-37afe0e51770 コンテナの仕組み Go: How Does the Garbage Collector Mark the Memory? https://medium.com/a-journey-with-go/go-how-does-the-garbage-collector-mark-the-memory-72cfc12c6976 ","date":1574002974,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1574002974,"objectID":"6063e407b05a6849aceda7d2aab4bebb","permalink":"https://d-kuro.github.io/diaries/201911/20191118/","publishdate":"2019-11-17T15:02:54Z","relpermalink":"/diaries/201911/20191118/","section":"diaries","summary":"Want to do None Achievement None Diary I want to go to Kubecon (2回目) Note Javaのコンテナのメ","tags":null,"title":"2019-11-18","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I want to go to Kubecon Note Design It! 読みたい https://twitter.com/bufferings/status/1195705931859972096 ","date":1573916589,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573916589,"objectID":"1b2ec29c2d2876ed4412710c08e4992c","permalink":"https://d-kuro.github.io/diaries/201911/20191117/","publishdate":"2019-11-16T15:03:09Z","relpermalink":"/diaries/201911/20191117/","section":"diaries","summary":"Want to do None Achievement None Diary I want to go to Kubecon Note Design It! 読みたい https://twitter.com/bufferings/status/1195705931859972096","tags":null,"title":"2019-11-17","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I will tackle this issue https://github.com/weaveworks/eksctl/issues/1355 Note None ","date":1573830171,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573830171,"objectID":"bc76b55ebdf8fa1f4e1ad9fc649ad8bf","permalink":"https://d-kuro.github.io/diaries/201911/20191116/","publishdate":"2019-11-15T15:02:51Z","relpermalink":"/diaries/201911/20191116/","section":"diaries","summary":"Want to do None Achievement None Diary I will tackle this issue https://github.com/weaveworks/eksctl/issues/1355 Note None ","tags":null,"title":"2019-11-16","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I have to study English Note Introducing Argo Flux - A Weaveworks-Intuit-AWS Collaboration https://www.weave.works/blog/argo-flux-join-forces Argo Flux なる新しい OSS が誕生するよという話 この話が出たことで Argo CD にも Flux にはあった Docker レジストリの監視機能とかも入りそう 更に今後のロードマップとして Weave Flagger と Argo Rollouts をくっつけて Argo Flagger 作る話とかもあるっぽい Grep from First Principles, in Golang https://willdemaine.ghost.io/grep-from-first-principles-in-golang/ grep の仕組みの話とか書いてある ","date":1573743787,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573743787,"objectID":"ea6ce54c3d414965780e9a5ba92ba601","permalink":"https://d-kuro.github.io/diaries/201911/20191115/","publishdate":"2019-11-14T15:03:07Z","relpermalink":"/diaries/201911/20191115/","section":"diaries","summary":"Want to do None Achievement None Diary I have to study English Note Introducing Argo Flux - A Weaveworks-Intuit-AWS Collaboration https://www.weave.works/blog/argo-flux-join-forces Argo Flux なる新しい OSS が","tags":null,"title":"2019-11-15","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I can\u0026rsquo;t speak Engliiiiiiiiiiiiiiiiiiish Note 賢く「散らす」ための Topology Spread Constraints #k8sjp / Kubernetes Meetup Tokyo 25th https://speakerdeck.com/ytaka23/kubernetes-meetup-tokyo-25th Topology 知りたかったので最高だった Go.dev: a new hub for Go developers https://blog.golang.org/go.dev これから GoDoc 読むときには https://pkg.go.dev/ を使おう Frequently Asked Questions https://v3.helm.sh/docs/faq/ https://twitter.com/ido_kara_deru/status/1194791510761340929 Helm v3 の FAQ Cluster Autoscaler が MultiAZ の ASG をサポートしていない話 Cluster Auto Scaling では、複数のアベイラビリティーゾーンにまたがる Auto Scaling グループをサポートしていません。代わりに、アベイラビリティーゾーンごとに Auto Scaling グループを使用します。後で \u0026ndash;balance-similar-node-groups 機能を有効にして、アベイラビリティーゾーン間でクラスターのノード数を比較的均等に維持できます。\n https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/cluster-autoscaler.html AWS のリバランシングで Kubernetes の知らないところで Pod がドレインされないまま Node が落ちたりするという話らしい。\n 特定のアクションが発生すると、Auto Scaling グループはアベイラビリティーゾーン間で不均衡になる可能性があります。Amazon EC2 Auto Scaling は、アベイラビリティーゾーン間のバランスを再度取って不均衡を補います。\n https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/auto-scaling-benefits.html じゃあ必ずしも AZ ごとに ASG 作るようにしなきゃいけないかというと必ずしもそうではなくて、AZRebalance をサスペンドをすることで AZ 間の不均衡によるリバランシングはされなくなるらしい。\n 特定のイベントが発生した後、Auto Scaling グループはインスタンスの再分散を試みません。ただし、スケールアウトまたはスケールインのイベントが発生した場合でも、スケーリングプロセスはアベイラビリティーゾーン間のバランスを調整します。たとえば、スケールアウト中に、インスタンスが最も少ないアベイラビリティーゾーンでインスタンスを起動します。AZRebalance が中断されている間にグループのバランスがとれなくなった場合、そのプロセスを再開しても、Amazon EC2 Auto Scaling はグループのバランスを再調整しようとしません。最初に Launch を呼び出してから Terminate を呼び出します。\n AZRebalance をサスペンドした際にもスケールアウト時に新しくインスタンスが起動する際には AZ 間のバランスが考慮されるので基本問題がないように思えます。\n他にも PVC とかを使用している場合, EBS が AZ を跨げないみたいな問題もあるので以下のワークロードを使用している際にはしっかりと AZ ごとに ASG を作ろうというのが eksctl のドキュメントに記載されています。\n https://eksctl.io/usage/autoscaling/ You won’t need a separate nodegroup for each AZ if your environment meets the following criteria:\n No zone-specific storage requirements. No required podAffinity with topology other than host. No required nodeAffinity on zone label. No nodeSelector on a zone label. ","date":1573657375,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573657375,"objectID":"190aad84291db5a3a966e7908961cad3","permalink":"https://d-kuro.github.io/diaries/201911/20191114/","publishdate":"2019-11-13T15:02:55Z","relpermalink":"/diaries/201911/20191114/","section":"diaries","summary":"Want to do None Achievement None Diary I can\u0026rsquo;t speak Engliiiiiiiiiiiiiiiiiiish Note 賢く「散らす」ための Topology Spread Constraints #k8sjp / Kubernetes Meetup Tokyo","tags":null,"title":"2019-11-14","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do I plan to participate in the Kubernetes Meetup Tokyo https://k8sjp.connpass.com/event/150873/ Achievement ✅I plan to participate in the Kubernetes Meetup Tokyo Diary I don\u0026rsquo;t know the storage Note Goで毎分100万リクエストを処理する https://postd.cc/handling-1-million-requests-per-minute-with-go/ channel の話 ","date":1573570896,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573570896,"objectID":"e619ecd7bc82ffa3542fe3523f106f9b","permalink":"https://d-kuro.github.io/diaries/201911/20191113/","publishdate":"2019-11-12T15:01:36Z","relpermalink":"/diaries/201911/20191113/","section":"diaries","summary":"Want to do I plan to participate in the Kubernetes Meetup Tokyo https://k8sjp.connpass.com/event/150873/ Achievement ✅I plan to participate in the Kubernetes Meetup Tokyo Diary I don\u0026rsquo;t know the storage","tags":null,"title":"2019-11-13","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I don\u0026rsquo;t know etcdctl Note Last Week in Kubernetes Development http://lwkd.info/2019/20191111 今週もあんまりないかな KubeWeekly #192: 11th of November 2019 https://mailchi.mp/cncf/kubeweekly-1465403 We built network isolation for 1,500 services to make Monzo more secure https://monzo.com/blog/we-built-network-isolation-for-1-500-services 1500 サービスに NetworkPolicy を適用する話 kube-proxy の iptables flow https://twitter.com/thockin/status/1191766983735296000 ちゃんと読みたい What Service Meshes Are, and Why Istio Leads the Pack https://www.datacenterknowledge.com/open-source/what-service-meshes-are-and-why-istio-leads-pack Istio がなぜ Service Mesh をリードしているのか Google\u0026rsquo;s Keeping Knative Development Under Its Thumb \u0026lsquo;For the Foreseeable Future\u0026rsquo; https://www.datacenterknowledge.com/google-alphabet/googles-keeping-knative-development-under-its-thumb-foreseeable-future Knative と Istio は CNCF 入りするつもりはまだないよというやつ The Two Most Important Challenges with an API Gateway when Adopting Kubernetes https://www.getambassador.io/resources/challenges-api-gateway-kubernetes/ API Gateway 使うときの課題 Kubernetes Scheduler 101 https://www.cncf.io/blog/2019/11/11/kubernetes-scheduler-101/ ","date":1573484599,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573484599,"objectID":"bb3f952b992065693aa8bc0474080e87","permalink":"https://d-kuro.github.io/diaries/201911/20191112/","publishdate":"2019-11-11T15:03:19Z","relpermalink":"/diaries/201911/20191112/","section":"diaries","summary":"Want to do None Achievement None Diary I don\u0026rsquo;t know etcdctl Note Last Week in Kubernetes Development http://lwkd.info/2019/20191111 今週もあんまりないかな KubeWeekly","tags":null,"title":"2019-11-12","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Competitive programming Achievement ✅Competitive programming Diary I don\u0026rsquo;t know much algorithm to reduce the amount of calculation Note メモリアロケーションに対する罪悪感 https://kawasin73.hatenablog.com/entry/2019/11/10/112301 アロケーション意識しよう Kubernetes: 詳解 Pods の終了 https://qiita.com/superbrothers/items/3ac78daba3560ea406b2 定期的に見る Knative = Kubernetes Networking++の全訳 https://qiita.com/toshi0607/items/45403965beaa5bd1f8ca ","date":1573398182,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573398182,"objectID":"a02dc2a10e852f87e716a282fa28fb9c","permalink":"https://d-kuro.github.io/diaries/201911/20191111/","publishdate":"2019-11-10T15:03:02Z","relpermalink":"/diaries/201911/20191111/","section":"diaries","summary":"Want to do Competitive programming Achievement ✅Competitive programming Diary I don\u0026rsquo;t know much algorithm to reduce the amount of","tags":null,"title":"2019-11-11","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I broke the plate for two consecutive days Note Go Modules: v2 and Beyond https://blog.golang.org/v2-go-modules Go Modules でメジャーバージョンが上がる時の話 GoのAST全部見る https://monpoke1.hatenablog.com/entry/2018/12/16/110943 めっちゃ網羅されてた arush-sal/cka-practice-environment https://github.com/arush-sal/cka-practice-environment まともに動かないとかなんとか 様々なrate limitアルゴリズム https://christina04.hatenablog.com/entry/rate-limiting-algorithm Token bucket 以外をなんだかんだ覚えていないやつ Let\u0026rsquo;s Create a Simple Load Balancer With Go https://kasvith.github.io/posts/lets-create-a-simple-lb-go/ Go で Load Balancer を作る話 ","date":1573311769,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573311769,"objectID":"4a9a4d8dba97516d0b4167e64f19039c","permalink":"https://d-kuro.github.io/diaries/201911/20191110/","publishdate":"2019-11-09T15:02:49Z","relpermalink":"/diaries/201911/20191110/","section":"diaries","summary":"Want to do None Achievement None Diary I broke the plate for two consecutive days Note Go Modules: v2 and Beyond https://blog.golang.org/v2-go-modules Go Modules でメジャーバ","tags":null,"title":"2019-11-10","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I ’m not sure when to take the CKA exam Note 5 GitOps Best Practices https://blog.argoproj.io/5-gitops-best-practices-d95cb0cbe9ff Kubernetes pods /etc/resolv.conf ndots:5 option and why it may negatively affect your application performances https://pracucci.com/kubernetes-dns-resolution-ndots-options-and-why-it-may-affect-application-performances.html Kubernetes の resolve.conf の ndots のデフォルト設定が微妙で名前解決が遅いという話 ","date":1573225353,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573225353,"objectID":"8e31bc0b549e2b3b6807f2a5f7fe049c","permalink":"https://d-kuro.github.io/diaries/201911/20191109/","publishdate":"2019-11-08T15:02:33Z","relpermalink":"/diaries/201911/20191109/","section":"diaries","summary":"Want to do None Achievement None Diary I ’m not sure when to take the CKA exam Note 5 GitOps Best Practices https://blog.argoproj.io/5-gitops-best-practices-d95cb0cbe9ff Kubernetes pods /etc/resolv.conf ndots:5 option and","tags":null,"title":"2019-11-09","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do None Achievement None Diary I want to write programming go language Note AWS supports Automated Draining for Spot Instance Nodes on Kubernetes https://aws.amazon.com/jp/about-aws/whats-new/2019/11/aws-supports-automated-draining-for-spot-instance-nodes-on-kubernetes/ https://twitter.com/toricls/status/1192662607905247232 ラベルがいるらしい nil は nil — プログラミング言語 Go | text.Baldanders.info https://text.baldanders.info/golang/nil-is-nil/ 型を持った nil もあるぞというやつ nil channel の話 https://twitter.com/mattn_jp/status/1192695230568386561 https://twitter.com/mattn_jp/status/1192695423065964547 ","date":1573138936,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573138936,"objectID":"c27915af6bcca910c8c1892099e7b936","permalink":"https://d-kuro.github.io/diaries/201911/20191108/","publishdate":"2019-11-07T15:02:16Z","relpermalink":"/diaries/201911/20191108/","section":"diaries","summary":"Want to do None Achievement None Diary I want to write programming go language Note AWS supports Automated Draining for Spot Instance Nodes on Kubernetes https://aws.amazon.com/jp/about-aws/whats-new/2019/11/aws-supports-automated-draining-for-spot-instance-nodes-on-kubernetes/ https://twitter.com/toricls/status/1192662607905247232 ラベル","tags":null,"title":"2019-11-08","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Play Studysapuri English Achievement None Diary I want to automate the upgrade of Kubernetes cluster Note argoproj/gitops-engine https://github.com/argoproj/gitops-engine Argo CD と Flux がコア機能の共有をするっぽい Kubernetes クラスタへのアップグレード自動化について https://twitter.com/go_vargo/status/1192388342983217152 Create a custom Kubernetes scheduler https://developer.ibm.com/articles/creating-a-custom-kube-scheduler/ scheduler のちょっと詳しい話 krzko/awesome-cka https://github.com/krzko/awesome-cka CKA 取りたい ","date":1573052556,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1573052556,"objectID":"d808f7b4caa49ae864e4a137600e4585","permalink":"https://d-kuro.github.io/diaries/201911/20191107/","publishdate":"2019-11-06T15:02:36Z","relpermalink":"/diaries/201911/20191107/","section":"diaries","summary":"Want to do Play Studysapuri English Achievement None Diary I want to automate the upgrade of Kubernetes cluster Note argoproj/gitops-engine https://github.com/argoproj/gitops-engine Argo CD と Flux がコア機能","tags":null,"title":"2019-11-07","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Play Studysapuri English Achievement None Diary I\u0026rsquo;m not sure Pods preemption 😔 Note hashicorp のリポジトリに PR 出した https://github.com/hashicorp/go-plugin/pull/129 Terraform が使ってるプロセス起動して RPC で通信するやつ EKS DNS at scale and spikeiness https://aws.amazon.com/jp/blogs/containers/eks-dns-at-scale-and-spikeiness/ NodeLocal DNS の話 Pod Priority and Preemption https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ Preemption には Priority も考慮されるというやつ Kubernetes Meetup Tokyo #10 で Pod の Preemption について話してきました https://ccvanishing.hateblo.jp/entry/2018/05/17/180426 Preemption 日本語スライド Kubernetes 1.13: SIG Scheduling の変更内容 https://ccvanishing.hateblo.jp/entry/2018/12/06/195433 critical-pod が deprecated なのを思い出した そのコンテナ、もっと「賢く」置けますよ? #CNDT2019 / CloudNative Days Tokyo 2019 https://speakerdeck.com/ytaka23/cloudnative-days-tokyo-2019 永久保存版 scheduler 資料 Kubernetes アンチパターン https://nekop.github.io/slides/hbstudy78.html#/ CPU は requests だけ指定する, Memory は requests/limits 両方同じ値にするというのが書いてある ","date":1572966102,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572966102,"objectID":"19bd07a5c996c5e38386e148d1a59707","permalink":"https://d-kuro.github.io/diaries/201911/20191106/","publishdate":"2019-11-05T15:01:42Z","relpermalink":"/diaries/201911/20191106/","section":"diaries","summary":"Want to do Play Studysapuri English Achievement None Diary I\u0026rsquo;m not sure Pods preemption 😔 Note hashicorp のリポジトリに PR 出した https://github.com/hashicorp/go-plugin/pull/129 Terraform","tags":null,"title":"2019-11-06","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Participate in the Terraform Source Code Reading#3 https://terraform-jp.connpass.com/event/150359/ Achievement ✅Participate in the Terraform Source Code Reading#3 Diary I spoke English at a meeting Note Kubernetes Network Deep Dive (NodePort, ClusterIP, Flannel) https://qiita.com/sugimount/items/ed07a3e77a6d4ab409a8 ちゃんと読みたい kustomize の bases deprecated になっていた https://github.com/kubernetes-sigs/kustomize/blob/master/docs/v2.1.0.md#resources-expanded-bases-deprecated kubectl に取り込まれている kustomize のバージョンは現在 v2.0.3 なので -k オプション使うなら支障でそう https://github.com/kubernetes-sigs/kustomize/blob/v3.3.1/README.md#kubectl-integration Users and RBAC authorizations in Kubernetes https://www.adaltas.com/en/2019/08/07/users-rbac-kubernetes/ RBAC なにもわからない rakkess - kubectl plugin to show an access matrix for server resources https://github.com/corneliusweig/rakkess RBAC いい感じに見れるやつ, 便利 ","date":1572879744,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572879744,"objectID":"59fc13673f4eebb890c9d4c71ac9109a","permalink":"https://d-kuro.github.io/diaries/201911/20191105/","publishdate":"2019-11-04T15:02:24Z","relpermalink":"/diaries/201911/20191105/","section":"diaries","summary":"Want to do Participate in the Terraform Source Code Reading#3 https://terraform-jp.connpass.com/event/150359/ Achievement ✅Participate in the Terraform Source Code Reading#3","tags":null,"title":"2019-11-05","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Play Studysapuri English Achievement None Diary I deepened my understanding of Conntrack https://tech.xing.com/a-reason-for-unexplained-connection-timeouts-on-kubernetes-docker-abd041cf7e02 Note Kubernetes: How to write a kubectl plugin https://elsesiy.com/blog/how-to-kubectl-plugin kubectl プラグインの作り方 ","date":1572793343,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572793343,"objectID":"07f7fa5881e585285d8bc8c4371a3198","permalink":"https://d-kuro.github.io/diaries/201911/20191104/","publishdate":"2019-11-03T15:02:23Z","relpermalink":"/diaries/201911/20191104/","section":"diaries","summary":"Want to do Play Studysapuri English Achievement None Diary I deepened my understanding of Conntrack https://tech.xing.com/a-reason-for-unexplained-connection-timeouts-on-kubernetes-docker-abd041cf7e02 Note Kubernetes: How to write a kubectl plugin https://elsesiy.com/blog/how-to-kubectl-plugin kubectl プラグイ","tags":null,"title":"2019-11-04","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Play Studysapuri English Achievement None Diary I\u0026rsquo;m sleepy Note kubernetes-sigs/ingress-controller-conformance https://github.com/kubernetes-sigs/ingress-controller-conformance Ingress Controller の仕様 [Go] GitHub Actionsでキャッシュ機能を使う #github https://budougumi0617.github.io/2019/11/03/use-cache-in-github-actions/ 欲しい物が来た ","date":1572706921,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572706921,"objectID":"7969d5f6856b59910832265b4c5d71eb","permalink":"https://d-kuro.github.io/diaries/201911/20191103/","publishdate":"2019-11-02T15:02:01Z","relpermalink":"/diaries/201911/20191103/","section":"diaries","summary":"Want to do Play Studysapuri English Achievement None Diary I\u0026rsquo;m sleepy Note kubernetes-sigs/ingress-controller-conformance https://github.com/kubernetes-sigs/ingress-controller-conformance Ingress Controller の仕様 [Go] GitHub Actionsでキ","tags":null,"title":"2019-11-03","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Play Studysapuri English Achievement ✅Play Studysapuri English Diary I have insufficient network knowledge😔 Note A Kubernetes crime story https://engineering.prezi.com/https-engineering-prezi-com-a-kubernetes-crime-story-2e8d75a77630 SNAT のせいで遅くなる話 EKS の場合は amazon-vpc-cni-k8s に AWS_VPC_K8S_CNI_EXTERNALSNAT=true を設定することで SNAT が無効になるらしい A reason for unexplained connection timeouts on Kubernetes/Docker https://tech.xing.com/a-reason-for-unexplained-connection-timeouts-on-kubernetes-docker-abd041cf7e02 SNAT 使ってるときに SYN パケットがドロップすることでタイムアウトが起きて遅くなる的な話 Conntrack とか何もわかってなくてつらい気持ちになった Kubernetes Service Mesh: A Comparison of Istio, Linkerd and Consul https://platform9.com/blog/kubernetes-service-mesh-a-comparison-of-istio-linkerd-and-consul/ Istio, Likerd, Consul の比較 How to autoscale apps on Kubernetes with custom metrics https://learnk8s.io/autoscaling-apps-kubernetes/ カスタムメトリクスを使用して HPA で Pod をスケールさせる話 ","date":1572620587,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572620587,"objectID":"c8bf95ae4b0b3b15f4bf48616897bbe8","permalink":"https://d-kuro.github.io/diaries/201911/20191102/","publishdate":"2019-11-01T15:03:07Z","relpermalink":"/diaries/201911/20191102/","section":"diaries","summary":"Want to do Play Studysapuri English Achievement ✅Play Studysapuri English Diary I have insufficient network knowledge😔 Note","tags":null,"title":"2019-11-02","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do Play Studysapuri English Achievement ✅Play Studysapuri English Diary I write in English except for the Note. Note Go の switch の仕様 https://golang.org/ref/spec#Switch_statements switch x := f(); { // missing switch expression means \u0026quot;true\u0026quot; Jaeger が CNCF の Graduation になってた https://www.cncf.io/announcement/2019/10/31/cloud-native-computing-foundation-announces-jaeger-graduation/ Goのtestを理解する in 2019 https://budougumi0617.github.io/2019/10/30/go-testing2019/ Go1.11からGo1.13に含まれるテスト関連の変更 ","date":1572534588,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572534588,"objectID":"6792c060649893474d62a48c909ed08b","permalink":"https://d-kuro.github.io/diaries/201911/20191101/","publishdate":"2019-10-31T15:09:48Z","relpermalink":"/diaries/201911/20191101/","section":"diaries","summary":"Want to do Play Studysapuri English Achievement ✅Play Studysapuri English Diary I write in English except for the Note. Note Go の switch の仕様","tags":null,"title":"2019-11-01","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Achievement やっとらんな Diary グローバルインタプリタロックとかの話をオンボーディングで聞けてよかった Note Cluster Autoscaler はデフォルトで leader election してるので replicas 2 でも大丈夫 https://github.com/kubernetes/autoscaler/blob/cluster-autoscaler-1.16.2/cluster-autoscaler/FAQ.md#what-are-the-parameters-to-ca https://github.com/kubernetes/autoscaler/blob/cluster-autoscaler-1.16.2/cluster-autoscaler/main.go#L356 client-go の leader election, 空の Endpoints と 空の ConfigMap 使う実装の 2 つある https://github.com/kubernetes/client-go/blob/v12.0.0/examples/leader-election/main.go https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/resourcelock/endpointslock.go https://github.com/kubernetes/client-go/blob/v12.0.0/tools/leaderelection/resourcelock/configmaplock.go How Airbnb scaled its migration to continuous delivery with Spinnaker https://techbeacon.com/app-dev-testing/how-airbnb-scaled-its-migration-continuous-delivery-spinnaker Go 1.14 の変更について, defer が更に早くなるらしい https://twitter.com/bradfitz/status/1189631604324327424 GitHub Actions にキャッシュ機能が来た https://twitter.com/piris314/status/1189666842186403841 グローバルインタプリタロック(GIL)とは https://hivecolor.com/id/162 この辺の知識あんまないのでしっかり勉強したい GoConで発表してきたのでついでにruntime以下の知識をまとめていく #golang https://niconegoto.hatenadiary.jp/entry/2017/04/11/092810 goroutine の話 ","date":1572447739,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572447739,"objectID":"1716c2d0d20394d0d0f1dea8decc46b2","permalink":"https://d-kuro.github.io/diaries/201910/20191031/","publishdate":"2019-10-30T15:02:19Z","relpermalink":"/diaries/201910/20191031/","section":"diaries","summary":"Want to do スタディサプリ English やる Achievement やっとらんな Diary グローバルインタプ","tags":null,"title":"2019-10-31","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Achievement ✅スタディサプリ English やった Diary CUE, どうなんだろう Note Googleが作った分散アプリケーション基盤、Borgの論文を読み解く -その1- https://inductor.hatenablog.com/entry/2019/10/30/010839 Borg の話 インフラのボトルネックについて知る https://tikasan.hatenablog.com/entry/2018/06/05/082728 わかりやすくていい話だった マイクロサービス環境でのメルカリWebのリリースフロー https://tech.mercari.com/entry/2019/10/30/105936 Spinnaker, こういうフローを構築するときは強い Week Ending October 27, 2019 http://lwkd.info/2019/20191029 Last Week In Kubernetes Development の今週分, 特別気になるものはない気がした GoでCUEのバリデーション機能を利用しつつ、.cue/.json/.yaml形式の設定ファイルを読み込む https://future-architect.github.io/articles/20191030/ validate を全部スキーマに任せられるのか ","date":1572361438,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572361438,"objectID":"cfd9058d9937b67de7ffff997380c1f4","permalink":"https://d-kuro.github.io/diaries/201910/20191030/","publishdate":"2019-10-29T15:03:58Z","relpermalink":"/diaries/201910/20191030/","section":"diaries","summary":"Want to do スタディサプリ English やる Achievement ✅スタディサプリ English やった Diary CUE, どう","tags":null,"title":"2019-10-30","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Achievement ✅スタディサプリ English やった Diary Kubernetes のクラスタアップグレード, トイルにしないようにするための仕組みづくりどうしよう 花粉がつらい Note Argo CD v1.2.5 https://github.com/argoproj/argo-cd/releases/tag/v1.2.5 bug fix 次の GopherCon, ディズニーらしい https://twitter.com/erikstmartin/status/1187846267256365056 至高のDockerイメージ生成を求めて -2019年版- https://qiita.com/inductor/items/25d5accb80ea606d5c51 Dockerfile おじさんにビルド高速化虎の巻教えてほしい ","date":1572275000,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572275000,"objectID":"437e8463037f427d52bbaf58c2df0a48","permalink":"https://d-kuro.github.io/diaries/201910/20191029/","publishdate":"2019-10-28T15:03:20Z","relpermalink":"/diaries/201910/20191029/","section":"diaries","summary":"Want to do スタディサプリ English やる Achievement ✅スタディサプリ English やった Diary Kubernetes のク","tags":null,"title":"2019-10-29","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Achievement できとらん Diary GoCon 行きたかった Note go gc algorithm 101 https://speakerdeck.com/taxio/go-gc-algorithm-101 Go の GC の話, わかりやすい How to develop \u0026ldquo;Container/Kubernetes Ready\u0026rdquo; Go web Application? https://speakerdeck.com/tomioka43131/go-conference-authmn sleep の話とかは頻出なので覚えておきたい OSS Performance Tuning Tips https://speakerdeck.com/orisano/oss-performance-tuning-tips パフォーマンスチューニングの話, pprof 使いこなしたい Go1.13以後のエラーハンドリングについて語ろう / Let\u0026rsquo;s talk about error handling after Go 1 13 https://speakerdeck.com/ciarana/lets-talk-about-error-handling-after-go-1-13 xerrors のスタックトレースが早く標準パッケージに取り込まれてほしい ","date":1572188587,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572188587,"objectID":"5260aadcbcc7d5e93d84c35c4d2548f2","permalink":"https://d-kuro.github.io/diaries/201910/20191028/","publishdate":"2019-10-27T15:03:07Z","relpermalink":"/diaries/201910/20191028/","section":"diaries","summary":"Want to do スタディサプリ English やる Achievement できとらん Diary GoCon 行きたかった Note go gc","tags":null,"title":"2019-10-28","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Achievement Diary 堕落していた 日記だけ続いてるのは偉いとおもう Note git の develop ブランチは必要なのか、またはリリースtagについて https://togetter.com/li/1422612 個人的には feature と master だけでいいよ派 How We Structure Our Work At Mercari Microservices Platform Team https://speakerdeck.com/tcnksm/how-we-structure-our-work-at-mercari-microservices-platform-team メルカリのプラットフォームチームのマネジメントについて DevOps 技術: トランクベース開発 https://cloud.google.com/solutions/devops/devops-tech-trunk-based-development?hl=ja Google の DevOps に関するドキュメント ","date":1572102169,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572102169,"objectID":"97f903cd3c2abafd1450229bf53d43d4","permalink":"https://d-kuro.github.io/diaries/201910/20191027/","publishdate":"2019-10-26T15:02:49Z","relpermalink":"/diaries/201910/20191027/","section":"diaries","summary":"Want to do スタディサプリ English やる Achievement Diary 堕落していた 日記だけ続いてるの","tags":null,"title":"2019-10-27","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる FGO アニメ見た Achievement ✅スタディサプリ English やった ✅FGO アニメ見た Diary 出掛けてた 何もやっとらん Datadog の Custom Agent check, v6 にアップグレードしたときに import するものが変わっていてハマった Note Writing a custom Agent check https://docs.datadoghq.com/developers/write_agent_check/?tab=agentv6 ","date":1572015700,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1572015700,"objectID":"9ff07c6e64b049a50b16df988b36889e","permalink":"https://d-kuro.github.io/diaries/201910/20191026/","publishdate":"2019-10-25T15:01:40Z","relpermalink":"/diaries/201910/20191026/","section":"diaries","summary":"Want to do スタディサプリ English やる FGO アニメ見た Achievement ✅スタディサプリ English や","tags":null,"title":"2019-10-26","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Achievement 🚫スタディサプリ English やってない ✅昨日の Kubernetes Meetup Tokyo のメモ, ブログ化した 今までのも全部移行したい Diary Ruby なんもわからん Note Ingress v2 について https://www.youtube.com/watch?v=Ne9UJL6irXY https://twitter.com/amsy810/status/1130766715380482051 https://crash.academy/video/906/2235 Ingress の KEP はこれかな https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/20190125-ingress-api-group.md Exploring early access releases with feature preview https://help.github.com/en/github/getting-started-with-github/exploring-early-access-releases-with-feature-preview GitHub の early access releases 有効化するやつ Managing Kubernetes のススメ https://twitter.com/nwiizo/status/1187638859045015552 https://speakerdeck.com/nwiizo/managing-kubernetes-falsesusume-1 https://speakerdeck.com/nwiizo/managing-kubernetes-falsesusume-2 Kubernetes について学ぶ資料, めっちゃ充実しててすごい ","date":1571929301,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571929301,"objectID":"2d6ae4fefd5c329dbf84fbfc73d36b1a","permalink":"https://d-kuro.github.io/diaries/201910/20191025/","publishdate":"2019-10-24T15:01:41Z","relpermalink":"/diaries/201910/20191025/","section":"diaries","summary":"Want to do スタディサプリ English やる Achievement 🚫スタディサプリ English やってない ✅昨","tags":null,"title":"2019-10-25","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Kubernetes Meetup Tokyo 参加 https://k8sjp.connpass.com/event/149872/ KubeWeekly 読む https://mailchi.mp/cncf/kubeweekly-1465395 Achievement ✅スタディサプリ English やった ✅KubeWeekly 読んだ https://mailchi.mp/cncf/kubeweekly-1465395 めちゃくちゃおもしろい話は無さそう ✅Kubernetes Meetup Tokyo 参加した https://k8sjp.connpass.com/event/149872/ Diary kubectlenv がほしい Note Argo CD の v1.3.0-rc1 のリリースノート https://github.com/argoproj/argo-cd/releases/tag/v1.3.0-rc Go の構造体定義のアライメントを可視化してくれるやつ https://twitter.com/sonatard/status/1187215121342287872 http://golang-sizeof.tips/ Kubernetes で Complete/Failed となった Job を自動削除する https://qiita.com/ryysud/items/76b6bcf12f0678dc24c4 TTL Controller, 知らなかった goenv の仕組み https://github.com/syndbg/goenv/blob/2.0.0beta11/HOW_IT_WORKS.md Kubernetes 1.16 アルファ機能を先取り!\u2028エフェメラルコンテナ / Kubernetes 1.16 Ephemeral Containers (alpha) https://twitter.com/superbrothers/status/1187518633552969729 ","date":1571842966,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571842966,"objectID":"86382dbf1081f515fe4ea4f03a1391e1","permalink":"https://d-kuro.github.io/diaries/201910/20191024/","publishdate":"2019-10-23T15:02:46Z","relpermalink":"/diaries/201910/20191024/","section":"diaries","summary":"Want to do スタディサプリ English やる Kubernetes Meetup Tokyo 参加 https://k8sjp.connpass.com/event/149872/ KubeWeekly 読む https://mailchi.mp/cncf/kubeweekly-1465395 Achievement ✅スタディサ","tags":null,"title":"2019-10-24","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Achievement ✅スタディサプリ English やったので偉い Diary Kubernetes Podcast 聞いてみたけど速すぎて聞き取れない 速く喋られると脳が処理を裁けなくてキューが詰まって死ぬ現象 詰まった瞬間にキューの中身を全部投げ捨てる感じになってる CI じゃなくて手元で Hugo のビルドしたほうが GitHub Pages へ反映が早いことに気づいた Note Zero Scale Abstraction in Knative Serving https://speakerdeck.com/toversus/zero-scale-abstraction-in-knative-serving ちゃんと読みたい Kubernetes の Scheduler のスケジューリングのアルゴリズムについて スコアリングの重み付け, 大体 1 だった NodePreferAvoidPodsPriority だけ絶対優先されるようになってる https://kubernetes.io/docs/concepts/scheduling/kube-scheduler/#kube-scheduler-implementation https://github.com/kubernetes/kubernetes/blob/v1.16.2/pkg/scheduler/algorithmprovider/defaults/register_priorities.go ","date":1571799129,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571799129,"objectID":"800078103e6a6cc5c87753082521008b","permalink":"https://d-kuro.github.io/diaries/201910/20191023/","publishdate":"2019-10-23T11:52:09+09:00","relpermalink":"/diaries/201910/20191023/","section":"diaries","summary":"Want to do スタディサプリ English やる Achievement ✅スタディサプリ English やったので偉い","tags":null,"title":"2019-10-23","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Blog の移行やる Achievement ✅Blog の移行少しやった ✅スタディサプリ English やった ✅既存リポジトリの CI の設定とかいじった Diary golangci-lint アップデートしたら whitespace 入れないと怒ってくる linter が結構厳しかった 上野公園には人間慣れしすぎた野良猫がいるという知見を得た Note WSL - Whitespace Linter https://github.com/bombsimon/wsl ","date":1571674641,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571674641,"objectID":"b452d0879b1ad7e2b1b244af05fef71f","permalink":"https://d-kuro.github.io/diaries/201910/20191022/","publishdate":"2019-10-22T01:17:21+09:00","relpermalink":"/diaries/201910/20191022/","section":"diaries","summary":"Want to do スタディサプリ English やる Blog の移行やる Achievement ✅Blog の移行少し","tags":null,"title":"2019-10-22","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる Blog の移行やる 炎炎ノ消防隊見る Achievement ✅炎炎ノ消防隊見た Diary Blog の移行 is\u0026hellip; GitHub Actions の cron 使って日記の自動生成するようにした Ruby の構文がなにもわからないやつをやった Note GitHub Actions の cron はこう書く https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onschedule コンテナユーザなら誰もが使っているランタイム「runc」を俯瞰する[Container Runtime Meetup #1発表レポート] https://medium.com/nttlabs/runc-overview-263b83164c98 runc なんもわらかん tfenv install できないやつにハマった https://github.com/tfutils/tfenv/issues/83 コマンドを間違えたときに fuck って打つと正しいコマンド実行してくれるやつ, UX が素晴らしい https://github.com/nvbn/thefuck ","date":1571625825,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571625825,"objectID":"cf5d9b00464d927b79a5cf7446fb588e","permalink":"https://d-kuro.github.io/diaries/201910/20191021/","publishdate":"2019-10-21T11:43:45+09:00","relpermalink":"/diaries/201910/20191021/","section":"diaries","summary":"Want to do スタディサプリ English やる Blog の移行やる 炎炎ノ消防隊見る Achievement ✅炎","tags":null,"title":"2019-10-21","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる FGO アニメみたい Achievement ✅FGO アニメ見た Diary なんもやっとらん serverspec が何もわからないやつをやっている 今年の Hacktoberfest, 審査終わって完了したっぽい Go を書く時間を確保できていないので確保しないといけないなってなってる Note uber-go/guideの 日本語訳 https://github.com/knsh14/uber-style-guide-ja ","date":1571583051,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571583051,"objectID":"3f353bb12e2712f6c65bbdb36daba759","permalink":"https://d-kuro.github.io/diaries/201910/20191020/","publishdate":"2019-10-20T23:50:51+09:00","relpermalink":"/diaries/201910/20191020/","section":"diaries","summary":"Want to do スタディサプリ English やる FGO アニメみたい Achievement ✅FGO アニメ見た","tags":null,"title":"2019-10-20","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる ブログの移行作業をする 12 Kubernetes configuration best practices 読む https://www.stackrox.com/post/2019/09/12-kubernetes-configuration-best-practices/ Kubernetes Networking: Behind the scenes 読む https://itnext.io/kubernetes-networking-behind-the-scenes-39a1ab1792bb Kubernetes Patterns 読む https://www.magalix.com/blog/kubernetes-patterns-the-stateful-service-pattern 他の記事もある Achievement ✅スタディサプリ English やった ✅12 Kubernetes configuration best practices 読んだ https://www.stackrox.com/post/2019/09/12-kubernetes-configuration-best-practices/ 各コンポーネントの option とかめっちゃ細かく書いてある. 保存版 ✅Kubernetes Networking: Behind the scenes 読む https://itnext.io/kubernetes-networking-behind-the-scenes-39a1ab1792bb めっちゃ詳しいんだけどネットワークの基礎知識が足りてないのであんまり理解ができてない ✅Kubernetes Patterns : The Stateful Service Pattern 読んだ https://www.magalix.com/blog/kubernetes-patterns-the-stateful-service-pattern Statefulset の説明 Diary Blog の移行, いつやるんだろうか CKA いつ受けよう 英語やったので偉い Note Go memory ballast: How I learnt to stop worrying and love the heap https://blog.twitch.tv/ja-jp/2019/04/10/go-memory-ballast-how-i-learnt-to-stop-worrying-and-love-the-heap-26c2462549a2/ 予め大きい byte の slice を確保しておくことで GC が減って, パフォーマンスが向上した話 とても参考になるけど今見るとコードサンプルが消えてる気がする goenv に Go 1.13.3 の対応が merge された https://github.com/syndbg/goenv/pull/102 client-go の leader election package の example https://github.com/kubernetes/client-go/tree/master/examples/leader-election ","date":1571411765,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571411765,"objectID":"71680eae4349f5040fc73a06023293f5","permalink":"https://d-kuro.github.io/diaries/201910/20191019/","publishdate":"2019-10-19T00:16:05+09:00","relpermalink":"/diaries/201910/20191019/","section":"diaries","summary":"Want to do スタディサプリ English やる ブログの移行作業をする 12 Kubernetes configuration best practices 読","tags":null,"title":"2019-10-19","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる ブログの移行作業をする 虚構推理読みたい KubeWeekly 読みたい https://mailchi.mp/cncf/kubeweekly-1465391 Achievement ✅虚構推理読んだ ✅スタディサプリ English やる ✅KubeWeekly 読んだ https://mailchi.mp/cncf/kubeweekly-1465391 🚫ブログの移行作業をする Diary Ruby となかよくなれるきがしない Blog と Diary 分けてたけど冷静に分ける意味なくね? って思ってしまったので統合した Go 書きたい Note Zalando がいい感じに Kubernetes クラスタの管理をしている話 ここまでの仕組みづくりができるの強い https://srcco.de/posts/how-zalando-manages-140-kubernetes-clusters.html Go 1.13.3 https://twitter.com/golang/status/1184973510839537664 Go 1.13 の error の公式ブログ https://blog.golang.org/go1.13-errors ","date":1571326952,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571326952,"objectID":"bf5639f340f94b58ad064f132aec7d64","permalink":"https://d-kuro.github.io/diaries/201910/20191018/","publishdate":"2019-10-18T00:42:32+09:00","relpermalink":"/diaries/201910/20191018/","section":"diaries","summary":"Want to do スタディサプリ English やる ブログの移行作業をする 虚構推理読み","tags":null,"title":"2019-10-18","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる ブログの移行作業をする 虚構推理読みたい Achievement 🚫全然できてない ✅Datadog agent の process check 有効化してファイルディスクリプタ監視できるようにした Diary 英語焼き肉会で喋れなさを実感したのでつらいきもちになった Note Kubernetes の API Server の CVE https://groups.google.com/forum/#!msg/kubernetes-security-announce/jk8polzSUxs/dfq6a-MnCQAJ 参考になる Twitter スレッド https://twitter.com/superbrothers/status/1184636588682121216 CockroachCloud が誕生していた https://www.cockroachlabs.com/blog/cockroachcloud-release/ Spanner との差別化がどうなってるのか気になる Kubernetes Networking: Behind the scenes 読みたい https://itnext.io/kubernetes-networking-behind-the-scenes-39a1ab1792bb Kubernetes 1.12 のリリースノート読まないといけない heapstar が死んでてて metrics-server を入れないといけない ","date":1571276740,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571276740,"objectID":"947900d90857bf0faa40992bf97b3cda","permalink":"https://d-kuro.github.io/diaries/201910/20191017/","publishdate":"2019-10-17T10:45:40+09:00","relpermalink":"/diaries/201910/20191017/","section":"diaries","summary":"Want to do スタディサプリ English やる ブログの移行作業をする 虚構推理読み","tags":null,"title":"2019-10-17","type":"diaries"},{"authors":null,"categories":null,"content":"Want to do スタディサプリ English やる ブログの移行作業をする Achievement ✅スタディサプリ English やる ✅PR 出すと Hugo の build して push する感じの GitHub Actions workflow 書いた Diary 英語で Issue とか PR とか書いてるとイマイチコンテキストを伝えきれないことがあって、英語ぢからのなさを実感してる Hugo で post に tag 付けられるのは便利だなって思った Note base64 パッケージで []byte の slice 作るときは base64.StdEncoding.DecodedLen(len(b64Buffer)) とか使う https://golang.org/pkg/encoding/base64/#Encoding.DecodedLen Envoy の発音, おんゔぉい だった ExternalDNS 使ってマルチクラスタにトラフィック流すやつ ExternalDNS に CRD を watch させるらしい https://github.com/kubernetes-sigs/kubefed/blob/v0.0.10/docs/servicedns-with-externaldns.md ALB Ingress Controller, ALB の認証も使えそうだった https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/#authentication SendGrid が Argo CD のドキュメントにコントリビューションしてた. えらい https://github.com/argoproj/argo-cd/pull/2503/files golang.org/x/sys package の存在を知った https://qiita.com/sonatard/items/f03883ac061cf9fe4718 Go ならわかるシステムプログラミングのシステムコールのやつ読んだ https://ascii.jp/elem/000/001/267/1267477/ Kubernetes Patterns とかいうブログを書いてる会社を見つけたので読んでいきたい https://www.magalix.com/blog/tag/kubernetes-pattern tag ついてない記事も結構ある GitHub Actions の環境変数 https://help.github.com/ja/articles/virtual-environments-for-github-actions#environment-variables ","date":1571188917,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1571188917,"objectID":"d6dc280e9ca5d9867e12758a586e4f87","permalink":"https://d-kuro.github.io/diaries/201910/20191016/","publishdate":"2019-10-16T10:21:57+09:00","relpermalink":"/diaries/201910/20191016/","section":"diaries","summary":"Want to do スタディサプリ English やる ブログの移行作業をする Achievement ✅スタディ","tags":null,"title":"2019-10-16","type":"diaries"},{"authors":null,"categories":null,"content":" https://k8sjp.connpass.com/event/138375/\n","date":1563980400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1563980400,"objectID":"3ed459a1f759528b07c89cf9ad9361f2","permalink":"https://d-kuro.github.io/talk/argo-cd-practice-guide/","publishdate":"2019-07-25T00:00:00+09:00","relpermalink":"/talk/argo-cd-practice-guide/","section":"talk","summary":"https://k8sjp.connpass.com/event/138375/","tags":null,"title":"Argo CD 実践ガイド / Argo CD Practice Guide","type":"talk"},{"authors":null,"categories":null,"content":" https://k8sjp.connpass.com/event/126207/\n","date":1563980400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1563980400,"objectID":"d6d962b17bc8af34855afd1db31bb252","permalink":"https://d-kuro.github.io/talk/introduction-to-descheduler/","publishdate":"2019-07-25T00:00:00+09:00","relpermalink":"/talk/introduction-to-descheduler/","section":"talk","summary":"https://k8sjp.connpass.com/event/126207/","tags":null,"title":"図で理解する Descheduler / Introduction to Descheduler","type":"talk"},{"authors":null,"categories":null,"content":" https://gounconference.connpass.com/event/129090/\n","date":1558882800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1558882800,"objectID":"2332c3c70e222d1d55792ab818e5985e","permalink":"https://d-kuro.github.io/talk/kubernetes-source-code-reading/","publishdate":"2019-05-27T00:00:00+09:00","relpermalink":"/talk/kubernetes-source-code-reading/","section":"talk","summary":"https://gounconference.connpass.com/event/129090/","tags":null,"title":"Kubernetes のソースコードとの付き合い方 / Kubernetes source code reading","type":"talk"}]