該当する結果がありません

一致する検索結果がありませんでした。

お探しのものを見つけるために、以下の項目を試してみてください。

  • キーワード検索のスペルを確認してください。
  • 入力したキーワードの同義語を使用してください。たとえば、「ソフトウェア」の代わりに「アプリケーション」を試してみてください。
  • 下記に示すよく使用される検索語句のいずれかを試してみてください。
  • 新しい検索を開始してください。
急上昇中の質問

Kubernetes

よく「クラウドのオペレーティングシステム」と言われるKubernetesは、コンテナ化されたアプリケーションとサービスのクラスターを管理するためのオープンソースプラットフォームです。GoogleのエンジニアであるJoe Beda、Brendan Burns、Craig McLuckieによって2014年に開発され、その後すぐにオープンソース化されたKubernetesは、すぐに独立した繁栄するクラウドネイティブ・エコシステムになりました。今日、Kubernetes(古代ギリシャ語で「操舵手」または「パイロット」を意味する)は、Linux Foundationの一部門であるCloud Native Computing Foundation(CNCF)により管理されています。

Kubernetesは、CNCFの最初の卒業プロジェクトであり、歴史上最も急速に成長しているオープンソースプロジェクトの1つになりました。Kubernetesには現在2,300人以上の貢献者がおり、フォーチュン100の半分を含む大小の企業に広く採用されています。

KubeConとは

KubeConは、Kubernetes開発者とユーザーのための年次会議です。2015年に500人が参加した最初のKubeCon以来、KubeConはクラウドネイティブ・コミュニティにとって重要なイベントに成長しました。2019年、カリフォルニア州サンディエゴ版のKubeConには、Kubernetesクラウド・オーケストレーションプラットフォームを中心に開花したオープンソースエコシステムを祝う12,000人の開発者とサイト信頼性エンジニアが参加しました。

コンテナとは

開発者がさまざまなクラウド、テスト環境、ノートパソコン、デバイス、オペレーティングシステム、およびプラットフォームを備えたさまざまなコンピューティング環境にソフトウェアを展開することが増えるにつれて、ソフトウェアを確実に実行するという問題が最も重要になります。そこでコンテナが登場します。コンテナは、アプリケーションをそのランタイム環境全体にバンドルします。そういった意味では、コンテナは、適切なライブラリ、依存関係、およびオペレーティングシステムを含めることでアプリケーションを実行できる「バブル」を提供するため、仮想化の一形態です。ただし、コンテナにはアプリケーションに必要なリソースのみが含まれ、それ以上は含まれないため、コンテナは仮想マシンよりも小さくなります。

Kubernetes 対 Docker

Linuxのコンテナは2008年から存在していましたが、それらを有名にするために2013年、Dockerコンテナが登場しました。同様に、コンテナ化されたアプリケーション(実行に必要なすべてのものを含むアプリケーション)導入への関心の高まりにより、最終的に新しい問題が発生しました。何千ものコンテナを管理。Kubernetesは、コンテナのライフサイクルを自動的に調整し、ホストしているインフラストラクチャ全体にコンテナを分散します。Kubernetesは、需要に応じてリソースをスケールアップまたはスケールダウンします。コンテナの状態をプロビジョニング、スケジュール、削除、および監視します。

Kubernetesのコンポーネントとは

Kubernetesの主要なコンポーネントは、クラスター、ノード、およびコントロールプレーンです。クラスターにはノードが含まれます。各ノードは、少なくとも1台のワーカーマシンのセットで構成されます。ノードは、導入されたアプリケーションの要素を含むポッドをホストします。コントロールプレーンは、クラスター内のノードとポッドを管理し、多くの場合、多くのコンピューターにまたがって、高可用性を実現します。

Kubernetesのコンポーネントとは
  • コントロールプレーンには次のものが含まれます。
  • Kubernetes APIサーバー:Kubernetesを制御するためのプログラミングインターフェイス(API)を提供
  • etcd:クラスターデータのKey/Valueストア
  • Kubernetesスケジューラー:新しいポッドを利用可能なノードに一致
  • Kubernetes-controller-manager:多数のプロセスを実行して、ノードの障害を管理し、レプリケーションを制御、エンドポイントを介してサービスとポッドに参加し、アカウントとアクセストークンを制御
  • Cloud-controller-manager:特定のインフラストラクチャルートや負荷分散などの側面に関する特定のクラウドプロバイダーからのAPIの管理を支援

ノードコンポーネントには次のものが含まれます。

  • kubelet:コンテナがポッドで実行されていることを確認するエージェント
  • Kubernetesネットワークプロキシ:ネットワークルールを維持
  • Docker、コンテナ、または別のタイプのコンテナランタイム

Kubernetesのメリット

コンテナを使用すると、アプリケーションが実行に必要なすべてのものにバンドルされていることを確信できます。ただし、多くの場合マイクロサービスを含むコンテナを追加すると、Kubernetesを使用してコンテナを自動的に管理および配布できます。

Kubernetesを使用すると、組織は次のことが可能になります。

自動的にスケーリング 需要に応じて、展開を上下にダイヤルします。
サービスの詳細 DNSまたはIPアドレスを介してコンテナ化されたサービスを検索します。
負荷分散 ネットワークトラフィックを分散することにより、展開を安定させます。
ストレージ管理 ローカルストレージまたはクラウドストレージを選択します。
管理バージョン 実行するコンテナの種類と、新しいイメージまたはコンテナリソースを使用して置き換えるコンテナを選択します。
セキュリティの維持 特定のコンテナイメージに関連するパスワード、OAuthトークン、SSHキーを安全に更新します。

Kubernetesの使用における課題

Kubernetesは極めて構成可能であり、あらゆるタイプのアプリケーションをサポートできますが、理解して使用するのは難しい場合があります。多くのCNCFメンバーがコメントしているように、Kubernetesは特定のワークロードに対して常に正しいソリューションであるとは限りません。そのため、Kubernetesエコシステムには、特定のワークロードの問題を解決するために組織が作成した、関連クラウドネイティブツールが多数含まれています。

Kubernetesは、ソースコードではなくコンテナを展開し、アプリケーションを構築しません。ロギング、ミドルウェア、監視、構成、CI/CD、およびその他の多くの実稼働アクティビティには、追加のツールが必要です。とはいえ、Kubernetesは拡張可能であり、JETプレーンから機械学習まで、さまざまなユースケースに適していることが証明されています。実際、Oracle、Google、Amazon Web Servicesなどを含むクラウドベンダーは、Kubernetes独自の拡張性を使用して、複雑さを軽減し、開発者の生産性を向上させるサービスであるマネージドKubernetesを構築しています。

マネージドKubernetesとは

Oracle Cloud Infrastructure Container Engine for Kubernetesは、コンテナ化されたアプリケーションをクラウドに展開するために使用できる、開発者にとって使いやすいマネージドサービスです。開発チームがクラウドネイティブアプリケーションを確実に構築、展開、管理したい場合は、Container Engine for Kubernetesを使用してください。アプリケーションに必要なコンピューティングリソースを指定すると、Container Engine for Kubernetesが既存のクラウド・インフラストラクチャのテナンシーのOracle Cloud Infrastructureでそれらをプロビジョニングします。

Oracle Cloud Infrastructure、Container Engine for Kubernetes上でマネージドKubernetesサービスを使用する必要はありませんが、Oracle Cloud Infrastructureの制御、セキュリティ、および予測可能なパフォーマンスを備えた高可用性クラスターを実行する簡単な方法です。Container Engine for Kubernetesは、ノードとしてベアメタルマシンと仮想マシンの両方をサポートし、CNCFにより適合と認定されます。また、すべてのKubernetesアップデートを取得し、追加の作業を行うことなくCNCFエコシステムとの互換性を維持します。

AgroScout

AgroScoutは、大規模で継続的なコンピューティングの課題に取り組んでいます。農民が自分の畑からキャプチャした何百万もの画像をスキャンして、特定の葉が健康であるかどうかを判断するのを支援します。そうでない場合は、組織の自律スカウティングシステムに組み込まれている機械学習アルゴリズムによって、原因が既知の病気や害虫であるかどうか、または新しい脅威を特定する必要があるかどうかが判断されます。

AgroScoutのCEOであるSimcha Shoreは、システムのアプリケーションとアルゴリズムを開発して実行するためにOracle Cloudを利用しました。AgroScoutは、画像を収集、管理、クラウドにアップロードするアプリケーションとして、Container Engine for KubernetesやOracle Cloud Infrastructure RegistryなどのOracle Cloudネイティブサービスを使用しています。以前のクラウドプロバイダーでは24時間かかっていたアプリケーションのアップデートが、数分で実行されるようになりました。AgroScoutの機械学習はOracle Cloud InfrastructureのGPUインスタンスに依存しており、機械学習ワークロードが要求する速度とパフォーマンスを提供します。

CERN:

CERNとして知られるジュネーブに本拠を置く欧州原子核研究機構は、世界最大の素粒子物理学研究所を運営しています。Open Daysは最大のイベントの1つであり、予約システムはOracle CloudでOracle Cloud NativeサービスとOracle Autonomous Transaction Processingを使用して100%ホストされていました。

Kubernetesエコシステムとコミュニティ

オラクルは、成熟度レベルごとに編成された数十のソフトウェア開発プロジェクトをサポートするオープンソースコミュニティであるCloud Native Computing Foundation(CNCF)のプラチナメンバーです。卒業プロジェクト(Kubernetes、プロメテウスEnvoyCoreDNSコンテナFluentdJaegerVitessTUF、およびHelm)はすべてがクラウドネイティブ開発の側面にとって非常に貴重であることが証明されています。

Kubernetesの導入方法

Kubernetesには、その周りに生まれたプロジェクトをサポートする大規模なエコシステムがあります。ランドスケープが非常に困難になる可能性があり、簡単な質問への答えを探すことは抜け出せない状況に陥ることにつながる可能性があります。しかし、このパスの最初の数ステップは単純で、そこから、ニーズに応じて高度な概念を探索できます。方法を学ぶ:

  • DockerとKubernetesを使用してローカル開発環境をセットアップ
  • Helidonを使用して単純なJavaマイクロサービスを作成
  • Dockerを使用してマイクロサービスをコンテナイメージに構築
  • マイクロサービスをローカルのKubernetesクラスターに展開します
  • クラスター上でマイクロサービスをスケールアップおよびスケールダウン

 

OCIのKubernetes概要