Kubernetes
-
VA Linux は Kubernetes Certified Service Provider を取得しています
-
Kubernetes とは
Kubernetesは、コンテナ化されたアプリケーションを実行しているホストをまとめてクラスタ化し、自動デプロイ機能やスケーリング機能、管理機能を提供するプラットフォームで、Go言語で記述されています。
AWSやOpenStackなどが仮想マシン指向のプラットフォームであるのに対し、Kubernetesはアプリケーション指向のプラットフォームで、コンテナ化したアプリケーションを中心にした管理に適しています。 -
Kubernetes の歴史
Googleが社内用にアプリケーション指向のプラットフォーム BorgとOmegaを開発し、運用していたのが始まりです。
この2つのプロジェクトから得た教訓と10年以上の運用実績から生まれた第三のプロジェクトがKubernetesです。
Kubernetesは、2014年にOSSとして公開され、2016年以降はCloud Native Computing Foundation (CNCF)が開発支援やプロジェクト運用を行っています。 -
Kubernetes の特徴
コンテナを実運用で使用する際には、複数のノードに対してのデプロイやスケーリング、コンテナ間のネットワーク、ホスト間の連携、障害復旧、監視、負荷分散など、様々な課題があります。
Kubernetes を活用することによりこれらの問題を解決することができます。Kubernetes の主な特徴として次の点が挙げられます。
- 複数ホストの管理
- REST APIで複数のノード(マシン)にまたがったコンテナ管理ができる。
- 拡張性 (スケールアウト)
- クラスタのリソース (CPU、メモリ、ディスク) が足りなくなった場合は、単純にノードを増やすだけで既存のサービスに影響を与えることなく拡張できる。
- 水平自動スケジューリング
- ユーザはどのホストにデプロイをするのかを考える必要がなく、イメージと台数を指定するだけで自動でスケジューリングできる。また、ワークロードの種類やホストの種類によって、親和性を意識したスケジューリングもできる。
- オートスケーリング
- - アプリケーションを独立してデプロイできる
- - 稼働中にアプリケーションをスケールアウト (イン) できる
- - アプリケーションの新機能をシームレスに提供開始できる
- ローリングアップデートとロールバック
- コンテナイメージが更新された際に無停止更新ができる。これは稼働中の Podを徐々に削除して、新しいイメージで新しい Pod を立ち上げることで実現する。また、前の状態に巻き戻すこともできる。
- 設定の集中管理
- 共通の設定やコンテナのアプリケーションから利用されるデータベースのパスワードなどの情報をKubernetes クラスタに集中管理することができる。 この仕組みは、etcd を用いて実現されている。
- フェイルオーバー
- Podに不具合があってダウンした場合、状態変化を察知し Spec の状態に合わせて、Pod を自動的に再起動できる。
- 機能の拡張
- 独自の機能などを実装したり、プラットフォーム自体をフレームワークと して利用することができる。拡張性を利用することで、Kubernetes で扱うリソースを独自実装することもできる。
- ロードバランシングとサービスディスカバリ
- 仮想IPアドレスを割り当て、ロードバランサーや外部からのアクセスサービスを実現できる。
-
VA Linux の取り組み
VA Linux は、コンテナ技術を重要なプラットフォームの一つとして位置付け、基盤系 OSS の開発や障害解析で培った経験と知識との相乗効果で Kubernetes の技術支援をしていきます。
- VA Linux の強み
-
- Linux Kernel を主軸にした基盤系 OSS の開発・サポート実績
- OpenStack 開発・サポートへの早期からの取り組み
- OpenStack 関連技術、仮想化技術から Docker / Kubernetes 等のコンテナ技術まで包括的な技術支援が可能
- 【実績例】
-
-
Kubernetes, Docker の技術要素調査
-
Calico や Flannel を活用した Kubernetes 側へのネットワーク実装
-
Kubernetes 勉強会
- - Kubernetes の基礎知識
- - Kubernetes クラスタの HA 構成について
- - 通常のクラスタ構成 (非HA) の問題点とその解決方法 など
-
Japan Container Days v18.12 での公演: マイクロサービス と Kubernetes の性能分析
-
提供サービス
VA Linux では Kubernetes に対して、以下のサービスをご提供しております。
-
- コンサルティングサービス
(導入支援) -
- ・機能要件に対する技術的実現性の検討と実現案の提案
- ・技術調査・分析
- ・ソースコード解析調査
- コンサルティングサービス
-
- 受託開発サービス
-
- ・機能追加の検討、実施
- ・運用ツールの開発
- ・コミュニティへの機能提案および開発
- ・バグレポート・修正
- ・コミュニティ活動支援
-
- 障害解析・サポートサービス(VA Quest)
-
- ・ログ解析
- ・ソースコード解析
- ・障害切り分け
- ・回避方法の提案
- ・修正パッチの提供
- ・性能解析・ボトルネック分析
- ・ドキュメント調査
- ・ソースコード調査
- ・障害に関する報告会
- ・情報交換会
-
- トレーニング
-
- ・コンテナアーキテクチャ解説
- ・コンテナ管理の仕組み
- ・コンテナ環境の設計ノウハウ
- ・Docker / Kubernetes ネットワーク接続の仕組み
Kubernetesに関するその他のコンテンツ
-
- 技術文書
- 各種ご質問、ご要望に関しましては、下記よりご連絡ください。
お客様のご要望に合わせた最適なサポートサービスを提供するため、個別に契約内容を相談させていただきます。