Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

virtual-kubeletってなんだ?Alibaba Cloudで動かしてみよう

1 206 vues

Publié le

コンテナとかKubernetesの界隈で名前をききはじめた「virtual-kubelet」。これってなんだろう。。と思っていたのですが、Alibaba Cloudも対応プロバイダーとして貢献していたので試してみました。

本内容の詳しいことは以下のブログで公開しています。
https://blog.mosuke.tech/entry/2019/02/03/virtual-kubelet/

Publié dans : Technologie
  • Soyez le premier à commenter

virtual-kubeletってなんだ?Alibaba Cloudで動かしてみよう

  1. 1. virtual-kubeletってなんだ? Alibaba Cloudで動かしてみよう 1 @mosuke5 AliEaters Sappooro #2 (2019/2/23) Docker Meetup Tokyo #28 (2019/2/26)
  2. 2. 2 Who are you? 名前:もーすけ (@mosuke5) 仕事:  Alibaba Cloud Solution Architect  以前はWebエンジニア、インフラエンジニア。 ネタ:  最近ようやく本腰いれてKubernetesの勉強はじめた  好きな分野は、Webアプリ開発とかサーバ運用の自動化とか ブログ  https://blog.mosuke.tech
  3. 3. はじめに 今日は、最近試してみたvirtual-kubeletというKubernetesの拡 張的なお話をします。 これは、Alibaba Cloud中の人としての話ではなくて、個人的な 興味でのお話です。いま日本で提供できていないものも含まれ ていて、Alibaba Cloudの取り組みや、未来の姿的なところが含 まれている点ご了承ください。 また本内容のもう少し詳しいことは、 こちらのブログにまとまっています。 3
  4. 4. 自分のコンテナ経験 (単体利用、イベントドリブン利用) 4 はじめて利用したのは2014 年-2015年あたりで作っていた Vim::Factoryという、vimの設定 をブラウザ上で体感するための サービスをつくったとき。 vimをDockerコンテナで立ち上 げ、ユーザひとりひとりに割り当 てていた。
  5. 5. 自分のコンテナ経験 (docker-compose) 5 Cloud Server (Ubuntu16.04) Nginx Rails- gillsearch Elastic Search Kibana Docker Compose english.mosuke.tech gill-search.mosuke.tech Rails- beeglobal MySQL prometheus 現在、自分が運用しているブログサービスの検索エンジンや英語学習アプリ(Closed Beta) は1台のサーバの上でdocker-composeを利用して動作させています。
  6. 6. 今はこんな構成で運用 6 Github Pages (mosuke5-lab/mosuke5-la b.github.io) Github (mosuke5/hugo-blog.mos uke.tech) Hugo repository CloudFlare blog.mosuke.tech - SSL accelaration - Support HTTP/2 - Contents cache Write & Push Deploy CI integration Notify Gill Search (Search Engine) Update articles ✕ ここのことね
  7. 7. Kubernetesとは Kubernetes(k8s) はコンテナ化されたアプリケーションの展開やスケーリングおよび管 理をおこなうオーケストレーションツールです。 このようなオーケストレーションツールを利用することで、複数台のサーバにまたがるコ ンテナ利用を容易にしていく。 ・システムを構成するコンポーネントが多いときにコンテナ化が有効 ・サービスディスカバリーなどインフラ全体を抽象化できる点がすごい ・ブルーグリーンデプロイメントなどシステムを運用する上で今まで試行錯誤してきたこ とが抽象化されていてよい 7
  8. 8. Alibaba Cloudのコンテナ関連プロダクトや取り組み 8 ・通常モード ・Managedモード ・Serverlessモード 独自のオープンソースContainer Engine レジストリ サービス Container Service for k8s Container Service for swarmAlibaba ECI
  9. 9. Container Service for Kubernetes 2017 年に Certified Kubernetes Conformance Program で認定されており、ネイティ ブKubernetesで利用しているツールやプラグインともちろん組み合わせて利用するこ とが可能です。 Alibaba CloudのContainer Serviceは下記のような特徴を持っています。 1. Alibaba Cloudプロダクトとの連携 a. ロードバランサーとの連携 b. ログ管理サービス Log Serviceとの連携 c. マルチゾーンでのクラスタ構築 2. Kubernetes versionは1.11.5をサポート(2019/2/23現在) 3. クラスターのアップグレード機能をサポート 4. ノードのカスタムイメージサポート(CentOSであればカスタムイメージをサポート) 9
  10. 10. 最近のクラウド界隈のコンテナサービス動向 10 非マネージド マネージド ノードレス Alibaba Cloud Container Service for Kubernetes Container Service for Kubernetes(Managed mode)/Swarm Elastic Container Service(ECI) AWS - Amazon ECS, Amazon EKS Fargate Azure Azure Container Service(終了予定) Azure Kubernetes Service(AKS) Azure Container Instance(ACI) GCP - Google Kubernetes Engine(GKE) -
  11. 11. ノードレスサービスってなんだ? ユーザ自身でコンテナを動かすノードを管理する必要がなく実行できるタイプのコンテ ナサービス。代表的なものにAWS FargateやAzure Container Instance、さくらイン ターネットのArukasなども近い製品といえる。 ※「ノードレス」という単語が正しいかはおいておく。 Kubernetesクラスターそのものの運用が複雑なことや、よりスパイクに対応したいなど のニーズに応えるために発展を続けている。 11
  12. 12. kubeletってなんだ? virtual-kubeletの話の前に、そもそもkubeletとはなにか。簡単に解説する。 kubernetesを構成するコンポーネントの1つ。 「Kubernetesクラスターのワーカーノード内で動作しているエージェントで、”実際のコン テナの起動などを担うコンポーネント”である。」 12 Master Node Worker Node TCP 22 TCP 6443 TCP 8443 NAT GW ① kubectl expose ... etcd db kubelet
  13. 13. virtual-kubelet Virtual KubeletはオープンソースのKubernetes kubelet実装の1つで、他のAPIと接 続することを目的にしたKubeletである。これは、ノードがACI, AWS Fargate, Hyper.sh, IoT Edgeなどのほかのサービスに支えられることを実現します。VKの主な シナリオはKubernetes APIをACI, Fargate, and Hyper.shなどのサーバレスコンテナ プラットフォームへの拡張を可能にすることです。 CNCFプロダクトの1つ。 Alibaba Cloudも対応するプロバイダーとして貢献している。 https://github.com/virtual-kubelet/virtual-kubelet 13
  14. 14. 公式ドキュメントの概念図 14
  15. 15. Kubernetes Cluster kubelet Worker Node kubelet Worker Node virtual-kub elet が作っ た仮想ノー ド マネージド Kubernetes AKSAlibaba Kubertenes 1. virtual-kubeletの仮想 ノードに対してPodの配置 を定義する。 2. virtual-kubeletはkubenetesの 拡張としてnodelessプラットフォー ムへPodの配置を行う Alibaba ECI Azure ACI [Pod] virtual-kubelet もう少し具体的に わかりやすくしてみた。
  16. 16. Alibaba Cloudでやってみる 16 Kubernetes Cluster kubelet Worker Node kubelet Worker Node virtual-kub elet が作っ た仮想ノー ド Alibaba Cloud Container Service for Kubertenes (日本リージョン) 1. virtual-kubeletの仮想 ノードに対してPodの配置 を定義する。 2. virtual-kubeletはkubenetesの 拡張としてnodelessプラットフォー ムへPodの配置を行う [Pod] virtual-kubelet Alibaba Cloud Elastic Container Instance (シリコンバレーリージョン )
  17. 17. 実際の手順 1. Kubernetesクラスターを立ち上げる 2. virtual-kubeletのプロセスをPodとして立ち上げる a. 拡張先を制御できるように、Alibaba CloudのAPI KEYやどのネットワークで 立ち上げるなどの指定がいろいろとある。 3. そうするとKubernetesクラスター内に仮想ノードが出来あが る 4. 仮想ノードに対してPodを立ち上げる 5. ECI側(拡張先)でPodが立ち上がる 17

×