Kube Weekly #150

KubeWeeklyは毎週Kubernetesに関する興味深いニュースを提供しています。この記事は 2018/09/26に発行された Kube Weekly #150 を読んで、感じたことをメモ的にまとめたものです。
私の勘違いや説明不足による誤解もあるかと思いますので、この記事読んで「おっ」と思ったらURLを辿って本文を確認してください。

また、KubeWeeklyのサイトが8月ごろからアクセスできなかったようですが、現在サイトリニューアル中のようです。
<blockquote class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr">We&#39;re working on a new and improved KubeWeekly website 🎉 Stay tuned! <br><br>In the meantime, check out the latest editions of KubeWeekly (and subscribe) here: <a href="https://t.co/TJFU1MV1h1">https://t.co/TJFU1MV1h1</a></p>&mdash; KubeWeekly (@kubeweekly) <a href="https://twitter.com/kubeweekly/status/1045057366243196928?ref_src=twsrc%5Etfw">2018年9月26日</a></blockquote>

一応簡易的に、下記ページで過去のKubeWeeklyを見ることができます。
http://bit.ly/kubeweekly

# The Headlines

## [Cloud Native Computing Foundation Announces Schedule for Largest-Ever Kubernetes Event, KubeCon + CloudNativeCon Seattle - Cloud Native Computing Foundation](https://www.cncf.io/announcement/2018/09/26/cncf-announces-schedule-for-kubecon-cloudnativecon-seattle/)

KubeCon + CloudNativeCon Seattleのスケジュールの話。
いくつかの発表内容が紹介されている。

co-located eventsが結構あるようです。

## [Competition Among Container Platforms Heats Up - Container Journal](https://containerjournal.com/2018/09/25/competition-among-container-platforms-heats-up/)

コンテナが使われ始めている、これからも伸びていくよという資料。
様々なサーベイの数字を引用しているので、コンテナをどのくらいの割合の企業が使っているのか、などがざっくりわかる。

主要なパブリッククラウドの採用率は実は下がっていて、これは、プライベートクラウドへの移行が進んでいるからだ、と説明されている。Kubernetesやっぱり難しいのかな・・


## [Single Sign-On for Internal Apps in Kubernetes using Google Oauth / SSO](https://medium.com/@while1eq1/single-sign-on-for-internal-apps-in-kubernetes-using-google-oauth-sso-2386a34bc433)

BuzzFeedがオープンソースで公開したSSO( [GitHub - buzzfeed/sso: sso, aka S.S.Octopus, aka octoboi, is a single sign-on solution for securing internal services](https://github.com/buzzfeed/sso) ) を使いKubernetes内のサービスに対してSSO認証
しないとアクセスできないようにして公開する方法を紹介している。
対象サービスにIngressからAuthProxyを経由してアクセスするようにして、SSO認証を実現している

GoogleのOAuthプロバイダを使った例のみが示されている。他のOAuthプロバイダでもできるのかな？

# The Technical

## [Running Laravel in Kubernetes at Large Scale](https://engineering.springboardvr.com/running-laravel-in-kubernetes-at-scale/)

Laravelで作ったWebアプリケーションをKubernetesでうまく扱う方法。
Helmによるマニフェストの管理、docker-composeを使ったデバッグ、と言った一般的な話から、PHP-FPMのプロセス数の制御や、FPMのstatsを利用したHPAの設定などPHPとKubernetesを組み合わせる場合に固有の問題についても触れている。

## [Using pod security policies with kubeadm | pmcgrath](https://pmcgrath.net/using-pod-security-policies-with-kubeadm)

kubeadmで作ったクラスタにPSPを適用する方法について。system::nodesに権限をつけたり、ingress-controllerにNET_BIND_SERVICEのcapabilityを許可したりと、かなり実践的な設定になっているように見える。

## [KubeRBS for automatic Kubernetes rollbacks so you can sleep better at night!](https://blog.doit-intl.com/kuberbs-for-automatic-kubernetes-rollbacks-so-you-can-sleep-better-at-night-c119d64590ec)

[GitHub - doitintl/kuberbs: K8s deployment rollback system](https://github.com/doitintl/kuberbs) の紹介
kuberbs (Kubernetes Rollback System) 
指定したmetricsでエラーを判定した場合に自動的にDeploymentをロールバックしてくれるRbsというCRDを扱うオペレータ。
今の所datadogとstackdriverのみ対応している。

## [Using Pulumi for Kubernetes configuration management](https://leebriggs.co.uk/blog/2018/09/20/using-pulumi-for-k8s-config-mgmt.html)

[Pulumi](https://pulumi.io/) の紹介。Plumiはソースコードでインフラを管理するためのツール。Terafformのような感じだが、言語はJavaScriptなどが使えるようです。
さらにHelmのChartを読み込んでValueなどをPlumiで定義することができる。

## [Replicate cloud AWS RDS MySQL to on-premise PostgreSQL in Docker – future is today! Debezium and Kafka on AWS EKS – Jakub Bujny – personal blog](https://jakubbujny.com/2018/09/20/replicate-cloud-aws-rds-mysql-to-on-premise-postgresql-in-docker-future-is-today-debezium-and-kafka-on-aws-eks/)

AWS RDS MySQLを別DCのPostgreSQLにレプリケーションする方法の紹介。
DebeziumというDBの変更をKafkaに流す仕組みを使ってレプリケーションを実現している。AWSの設定は全てterraformで行なっている。
Zookeeper,KafkaをEKS上にデプロイしている。

MySQLなら普通にレプリケーションできると思うが、この人はPostgreSQLにレプリケーションしたいから、こんなことをしてるのかな？

## [What is Helm and why is it important for Kubernetes deployments? - Blog | BoxBoat](https://boxboat.com/2018/09/19/helm-and-kubernetes-deployments/)

Helmの紹介

## [Container Networking Interface aka CNI – vikram fugro – Medium](https://medium.com/@vikram.fugro/container-networking-interface-aka-cni-bdfe23f865cf)

CNIの紹介
cnitoolとdockerを使ったbrigde プラグイン,portmap　プラグインの実例。

## [Persistent Volume Claim for StatefulSet – Zhimin Wen – Medium](https://medium.com/@zhimin.wen/persistent-volume-claim-for-statefulset-8050e396cc51)

PVCの紹介とStatefulSetでの利用方法

## [Parallel Processing of Machine Learning Algorithms – dunnhumby Data Science & Engineering – Medium](https://medium.com/dunnhumby-data-science-engineering/parallel-processing-of-machine-learning-algorithms-e1cff1151bef)

KubeFlowを使って機械学習を行うことの利点などが書かれている。
従来直列に行なっていた処理をKubeFlowにより並列に行うことで8時間かかった処理が1時間に減ったとのこと。
まぁKubeFlowでなくとも並列にしたら早くなるのだろうけど・・


## [Deploying the AWS IAM Authenticator to Elastickube – getamis – Medium](https://medium.com/getamis/deploying-the-aws-iam-authenticator-to-elastickube-52a96f8ee2f8)

aws-iam-authenticatorをつかいAWSでKubernetesを作って、認証をIAMと連携させる話。
クラスタの構築には [GitHub - getamis/vishwakarma](https://github.com/getamis/vishwakarma) を利用している

## [Building Kubernetes Infrastructure with Kops, Ansible & Gitlab-CI](https://medium.com/@ahmetatalay/building-kubernetes-infrastructure-with-kops-ansible-gitlab-ci-ae5271c9844c)

Kopsを使ったクラスタ構築方法の紹介。構築用のシェルスクリプトなど

# The Editorial

## [Things to know before taking Certified Kubernetes Administrator (CKA) Exam](https://medium.com/@adiletmaratov/things-to-know-before-taking-certified-kubernetes-administrator-cka-exam-527188db22ae)

CKAの前に知っておくこと。
[GitHub - kelseyhightower/kubernetes-the-hard-way: Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.](https://github.com/kelseyhightower/kubernetes-the-hard-way) の紹介など

## [Microservice Observability with Istio - Trulia's Blog](https://www.trulia.com/blog/tech/microservice-observability-with-istio/?utm_campaign=Devops%20Week%20News&utm_medium=email&utm_source=Revue%20newsletter)

PHPのモノリシックなアプリケーションをマイクロサービス化しKubernetesにデプロイしistioで通信のメトリクスを収集している話。
何も考えずマイクロサービス化すると横断的に見るべきマトリクスが散らばってしまう。Kubernetes+Istioを使うことで、これらの手法を統一し、かつ1箇所に集約することができる。

## [Public Cloud Managed Kubernetes: Our Hands-On Experience](https://blog.cloud66.com/public-cloud-managed-kubernetes-our-hands-on-experience/?utm_source=-&utm_medium=-&utm_campaign=kubeweekly)

マネージドKubernetesやコンテナ系のサービスのそれぞれの簡単な紹介・利点・欠点のまとめ
AWS,Azure,GCP,DigitalOcean

## [Devops with Kubernetes | Sreenivas Makam's Blog](https://sreeninet.wordpress.com/2018/09/20/devops-with-kubernetes/)

スリランカでのKubernetesのMeetupで発表した資料の紹介。12factorAppとKubernetesの機能のマッピング

## [Ubuntu does Kubernetes | Ubuntu blog](https://blog.ubuntu.com/2018/09/20/ubuntu-kubernetes)

Ubuntu上でKubernetesを動かすことについて。様々なクラウドプロバイダと協力していて実績がある。

## [A Kubernetes FAQ for the C-suite | Google Cloud Blog](https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-faq-for-the-c-suite)

偉い人向けのKubernetesのよくある質問集。Kubernetesって何？、Kubernetesはなぜそんなに好かれてるの？、Kubernetesを導入したら我々のビジネスに何が起きるの？　などなど

## [New working group aims to bring Kubernetes to IoT edge networks - SiliconANGLE](https://siliconangle.com/2018/09/26/new-working-group-created-bring-kubernetes-iot-edge-networks/)

IoT EdgeのためのKubernetesについて議論する Kubernetes IoT Edge Working Groupができたよという話。
[community/wg-iot-edge at master · kubernetes/community · GitHub](https://github.com/kubernetes/community/tree/master/wg-iot-edge)

## [Five Kubernetes role-based access control mistakes to avoid - Cloud Tech News](https://www.cloudcomputing-news.net/news/2018/sep/26/five-kubernetes-role-based-access-control-mistakes-avoid/)

KubernetesのRBACで避けるべき間違い。
うっかりやってしまいそうなことが書かれている。が、読んでもうっかりやってしまいそう

## [The Linux Foundation Brings Network Automation and Cloud Native Communities Together as Network Functions evolve to CNFs - The Linux Foundation](https://www.linuxfoundation.org/press-release/2018/09/the-linux-foundation-brings-network-automation-and-cloud-native-communities-together-as-network-functions-evolve-to-cnfs/)

Virtual Network Function (VNFs) から Cloud-native Network Functions (CNFs)へ
というよなことが書いてあるが、あまり馴染みがないのでよくわからない。

## [How Kubernetes API Extensions enable Platform-as-Code Experience](https://itnext.io/how-kubernetes-api-extensions-enable-platform-as-code-experience-cbb72b0970d9)
KubePlus を作っている会社の記事 [GitHub - cloud-ark/kubeplus: Kubernetes Application Platforms - as Code](https://github.com/cloud-ark/kubeplus)

Platform-as-Code (PaC) という考え方について紹介。
Container-as-a-Service (CaaS)の次のモデルのようだ。
Kubernetsを拡張してアプリケーションの周辺Platformも宣言的に扱うことをこのように言っているようだ。

# バックナンバー

- KubeWeekly #149 https://qiita.com/inajob/items/d007ba0114dfb5eb77e2
- KubeWeekly #148 https://qiita.com/inajob/items/4f153cb214fd622bdb89
- KubeWeekly #147 https://qiita.com/inajob/items/8148914d7e6b8afc186c
- KubeWeekly #143 https://qiita.com/inajob/items/b93257781552c61da173
- KubeWeekly #142 https://qiita.com/inajob/items/6eac1a856e95f18cd2ca
- KubeWeekly #141 https://qiita.com/inajob/items/7771e5a5a4409f433042