CloudNative
CNCF

CNCF主要プロジェクト動向まとめ2019年1月


概要

Cloud Native Computing Foundation (https://www.cncf.io/, 以下CNCF)の発表や主要プロジェクト (Graduated)の新着情報、ブログなどを整理していたので公開します。


CNCF

image.png


アナウンス



  • Cloud Native Computing Foundation Announces CoreDNS Graduation 2019年1月24日(木)


    • CoreDNS の卒業(Graduation)を CNCF が発表。2019 年に始めて卒業となったプロジェクトです。卒業とはプロジェクトからの離脱ではなく、プロジェクトにおける技術やコミュニティの成熟度が、誰もが利用可能となるレベルに到達したのを示すものです。CoreDNS は素早く、柔軟な、最新の DNS サーバであり、クラウド・ネイティブにおけるサービス・ディスカバリも提供します。

    • CoreDNS は Kubernetes v1.13 から、デプロイメントにおけるデフォルトの DNS になりました。




  • Cloud Native Computing Foundation Welcomes Inspur as Gold Member 2019年1月31日


    • CNCF はサーバ・ベンダの Inspur がゴールド・メンバーになったと発表しました。




CNCF Blog



  • Monitoring Kubernetes, part 1: the challenges + data sources 2019年1月9日(水)


    • Sensu CTO の Sean Porter 氏による、Kubernetes 監視ポイント解説。パート1は元データとして、Kubelet やノードなど、何を監視すべきかの解説。




  • 9 Kubernetes Security Best Practices Everyone Must Follow 2019年1月14日(木)


    • 誰もが従うべき9つの Kubernetes セキュリティ・ベスト・プラクティスの解説記事です。最新バージョンへのアップグレード、ロールベース・アクセス制御(RBAC)、セキュリティの境界線を確立するために名前空間を使う、重要なワークロードの分離、クラウド・メタデータへのアクセスを安全に、クラスタのネットワーク・ポリシーの作成と定義、ポッド・セキュリティ・ポリシーを適用してクラスタを稼働、ノード・セキュリティを強固に、監査ログを有効化、が上げられています。




  • Enterprise Leaders’ Protips for Scavenger Hunting Through the Cloud Native Tool Weeds 2019年1月15日(金)


    • シアトルで開催された Kubecon _ CloudNativeCon North America 2018 では、エンタープライズでも Cloud Native を採用できるのかをテーマにしたディスカッションがありました。各社の考えるクラウド・ネイティブについてや、導入事例、実用面での課題が議論されました。




  • New Year, New TOC 🌟 2019年1月29日(火)


    • CNCF TOC(技術評価委員会) は CNCF の技術ビジョンに対する定義と維持を担っています。 メンバーからの推薦のあと、運営委員会によって6人が選出されました。任期は2年です。

    • TOC とは、CNCF運営委員会によって、新しいプロジェクトの承認や、調整、廃止といった権限を与えられています。また、エンドユーザ委員会からはフィードバックを取り入れ、プロジェクトに反映します。たとえば、コンポーネント間のインターフェースを調整し(標準化されていなければ、コード参照の実装)、CNCF プロジェクトを横断する共通実装の定義など、コミュニティ内の中立的な合意を得るために不可欠です。




  • Diversity Scholarship Series: Bringing along Kubernetes experience from Shanghai to Nepal 2019年1月30日(水)


    • 多様性奨学金シリーズ:上海からネパールへ Kubernetes 経験をもたらす
      KubeCon + CloudNativeCon China 2018 で、開発者と学生に対する多様性奨学金を提供しました。ネパールの企業支援計画(ERP)協会の Raksha Roy さんによる、セッションやコミュニティ参加体験のレポートです。




Graduated Projects


Kubernetes (Orchestration)

image.png


  • 公式サイト https://kubernetes.io/


    • Kubernetes は、コンテナ化したアプリケーションのデプロイ、スケーリング、管理を自動化するための、オープンソースのシステムです。



  • 現在のバージョン v1.13.2



  • APIServer dry-run and kubectl diff 2019年1月14日(月)


    • Kubernetes 1.13 ではサーバ側でのドライ・ランと kubectl diff がベータになりました。この2つの機能は、Kubernetes に対する大きな改良となります。宣言型の設定管理は、コードとしての構成管理(configuration-as-code)とも知られている、Kubernetes の重要な強さの1つです。これは、クラスタに対して理想状態(desired state)を送ると、バージョン違いを追跡できるので、CI/CD パイプラインを通した自動化や確認が可能になります。




  • Container Storage Interface (CSI) for Kubernetes GA 2019年1月15日(火)


    • Kubernetes v1.13 のリリースに伴い、Kubernetes用の コンテナ・ストレージ・インターフェース(CSI) が一般利用(GA)になりました。CSI は Kubernetes 用のボリューム・プラグイン・システムです。Kubernetes に組み込まれた状態で提供されるため、Kubernetes のリリース間隔にあわせたプラグイン開発やサポートが可能になります。

    • CSI は Kubernetes v1.9 で アルファとして導入 され、v1.10 では ベータ になっていました。一般利用のマイルストーンに到達したため、今後のバージョンアップでも、機能は互換性が保たれます。




  • Update on Volume Snapshot Alpha for Kubernetes 2019年1月17日(木)


    • ボリューム・スナップショット(Volume snapshotting)は Kubernetes v1.12 からアルファ機能として導入。Kubernetes v1.13 でもアルファですが、いくつかの機能拡張と根本的な機能変更が加えられました。変更内容の概要を記します。




Prometheus (Monitoring)

image.png



  • 公式サイト https://prometheus.io/


    • Prometheus はオープンソースのシステム監視およびアラートのツールキットであり、オリジナルはSoundCloud によって開発されました。



  • 現在のバージョン v2.7.1 (2019-01-31)



  • Subquery Support 2019年1月28日(月)


    • 最新の Prometheus v2.7 で導入されたサブクエリについての解説記事。




Envoy (Service Proxy)

image.png


  • 公式サイト https://github.com/envoyproxy/envoy/releases


    • Envoy はクラウド・ネイティブなアプリケーション用に設計された、オープンソースのエッジおよびサービス・プロキシです。



  • 最新バージョン v1.9.0 (2018-12-21)


  • 1月のブログ更新は無し



CoreDNS (Service Discovery)

image.png


  • 公式サイト https://coredns.io/


    • CoreDNS は Go 言語で書かれた DNS サーバです。柔軟性があるため、様々な環境で利用できます。



  • 最新バージョン v1.3.1



  • CoreDNS-1.3.1 Release 2019年1月13日(日)


    • CoreDNS-1.3.1 のリリース発表を嬉しく思います。今回はごく僅かの変更であり、次の (1.4.0) リリースでは後方互換に関わる変更をアナウンスします。 upstream ディレクティブは様々なプラグインで使われていますが、以後は coredns プロセス自身が使う予定です。




Incubating Projects


OpenTracing (Distributed Tracing API)

opentracing.png


  • 分散トレーシング用のベンダ中立 API の仕様と、各言語向けツール。

  • プロジェクト:https://opentracing.io/



  • Open for event based tracing? – OpenTracing – Medium

    2019年1月11日(金)


    • イベントを基準にした追跡(トレーシング)ができますか?

    • OpenTracing における分散追跡の基本概念は、(時間に対する)間隔です。つまり、何かが始まって終わるまでであり、キーバリューのペアで注釈を付けられ、「カジュアル」に関連付けられます。このイベント・モデルについての考え方を解説。




  • OpenTracing at Scale in .NET – OpenTracing – Medium

    2019年1月15日(火)


    • Akka.NET によって、 .NET でスケールした環境にも OpenTracing を。




  • Announcing Java v0.32 Release Candidate 2 – OpenTracing – Medium 2019年1月23日(水)


    • Java v0.32 リリース候補 2 の発表。Java OpenTracing バージョン v0.32 RC2 が利用可能になりました。v0.31 との変更点について。




Fluentd (Logging)

fluentd.png


gRPC (Remote Procedure Call)

grpc.png


containerd (Container Runtime)

containerd.png


rkt (Container Runtime)

rkt.png


rkt (pronounced like a "rocket") is a CLI for running application containers on Linux. rkt is designed to be secure, composable, and standards-based.



  • rkt(「ロケット」と発音)は Linux 上でアプリケーション・コンテナを実行する CLI。rkt は安全、組み立て可能、標準をベースとして設計。

  • GitHub:https://github.com/rkt/rkt

  • 現在のバージョン:v1.30.0 2018年4月16日

  • 特に動き無し


CNI (Networking API)

cni.png


Container Network Interface - networking for Linux containers



  • Linux コンテナがネットワークを形成するコンテナ・ネットワーク・インターフェース、およびプラグイン。

  • GitHub:https://github.com/containernetworking

  • 現在のバージョン:CNI v0.7.4 2018年11月8日

  • 特に動き無し


Jeager (Distributed Tracing)

image.png


Jaeger: open source, end-to-end distributed tracing



Notary (Security)

notary.png


Notary is a project that allows anyone to have trust over arbitrary collections of data



TUF (Software Update Spec)

tuf.png


A framework for securing software update systems



Vitess (Storage)

vitess.png


Vitess is a database clustering system for horizontal scaling of MySQL



NATS (Messaging)

nats.png


NATS Server is a simple, high performance open source messaging system for cloud native applications, IoT messaging, and microservices architectures.



Linkerd (Service Mesh)

linkerd.png


Ultralight service mesh for Kubernetes and beyond



Helm (Package Management)

helm.png


The package manager for Kubernetes



Rook (Storage)

rook.png


File, Block, and Object Storage Services for you Cloud-Native Environments



  • クラウド・ネイティブ環境用のファイル、ブロック、オブジェクト・ストレージ・サービス。Minio や CockroachDB を PersistentVolumeClaims で使ったり、Ceph、Cassandra、Nexenta EdgeFS に対応

  • 公式サイト:https://rook.io/

  • 現在のバージョン:v0.9.2 2019年1月

  • 2018年12月に v0.9 が提供開始となり、Ceph サポートが stable v1 になった他、特に大きな動きは無し。


Harbor (Registry)

harbor.png


An open source trusted cloud native registry project that store, sign, and scans content



  • オープンソースの信頼できるクラウド・ネイティブなレジストリ・プロジェクトであり、内容を保存・署名・スキャンする。

  • 公式サイト:https://goharbor.io/

  • 現在のバージョン:v1.7.2 2019年1月

  • 2018年12月に v1.7 が提供開始となってからは、特に大きな動き無し。


etcd (Key/Value Store)

etcd.png


Distributed reliable key-value store for the most critical data of a distributed system



  • 分散システムで最もクリティカルなデータ用に対する、信頼性のある分散キーバリュー・ストア。

  • 公式サイト:https://github.com/etcd-io

  • 現在のバージョン:v3.3.11

  • 2018年12月からCNCF参画プロジェクトに。


Sandbox Projects


SPIFFE (Identity Spec)

spire.png


Secure Production Identity Framework for Everyone



SPIRE (Identity)

spiffe.png


SPIRE, the SPIFFE Runtime Environment



  • SPIRE は SPIFFE のラインタイム環境

  • 公式サイト:https://spiffe.io/spire/

  • 現在のバージョン:0.7.2

  • SPIFFE と連動しているプロジェクトのため、単体では動き無し。


Open Policy Agent (Policy)

openpolicyagent.png


Policy-based control for cloud native environments



  • クラウド・ネイティブ環境向けポリシーに基づく制御

  • 公式サイト:https://www.openpolicyagent.org/

  • 現在のバージョン:v0.10.3 2019年1月

  • 2018年10月に v0.10がリリースされてい以来、特に大きな動きは無し。


CloudEvents (Serverless)

cloudevents.png


A specification for describing event data in a common way



  • 共通の手法でイベント・データを記述する仕様

  • 公式サイト:https://cloudevents.io/

  • 現在のバージョン:v0.2 2018年12月7日


Telepresence (Tooling)

telepresence.png


Fast, local development for Kubernetes and OpenShift microservices



  • Kubernetes と OpenShift マイクロサービス向けの、素早いローカル開発(Kubernetes 用のローカルでのサービス・デバッグ用ツール)

  • 公式サイト:https://www.telepresence.io/

  • 現在のバージョン:0.97 2019年1月


OpenMetrics (Metrics Spec)

openmetrics.png


An effort to create an open standard for transmitting metrics at scale, with support for both text representation and Protocol Buffers.



  • スケールする環境でのメトリクスを送信するための、オープンな標準を作る取り組み。テキスト表記とプロトコル・バッファの両方をサポートする。

  • 公式サイト:https://openmetrics.io/

  • メトリクス仕様に関する取り決めと議論のためのプロジェクト。https://github.com/OpenObservability/OpenMetrics


TiKV (Key/Value Store)

tikv.png


A distributed transactional key-value database



  • 分散トランザクション・キーバリュー・データベース。

  • 公式サイト:https://tikv.org/

  • 現在のバージョン:v2.1.3 、tikv-server v3.0.0-beta がプレリリース中

  • 2018年11月30日に TiKV 2.1 の GA がリリース。


Cortex (Monitoring)

coretex.png


A multitenant, horizontally scalable Prometheus as a Service



  • マルチテナントの、水平スケールするサービスとしての Prometheus (Prometheus as a Service)

  • 公式サイト:https://github.com/cortexproject/cortex

  • 現在のバージョン:リリース無し、開発途上

  • Grafana Cloud https://grafana.com/cloud の一部として Cortex を使用している。


Buildpacks (Packaging Spec)

buildpack.png


Buildpacks are pluggable, modular tools that translate source code into OCI images.



  • Buildpacks は、プラガブルなモジュール・ツールで、ソースコードを OCI イメージの中に変換して入れる。

  • 公式サイト:https://buildpacks.io/

  • 現在のバージョン:pack v0.0.9


Falco (Container Security)

falco.png


Container Native Runtime Security



  • コンテナ対応のランタイム・セキュリティ。

  • 公式サイト:https://falco.org/

  • 現在のバージョン:0.14.0


Dragonfly (image Distribution)

dragonfry.png


An Open-source P2P-based Image and File Distribution System



  • オープンソースで、 P2P ベースのイメージとファイル配布システム

  • 公式サイト:https://d7y.io/en-us/

  • 現在のバージョン:0.2.0 2018年8月3日


Virtual Kubelet (Nodeless)

virtualkubelet.png


Virtual Kubelet is an open source Kubernetes kubelet implementation.



  • Virtual Kubelet はオープンソースの Kubernetes kubelet 実装。

  • 公式サイト:https://virtual-kubelet.io/

  • 現在のバージョン:v0.8.0 2019年1月

  • 公式サイトが2019年1月24日から運用開始(以前は GitHub リポジトリのみ)


以上です。3月になったら、また2月分をまとめようと思います。