5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

KubeWeekly #143

Last updated at Posted at 2018-08-09

KubeWeeklyは毎週Kubernetesに関する興味深いニュースを提供しています。この記事は 2018/08/01に公開された https://kubeweekly.com/kubeweekly-143/ を読んで、感じたことをメモ的にまとめたものです。
私の勘違いや説明不足による誤解もあるかと思いますので、この記事読んで「おっ」と思ったらURLを辿って本文を確認してください。

The Headlines

KubeVirt: Extending Kubernetes with CRDs for Virtualized Workloads - Kubernetes

KubeVirtというKubernetesを使ってVMを作る仕組について、 Kubernetesをどのように拡張したかを説明した記事。

  • CRD
    • VMをPodと同じように扱えるように設計できる
  • ValidatingAdmissionWebhook
    • CRD生成時のバリデーション
  • CRD OpenAPIv3 Validation
    • 同じくバリデーション
  • MutatingAdmissionWebhook
    • デフォルト値の自動埋め込み
  • Subresources for CRD
    • ワークアラウンドでaggregated APIを使っている
  • CRD Finalizers
    • CRD削除時の処理
  • API Versioning for CRDs
    • バージョン変換周りが未実装なので、実装待ち

CNCF to Host Harbor in the Sandbox - Cloud Native Computing Foundation

CNCFがコンテナレジストリのHarborをSandboxとして承認した。
HarborはVMWareが Docker Distributionを拡張して作ったもの

中国の企業が多く使っているからか、中国語が併記されているのが印象的な記事でした。

Edge Computing at Chick-fil-A – Chick-fil-A Tech Blog – Medium

チキンサンドイッチ店 Click-fil-Aは各店舗にコンピュータを配備して、それらを使って多数のKubernetesクラスタを作っている。(詳細は別記事 Bare Metal K8s Clustering at Chick-fil-A Scale – Chick-fil-A Tech Blog – Medium
なぜそのようなことをしているのか? という記事

レストランで動作するIoT機器のEdgeComputing基盤としてKubernetesを使おうという話のようです。PoSと連携して、ML技術を用いて適切な指示を出すなどして、レストランのサービス品質を向上したり、細かいメトリクスを収集して、中央に集約するなどの用途を想定しているらしい。

GKE On-Premにも興味があるというところで、EdgeComputing基盤としてのKubernetesの事例として面白いと感じた。

The Technical

NFS Persistent Volumes with Kubernetes — A Case Study

GCPにてReadWriteManyの要件を満たすNFSを用意するテクニックについて。GCPのPersistentVolumeはReadWriteManyに対応していない。
Google Filestoreは1TBがミニマムでしかも高い。

ということでNFSサーバを立てる。
GCPのPersistentVolumeをマウントしたNFSサーバをPodとしてKubernetesクラスタにデプロイする。

データを共有したいPodは上記NFSサーバをマウントする。これでReadWriteManyが実現できる。

Build a Machine Learning Testbed Based on Kubernetes and Nvidia GPU - The New Stack

GPUが使える、シングルNodeのKubernetes作成方法のチュートリアル。
nvidia-docker、nvidia-kubernetsをセットアップする。

作り方はnvidia-kubernetesのkubeadmを使うだけなので、普通のKubernetesクラスタとほとんど同じ。

Introduction to Knative – Paul Czarkowski – Medium

knativeの説明。
Build,Serving,Eventing に分けて、簡単な使い方の説明

Buildでは、dockerコンテナのビルドの指示が出せます。例ではKanicoを使っているため特権は必要なくイメージをビルドできるとのことです。

ServingではIstioを使って、ワークロードをうまいこと動かすようです。負荷に応じたスケーリングや、リクエストが来ない場合は0にスケールするなどもやってくれます。

Eventingでは、生産者消費者モデルで、処理を実現することができます。PivotalのRiffというプロジェクトがベースになっているようです。

(Eventを定義できるのはわかったが、これがどのようにServingしているサービスと連携するのかはこの記事からはよくわからなかった。)

Deploying a Stateful Application on Google Cloud Kubernetes Engine | @RisingStack

先週読んだ

Creating Kubernetes clusters using kubeadm – Nikita Kokitkar – Medium

EC2上にkubeadmでクラスタを作るチュートリアル。極めて普通のチュートリアル。ファイアーウォールの設定例が書いてあるのは参考になりそう。

Kubernetes API proxy with Pipeline · Banzai Cloud

Banzai Cloudというmanaged kubernetesサービスで、kubedashboardなどの認証を実現するためのプロキシを用意する方法。
Kubernetesクラスタの外にOAuth認証をするプロキシを設置する機能があるようだ。そこで権限管理や、Auditログを残すなどの処理もできる。

Connecting to a kafka cluster running in kubernetes

kubernetes上にデプロイしたkafkaにラップトップからアクセスする方法。単にkubectl proxyをするだけではだめで、iptablesにDNATの設定を入れる必要がある。
kafkaのクライアントが、kafka brokerにアクセスしに行こうとするがそのIPがk8sの内部のものとなっているからということらしい。

もう一つの方法としてTelepresenceを使う方法も紹介されている。

Synchronizing Kubernetes Secrets with LastPass – Upside Engineering Blog

LastPassにいれたSecretをKubernetsのSecretとしてデプロイするためのワークフローの紹介。
kexpand GitHub - kopeio/kexpand というテンプレートのためのCLIとLastPassのCLIであるlpassを利用している。

家のKubernetesクラスタのSecretなどはこの方法で管理するのはありかな、と思った。

How to deploy Laravel Application to Kubernetes – Playa Unimatrix Zero – Medium

PHPのフレームワークであるLaravelを使ったアプリケーションをKubernetesにデプロイするチュートリアル

ark(GitHub - richdynamix/arc: Production ready docker based development environment for your Laravel project.) というLaravelのアプリケーションをコンテナ化するユーティリティを使う。

Configuring permissions in Kubernetes with RBAC – Containerum – Medium

KubernetsのRBACの紹介。Role, RoleBinding, ClusterRole,ClusterRoleBinding

A Deep Dive into Kubernetes Metrics — Part 5: etcd metrics

A Deep Dive into Kubernetes Metrics シリーズのPart5
etcdのメトリクスに関しての説明。

  • Leaderの存在確認、Leaderの入れ替わり頻度の確認
  • 書き込み(Proposal)の失敗数が多いかどうか
  • ディスク書き込みの待ち時間が多いかどうか
  • GRPCの失敗割合が多いかどうか

PromQLでアラートの設定が載っているので非常に参考になる。
他のPartも見ておきたい

The Editorial

Is it time to start climbing the ladder to Kubernetes? | Network World

Kubernetesの紹介
そろそろ使っておいた方が良いよ みたいなことが書いてある

Deploy a Distributed AI Stack to Kubernetes – Jay Johnson – Medium

オンラインゲームのハッキングやチートを検出するためのAI基盤をKubernetes上に作っている話。

GitHub - jay-johnson/deploy-to-kubernetes: Set up your own Kubernetes cluster on Ubuntu and deploy a distributed AI stack - works locally and on AWS

これを使えば、誰でも同じようなAI基盤が作れるようだ。

Celebrating Istio service mesh project at 1.0 and what it means for the Kubernetes community | CoreOS

Istioが1.0になったよ!という記事
RedHatとしてはまだproduction readyではない みたいなことが書いてある。

MultiCloud — It’s just the beginning – Lawrence Manickam – Medium

マルチクラウドについて、気にすべき点など
(あまりちゃんと読んでない)

Continuous Integration and Deployment in Kubernetes - The New Stack

PodCastの紹介。
(聞いていない)

Orchestrating production-grade workloads with Azure Kubernetes Service | Blog | Microsoft Azure

AzureのKubernetes環境の紹介

  • Azure Dev Spaces
  • ACI Coonector (virtual kubelet)
  • Azure Container Registry
  • Supporting Istio , Linkerd

さらに、IoT Edgeとしての活用方法として

IoT Edge connector (virtual kubelet implementation)の紹介をしている。

最後に機械学習基盤としてのAKSの紹介をしている。

virtual kubeletを使って、なんでもKubernetesで制御しようとしているのは面白いアプローチだと感じた。

Container Attached Storage (CAS)— A video primer – MayaData – Medium

CASの実装の一つであるOpenEBSをという仕組みを紹介している。

CASについては Container Attached Storage: A Primer - Cloud Native Computing Foundation に説明があるとのこと

Container Attached Storageの対義語はshared storageのようだ。コンテナが利用するボリュームごとにストレージのコントローラが存在するようなタイプの共有ストレージのことを指しているようだ。

Introducing a 'Security Mesh' to Protect Kubernetes - Container Journal

Security Meshという考え方について。
Service Meshのレイヤーでセキュリティ関係の処理をすることをこう呼んでいるのだろうか?

Evolution of PaaSes to Platform-as-Code in Kubernetes world

Kubernetesを利用して caastle(GitHub - cloud-ark/caastle: Full-stack microservices development & deployment tool for Google Kubernetes Engine and Amazon Elastic Container Service )というPlatform as Code を実現した話。
さらに Kubernetes Operatorを利用したKubePlus (GitHub - cloud-ark/kubeplus: Purpose-built Platforms on Kubernetes)というPlatform as Codeを作った話。
今後はこのようなKubernetesのためのPlatform as Codeが増えてくるだろうと言っている。

記事には書いてないがknativeなどもまさにPlatform as Codeなのだろうと感じた。

PlanGrid’s migration from Heroku to Kubernetes – PlanGrid Technology – Medium

HerokuからKubernetesに移行した話。
EC2とHerokuの併用がきつい、HerokuのHTTP Routerが遅い、リージョンまたぎの通信をもっと細かく制御したい、などの理由でKubernetesへの移行を検討。
Spinnakerを使っている。kubectlよりも使いやすいと言っている(give developers a better experience)
Herokuからの移行だとするとkubectlは使い勝手が違いすぎる、とのこと

Kubernetes: Core Concepts – YLD Engineering Blog – Medium

Kubernetesのコアコンポーネントを図入りで紹介。飾らない図が良い。

バックナンバー

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?