KubeWeeklyは毎週Kubernetesに関する興味深いニュースを提供しています。この記事は 2018/09/05に発行された Kube Weekly #147 を読んで、感じたことをメモ的にまとめたものです。
私の勘違いや説明不足による誤解もあるかと思いますので、この記事読んで「おっ」と思ったらURLを辿って本文を確認してください。
KubeWeeklyは停止してしまったのか?
8月までは私はRSSでKubeWeeklyを読んでいました。しかし最近RSSが更新されていないようです、同時にWebページにもアクセスできなくなっているようです。
しかし、メーリングリストは生きているようで、いつものようにほぼ毎週記事が送られてきます。
Webサイトがない今、どうやって新たにメーリングリストを購読するのが良いかわからないのですが、とりあえずいつものように読書メモを公開します。
KubeWeeklyは海外のKubernetes関係のニュースを良い感じにつまみ食いできるメディアで重宝しているのですが、今のような状態では新規に購読することが難しいです。何か運営側の意図でこのような状態になっている?(とは考えにくいですが)のかもしれませんが、個人的には、前のようにWebページも復活させて欲しいです。
この記事を読んでいる方で、KubeWeeklyの編集に関わっている人をご存知の方は、ちらっと聞いてみてもらえると助かります!
The Headline
The Machines Can Do the Work, a Story of Kubernetes Testing, CI, and Automating the Contributor Experience - Kubernetes
Kubernetesの開発で利用している自動化ツールProwとその周辺ツールの紹介
CNCF Survey: Use of Cloud Native Technologies in Production Has Grown Over 200% - Cloud Native Computing Foundation
CNCFのサーベイについて。
色々な数字が見られる。
CludNativeプロジェクトの利点は?という質問で回答の多かったもの
- Faster deployment time
- Improved scalability
- Cloud portability
はこれからCloudNativeプロジェクト導入していく場合に参考になりそう。
Distributed Tracing Infrastructure with Jaeger on Kubernetes
分散トレーシングについて。
Kubernetes場でJaegerを使った分散トレーシングを行う方法を紹介している。
Kubernetes向けのJaegerのテンプレートが GitHub - jaegertracing/jaeger-kubernetes: Support for deploying Jaeger into Kubernetes にある。
goのアプリケーションにJaeger用のログを送る設定を入れる方法と、それを収集する方法の紹介
The Technical
Floating Point | Authorization of developers working on a Kubernetes cluster
証明書を使ったKubernetesの認証方法について。
ディベロッパーが個々に証明書ペアを作り、それをKubernetesのCAでサインする。
証明書のOrganizationでGroupを、CNでユーザ名を指定できる。
CertificateSigningRequestを使うこともできるようだが、それは次回書く とのこと
Hyperledger Fabric Deployment Using Helm Chart | Thinking in Cloud
FabricというブロックチェーンのプラットフォームをHelmでKubernetesにデプロイする方法の紹介。
Virtualization Blog: Kubernetes Log forwarding to VMware Log Intelligence using Fluentd
fluentdを使ってログをログ収集ツール Log Intelligence に送る方法について。
HostPathでコンテナのログをマウントしsyslogプロトコルで中継サーバ(Data Collector)に送る方法と直接httpsで送る方法の2つが紹介されている。
Git Push to Deploy Your App on EKS | AWS Open Source Blog
EKS上でGitkubeを利用する方法を紹介。
gitkubeはherokuのようにgit pushするとアプリケーションがデプロイするような仕組みをKubernetesでもできるようにする仕組み。
gitkubeというコマンドで、初期化するとgit remoteにKubernetesクラスタが追加される。そのリポジトリにpushすることでアプリケーションをデプロイできる。
Dynamic database credentials with Vault in Kubernetes
vaultに短命なクレデンシャルを登録し、ファイルとしてマウントするサイドカーの紹介と、そのサイドカーを自動的に注入するMutatingAdmissionWebhookの紹介。
これを使うことで、データベースのパスワードなどを毎回異なるものにすることができる。
gRPC On HTTP/2: Engineering A Robust, High Performance Protocol - Cloud Native Computing Foundation
gRPCの紹介
Extending Kubernetes APIs with Custom Resource Definitions (CRDs) — Velotio Technologies
CRDの作り方とclient-goでの扱い方。
最近はkube-builderなどもあるがこの記事はそういうものを使わず1からCRDのコードを書いている。
Comparison of Two Different Approaches Towards Container Management
起動が非常に遅いコンテナをリクエストごとに作る必要があるようなワークロードをどのように実現するかという方法。
初めはKubernetesを使わずに実現する方法と、Kubernetesを利用する方法の2パターンが紹介されている。
Kubernetesを利用する方法では、意図的にDeploymentと紐づいているラベルを削除することで、待機Podを作り出している。
Getting Started with Kubernetes Ingress-Nginx on Minikube
Ingressを「ドア」に例えて説明。minikubeで実際にIngressリソースをデプロイする方法の紹介。
Understanding Istio Ingress – FireHydrant – Medium
IstioのリソースGatewayVertualServiceの使い方の例。
The Editorial
How SoulCycle is speeding up code deployment, leveraging Kubernetes | ZDNet
システムをKubernetesに乗り換えた話。
CDツールとして Harness | Continuous Delivery Simplified — CI/CD for Devops を使っているようだ。
What is Kubernetes? Optimise your hosting costs and efficiency ♦︎ learnk8s
Kubernetesを使うと効率・コストが最適化するということを紹介している記事。
従来のVMの場合になぜ、効率が悪く、コストがかかるかということを説明し、コンテナ化とKubernetesの利用によりどのように最適化されるかを説明している。
A Comparison of Serverless Frameworks for Kubernetes: OpenFaas, OpenWhisk, Fission, Kubeless and more
OpenFaaS, OpenWrisk, Fission, Kubelessなどの比較。それぞれの特徴が表にまとまっている。
Microservices in a Post-Kubernetes Era
Kubernetesがデファクトスタンダードになった今、どういうアプリケーションを作るべきかという話。
SOA MSA CNAと時代とともに変化するアーキテクチャの図が興味深い
Kubernetes is the new application operating environment (Part 1) - RHD Blog
Kubernetsの紹介
Oracle Cloud Native Labs
EFK stackの紹介
Oracle Kubernetes Engineでは専用のHelmチャートを用意しているようだ。
A Tale of Cloud, Containers and Kubernetes - SocialCops
コンテナ、そしてKubernetes登場の歴史
Developers’ corner: Top 9 open source projects spawned by Kubernetes
Kubernetesから生み出された9つのOSSの簡単な紹介。
Helm, Operator Framework, gVisor, Istio, Prometheus, OpenTracing, Kops, Project Calico, gRPC
"Kubernetes: Not only microservices, but also high performance workloads" - JAXenter
SIG-Schedulingのリーダへのインタビュー記事
あまり知られていないお気に入りの機能は?と聞かれ
GitHub - kubernetes-incubator/kube-arbitrator: A batch scheduler of Kubernetes for ML/BigData/HPC Workload
を紹介していた。
バッチ用のスケジューラらしい。
Three Patterns for an Effective Cloud Native Development Workflow
クラウドネイティブ開発のワークフローのパターンを3種類紹介
- The simulated local development infrastructure pattern
- リモートの環境をシミュレートするような仕組みを使って開発を行う
- AWS SAM Local, LocalStack
- リモートの環境をシミュレートするような仕組みを使って開発を行う
- The re-usable remote infrastructure pattern
- (複数の)テスト環境を使い回す
- The local-to-production development pattern
- プロダクション環境(やそれに近い環境)を使って開発する
- dev spaces, Telepresence
- プロダクション環境(やそれに近い環境)を使って開発する
また各マイクロサービスのテストのためには、モックの仕組みを使うのが良いことを紹介している。
最後に、マイクロサービスのリリースを完璧に検証することは難しいのでCanaryリリースなどを活用することを勧めている。
バックナンバー
- KubeWeekly #143 https://qiita.com/inajob/items/b93257781552c61da173
- KubeWeekly #142 https://qiita.com/inajob/items/6eac1a856e95f18cd2ca
- KubeWeekly #141 https://qiita.com/inajob/items/7771e5a5a4409f433042