Nutanix提供的本地托管Kubernetes服务”Karbon”
2018年Nutanix圣诞节日历第二天的页面是可以在网址https://adventar.org/calendars/3174 中找到的。
2018年Kubernetes圣诞日历的第三篇文章
https://qiita.com/advent-calendar/2018/kubernetes3
本記事の内容は、この日付時点の情報(Karbon 0.8 Tech Preview)に基づいています。そのため,今後新しいバージョンが提供された場合に,当該記載と矛盾が生じる場合がありますのでご注意ください。
首先
昨今、コンテナベースの仮想化技術の利用が徐々に広まりつつあり、VMベースの仮想化界隈にいる人間としては、コンテナに関わる技術もはるべく早くキャッチアップしないとなー、と思いつつ割と逃げ続けてきた訳なんですが、自身の仕事の関係でも、いよいよもって逃げられない状況となりつつあることもあって(本当にいまさらなんですが…)ついにコンテナさんに入門することになりました。
そこで、今回は(自分ところの製品と言うこともあり)NutanixのオンプレマネージドKubernetesなサービスを提供するKarbonと言う製品について触れてみたいと思います。
请注意
当我看到像 Kubernetes Advent Calendar 这样的东西时,它让我感到紧张,似乎有人会说现在能部署 Kubernetes 环境已经不足为奇。但是写这些东西的人是在虚拟化技术的基础上生存的人类,希望你能理解其中的情况,并感到幸运。
Nutanix的Karbon是什么?
Karbonイントロ
既にバリバリKubernetesを使いこなしている方からすると、いまさら何言ってんだと突っ込まれそうですが、The New Stack 2017 Kubernetes Experience Surveyと言うアンケートによると、約75%の組織や企業がKubernetesの導入にはなんらか難しい障壁があると回答していて、特に実際にKubernetesの評価を行った企業では、その傾向がより顕著に出ているようです。
コンテナを使ってサービスを既に提供し始めている、yamlファイルをいい感じに管理するのに悩んでいる、コンテナ同士の通信のセキュリティ実装を悩んでいる、トレーシングの実装を何で行うか悩んでいる等のレベルではなく、もっと手前のそもそもコンテナの実行環境をどう構築するか、そしてそれをどう運用・維持していくかと言ったところで悩んでいる企業や組織が数多くあることを示している結果とも言えるかもしれません。
如果这样做,就可以很容易地想象到,在不为这类事情烦恼的情况下,会有关于容器的执行环境需要被适当准备,以便将其作为服务使用的要求出现(不论好坏如何)。
在已经提供了以GKE为代表的公共云服务的同时,虽然在基于虚拟机的世界中也理解了公共云的便捷性和易用性,但在公司情况和客户需求等环境下,不得不选择本地部署,无法使用提供了方便服务的GKE、EKS、AKS等为Kubernetes和其他容器运行环境做好准备的服务。
Nutanix的Karbon首先主要面向的是那些无法使用公共云服务的组织或企业,尽管有一些观点认为这些组织或企业即使想使用容器,在用途和文化方面也无法获得幸福,但我们先暂且不论这个观点。
Karbon的简介
Karbon的概述如下:
-
- Kubernetes ClustersをNutanixのインフラストラクチャに配置して管理するためのターンキーソリューション
-
- (現時点において)オンプレミスのためのマネージドKubernetesサービス
-
- upstreamおよびネイティブなKubernetesのエクスペリエンスをNutanix上で提供
-
- コンテナプラットフォームのデプロイメントとオペレーションに必要な反復的なタスクを自動化し、複雑なタスクを単純化するもの
- (コンテナプラットフォームをインビジブルにすることで)組織がコード、コンテナ、アプリケーションに集中できるようにするもの
在Karbon中可以实现的事情。
-
- vanillaなKubernetesをPrism Centralを通じてNutanix上に展開
-
- Kubernetesをスケジューラー・オーケストレーターに据えたコンテナ実行環境を即座に提供
-
- ユーザはKarbonをデプロイするだけですぐにコンテナの利用が可能
- Kubernetesに対してNutanix独自の機能実装等は行っていない(可能な限り行わない)
(在技术预览阶段时)Karbon所提供的功能
-
- Kubernetesクラスター(Master、Node、etcd)の1-Clickデプロイ
-
- Persistentなストレージボリューム(Volume Plug-in)
-
- ネットワークスタック(flannel)
- Loggingスタック(EFKスタック-Elasticsearch/Fruentbit/Kibana)
如上所述,Karbon目前仅支持Kubernetes的基本组件。坦率地说,Karbon目前仍在进行实施,与许多公共云等已提供的托管Kubernetes服务相比,它还有很多不足之处。
オンプレミスでの利用を前提としたマネージドKubernetesサービスと言うことを考えると、コンテナレジストリの機能も内部で提供できていませんし、Loggingは最低限の機能としてEFKスタックで提供できているものの、現時点でTracingとMetricについては機能の提供もできていません(ただし、PaaSを目指している訳ではないためKarbonは周辺エコシステムを網羅的に実装し提供する想定ではないハズです)。
Karbon的堆栈
Karbon提供了经过基本验证的Kubernetes版本(关于实际在Karbon中使用的版本稍后会提到)和容器运行时等版本的组合,使用户可以无需意识到这些,并能够使用容器执行环境。
Karbon的存储功能
Nutanixはハイパーコンバージドインフラの仕組みを利用して仮想化基盤のクラスターを構成するホストを跨いだ高可用性・耐障害性のあるインテリジェントな階層化ストレージを提供しています。Karbonでは、それらのストレージ領域をコンテナに見せる機能を提供しています。現時点でKarbonでは、2つのPV提供方式と2つのタイプのストレージを提供します。
这两个宣传片
静的ボリューム(Static storage attaching)
コンテナインフラストラクチャの管理者(≒Nutanixのadmin)が事前に準備したNutanix VolumesベースのPVをNodeが利用する
動的ボリューム(Dynamic storage provisioning)
コンテナのデプロイに応じてオンデマンドでプロビジョニングされるPVで、NutanixのStorage provisionerがコンテナからの要求を監視し、要求時にPVをデプロイする
※現時点ではExternal Provisionerで対応しているが将来的にはCNCFのCSI準拠に
两种类型的存储
ブロックレベルストレージの提供
ブロックストレージをiSCSIを通じてNutanix Volumes(旧ABS)が提供
Nutanix Volume:iSCSI Volume Groups == Single-Reader / Writer
ファイルレベルストレージの提供(※Tech Previewでは未提供)
NFSv4ベースのファイルレベルのストレージをNutanix Files(旧AFS)が提供
Nutanix Files:NFSv4 == Multi-Reader / Writer
Karbon提供的记录功能
在Karbon上,当部署Kubernetes集群时,会同时在Pod上部署Elasticsearch、Fluentbit和Kibana的日志记录设置。
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system fluent-bit-5mxjn 1/1 Running 0 28m
kube-system fluent-bit-6xtvt 1/1 Running 0 28m
kube-system fluent-bit-fllgn 1/1 Running 0 28m
kube-system fluent-bit-pd998 1/1 Running 0 28m
ntnx-logging elasticsearch-logging-0 1/1 Running 0 28m
ntnx-logging kibana-logging-6b658895b5-8kxxp 1/1 Running 0 28m
ntnx-logging kubernetes-events-printer-87f7fff-4rzgb 1/1 Running 0 28m
Karbon的部署。
Karbon的未来计划
为了推动Kubernetes及其周边生态系统的广泛应用。
由于Karbon是Nutanix提供的托管容器平台,用户可以无需管理容器平台的堆栈和版本组合,而直接使用。或者说,Karbon并不是以允许用户个别选择特定容器堆栈版本的形式提供。尽管其灵活性不高,仅提供非常基本的Kubernetes使用环境,但未来计划随着功能的扩展,增加与这些组件和生态系统的组合灵活性。
混合云支持
現時点でKarbonはオンプレミスのためのマネージドKubernetesです。しかし将来的にKarbonはハイブリッドクラウド対応できることを目指しています。Googleが発表したGKE On-Premの逆バージョンのような形で、GKE On-PremがMasterをパブリッククラウド側に、Nodeをパブリッククラウド及びオンプレミス側に展開するのとは逆に、KarbonはMasterをオンプレミス側にNodeをオンプレミス及びパブリッククラウド側に展開するような構成です(ただし、Karbonのハイブリッドクラウド対応には少し時間がかかるかもしれません、どのような形で実現するかの詳細は明らかになっていません)。
对于CNCF的贡献
总结
パブリッククラウドを利用できない多くの企業や組織において、オンプレミスでKubernetesを含むコンテナのプラットフォームを構築・運用していくには、コンテナ環境を動作させるインフラストラクチャの課題、もう1つはコンテナ環境のデプロイメント・マネジメントの2つの障壁がありますが、それらをNutanixで一挙に解決してしまおう、と言うのがKarbonのコンセプトになります。
Karbon是一种即插即用的解决方案,用于在Nutanix基础设施上配置和管理Kubernetes集群,并通过Prism Central在Nutanix上部署Kubernetes,以立即提供容器运行环境。用户只需部署Karbon即可立即使用容器。
附言 (fù
你认为怎么样呢,虽然作为Nutanix的Advent Calendar还可以,但作为Kubernetes的Advent Calendar,感觉内容有点像是厂商的宣传,然而提供VM-based虚拟化解决方案的Nutanix与Kubernetes有什么关系呢?Karbon又是什么呢?希望对那些对此持有疑问的人有所帮助。
明天的Nutanix降临日历2018的第二天是mmorishi,而Kubernetes降临日历2018的第三天是taishin。