udemy.benesse.co.jp Open in urlscan Pro
153.120.168.218  Public Scan

URL: https://udemy.benesse.co.jp/development/system/kubernetes.html
Submission: On September 23 via manual from JP — Scanned from JP

Form analysis 1 forms found in the DOM

GET /

<form method="get" id="searchform" action="/">
  <input type="search" placeholder="検索する" id="search" class="searchBox" onfocus="this.placeholder=''" onblur="this.placeholder='検索する'" value="" name="s">
  <button id="searchSubmit" value="Search" type="submit"></button>
</form>

Text Content

スキルアップしたい
社会人のための情報サイト

 * 開発
    * Python
    * ブロックチェーン
    * システム開発
    * アプリ開発
    * セキュリティ
    * IT資格

 * デザイン
    * 動画編集
    * イラストレーター
    * フォトショップ
    * Webデザイン
    * 3Dデザイン

 * AI・データサイエンス
    * データ分析
    * 人工知能
    * 深層学習

 * ビジネス
    * Microsoft Office
    * ビジネススキル
    * 業務効率化
    * ファイナンス

 * マーケティング
    * マーケティング基礎
    * Webサイト
    * Web広告
    * SNS
    * SEO

 * 学びをみつける
    * 講師ストーリー
    * 受講生ストーリー
    * 講座紹介
    * 働き方・キャリア

 * 企業研修
    * DX
    * 人材育成
    * 行政DX
    * 導入事例

 * 開発
 * デザイン
 * AI・データサイエンス
 * ビジネス
 * マーケティング
 * 学びをみつける
 * 企業研修



 1. トップ
 2. システム開発
 3. Kubernetesとは何かを図でわかりやすく解説!Pod、Namespaceも

 * システム開発
 * 2020/11/12


KUBERNETESとは何かを図でわかりやすく解説!POD、NAMESPACEも


 * 
 * 
 * 
 * 
 * 
 * 

『Kubernetes』とは、コンテナ仮想化ツールの運用管理・自動化を行うために開発されたオープンソースソフトウェアのことです。マイクロサービスとの相性が良いなど、さまざまなメリットがあるKubernetesの知識は、ITトレンドを追従するエンジニアにとって欠かせません。

この記事では、Kubernetesの基礎知識やメリット、Dockerとの関係性や、Kubernetesに関連する用語を解説します。

 * 1 Kubernetesとは何か?わかりやすい図で解説
 * 2 KubernetesとDockerの関係とは?
 * 3 Kubernetes用語を解説!Pod、Service、Namespaceとは?


KUBERNETESとは何か?わかりやすい図で解説

「Kubernetes」とは、Dockerなどのコンテナ仮想化ソフトウェアを管理、および自動化するためのオープンソースソフトウェア(OSS)のことです。
“クバーネティス”や“クーべネティス”と読み、K8s
(ケーエイツ)やkubeと略されることもあります。「Kubernetes」というのはギリシャ語に由来する言葉で、操縦士や船長、道しるべなどを意味します。

仮想化ソフトウェアとは、1つのサーバー上に複数台の仮想マシンを運用できるシステムのことです。これにより、1台のサーバーに複数のOSを実行できます。例えるなら、1台のパソコンにAさん、Bさん、Cさんそれぞれが使える仮想パソコンが用意されているという状態です。



上の図を見ながら、Kubernetesの働きを確認します。

コンテナとは、アプリケーションやミドルウェア、複数のOSを実行できる独立した環境のことです。仮想化ソフトウェアと非常に似ていますが、大きな違いはコンテナレベルで空間をほかのシステムから分離させられる点です。これにより、“異なる”OSの実行が可能になるため、複数のOSが実行しているシステムを1つにまとめられることが特徴です。

コンテナには、アプリケーションを実行する機能はありますが、コンテナを管理したり、ほかのサーバーと連携させたりする機能を持ってはいません。そこで、「連携できない」という問題点を解決してくれるのがKubernetesです。

Kubernetesはコンテナオーケストレーションツールのひとつであり、Kubernetes=コンテナオーケストレーションと考えても差し支えありません。

コンテナオーケストレーションとは、複数あるコンテナを管理する技術のことです。複数のコンテナを運用する場合、ネットワークやストレージなどの連携管理を行う必要があります。コンテナオーケストレーションツールは、これらの管理を行ってくれるため、コンテナがダウンしたり、アプリケーションに高負荷がかかったりした場合もスムーズに運用できるのです。

Kubernetesには、複数のコンテナを管理するKubernetes
Podがあり、さらに複数のPodがNodeにまとめられています。そして、Nodeが集まったものが「クラスター」です。クラスターは「まとまり」を意味します。

クラスターは、Kubernetes全体構造の最上位階層に位置する部分といえます。

Kubernetesがコンテナの配置や削除を行うとき、直接指示を出すのがクラスターです。これにより、システム効率がよくなり、リソースを最大限活用できたり、機密情報の管理なども容易に行えたりするのです。

なお、KubernetesをPaaSと混同してしまう場合がありますが、PaaSはアプリケーションを開発する環境を提供してくれるサービスです。したがって、コンテナレベルで動作するKubernetesとは異なります。



KUBERNETESのメリットとは?

Kubernetesには下記のようなメリットがあります。

 * サービスディスカバリー
 * 自己回復機能
 * オンプレミスとクラウドで利用できる
 * ストレージの管理

それぞれのメリットを詳しく解説していきます。

 * サービスディスカバリー

サービスディスカバリーによって、サーバーにあるアプリケーションのポート番号やIPアドレスなどを知ることができます。また、どのようなアプリケーションが動いているのかを知ることもできます。

 * 自己回復機能

自己回復機能により、コンテナがダウンしてしまったり、間違えて削除してしまったりした場合も自動で回復させることができます。つまり、Kubernetesは障害に強いといえます。

 * オンプレミスとクラウドで利用できる

Kubernetesは、オンプレミスとクラウドで運用できる点もメリットです。自社サーバーでもクラウドでも使えるので、利用する場所を選びません。

 * ストレージの管理

Kubernetesでは、ストレージの管理ができます。データはコンテナに記録され、有効期限が定められた状態でPod内に保存されます。

 




KUBERNETESとDOCKERの関係とは?

Kubernetesと比較して語られることの多いDockerとの違いについて見ていきます。

Dockerとは、アプリケーションをコンテナの中で管理し、実行できるようにする実行環境およびツール群のことです。Kubernetesとの大きな違いは、実行される場所です。Dockerはシングルノードで実行されますが、Kubernetesの場合はクラスターです。

また、Dockerはアプリケーションを各コンテナに分離する目的で使用されます。一方、Kubernetesはそれぞれのコンテナを管理するために使われるため、役割にも違いがあるといえます。

DockerKubernetes 実行される場所シングルノードクラスター 使われる目的アプリケーションを各コンテナに分離するためそれぞれのコンテナを管理するため

 

さらに、記事の初めに載せた図で確認できるように、DockerとKubernetesは使い分けられるのではなく、連携して使われます。DockerとKubernetesは敵対関係ではなく、協力し合う関係性であるといえるでしょう。

 


KUBERNETES用語を解説!POD、SERVICE、NAMESPACEとは?

以下では、Kubernetesにおいて疑問点となりやすいPodとService、Namespaceについて解説します。

KUBERNETESの「POD」とは何か?

Podとは、Kubernetesで実行できるアプリケーションの最小単位です。基本的にPodは1つのコンテナから構成されますが、複数のコンテナを共存させることもできます。コンテナが詰め込まれたひとつの空間というと、イメージしやすいのではないでしょうか。Podは、共有ストレージやネットワーク、APIバージョンなどをファイルで設定することができます。

KUBERNETESの「SERVICE」とは何か?

Serviceとは、Podとの通信を容易に行うためにエンドポイントの提供を行ってくれる機能です。通常、NodeのIPアドレスは一定ではありません。つまり、通信するためには、その都度IPアドレスを指定しなければなりませんし、IPアドレスが突然変わって通信が途切れてしまう可能性もあるのです。Serviceという機能があることで、容易に通信するためのDNSラベルが発行されるため、アプリケーションがほかのPodと簡単に通信できるようになります。



また、サービスディスカバリの利用が可能です。この機能を使うことで、どのようなアプリケーションが稼働しているのかだけでなく、クラスターIPやポートも知ることできます。

Serviceは下記の4種類があます。

 * ClusterIP
 * NodePort
 * LoadBalancer
 * ExternalName

それぞれのServiceを簡単にご説明します。

 * ClusterIP

ClusterIPはクラスター内でPodが利用できるIPアドレスです。ちなみに、ClusterIP はKubernetesの外からアクセスすることはできません。

 * NodePort

NodePortは外部に公開されるポートのことです。ClusterIPの機能も持っているため、外部のサーバーと通信できるClusterIPと考えれば理解しやすいでしょう。

 * LoadBalancer

簡単にまとめると、LoadBalancerはNodePortをさらに拡張した機能のことで、Upstreamとして外部サーバーと疎通できます。

 * ExternalName

ExternalNameは外部サービスに公開する名前です。ちなみに、ExternalNameはService NAMEとは別名になります。

KUBERNETESの「NAMESPACE」とは何か?

Namespaceとは、クラスターの分離機能のことです。また、複数のユーザーでクラスターリソースを分割する方法ともいえるでしょう。

Namespace
を使うことで、Kubernetes内の環境に名前を付けて利用することができます。他の環境と分離させることができ、ユーザーによって権限を変えることも可能です。セキュリティを向上させたい、効率的に開発を進めたいという場面で利用すると効果を得られるでしょう。

 

この記事では、Kubernetesについての基礎知識とメリット、関連用語に関して解説しました。軽量、高速に起動できるなど、数多くのメリットを持つKubernetesは、役に立つ知識となるでしょう。今後、インフラエンジニアとして活躍したいという方は、習得をおすすめします。

 


RELATED POSTS:

 1. 新年の学びはじめに最適!2020下半期のUdemy売れ筋講座TOP5をランキングでご紹介!(IT技術編)
 2. MySQL入門者でもわかる!3ステップのインストール方法を解説
 3. GraphQLとは?RESTとの違いや導入事例を紹介
 4. LaravelのModelを初心者向けに解説!作成方法や使い方、実践までを即理解




エンジニアにとって欠かせない、最先端のKUBERNETESの知識を学ぼう!

米シリコンバレーエンジニア監修!AWS EKS KUBERNETESハンズオンBEST PRACTICES (2022)



元Microsoftエンジニアが教えるAWS EKS実践コース。Helm, Ingress, SSL証明書, IAMユーザーやPodの認証認可(RBAC,
IRSA), スケーリング(CA, HPA), モニタリング(Grafana)

動画で学習する


エンジニアに役立つ目的別講座

PYTHONの基本~応用をマスター

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython入門講座。Python3の基本を取得できます。

PYTHONでのWEBアプリ開発

爆速で5つのPython Webアプリを開発
プログラミング初心者必見!Pythonの基礎は理解したが、Webアプリなども作りたいという方にオススメ!

エンジニアへの第一歩

【HTML,CSS,JS,PHP,Git,Docker】プログラミング初心者OK! ゼロからわかるWebシステム開発
HTML, CSS, JavaScript,PHP,Git,Docker,AWSを用いたWebアプリケーション開発の方法を総合的に学べます。

TYPESCRIPTを基礎から学ぶ

超TypeScript入門 完全パック
TypeScriptをコンプリートできます!本気でTypeScriptを熟知したい方、JavaScript,Vue,React,Angular,Node.jsエンジニアの方は必見!

AWSを基礎から学ぶ

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
AWSの基本資格「AWS 認定ソリューションアーキテクト – アソシエイト試験」を合格を目指し、そのための知識や経験を獲得できるように!

新CCNA試験(200-301)完全未経験から合格へ!

新CCNA(200-301)完全未経験からの合格講座(コンプリート版)
新CCNA試験にて頻出のワイヤレスLANやSDN、自動化とプログラマビリティなどを徹底解説!「参考書だとよくわからない」「もう一度おさらいしたい」という方にオススメ!


この記事をシェアする

   
 * 
 * 
 * 
 * 
 * 
 * 


関連記事

講座紹介
2020/12/30


新年の学びはじめに最適!2020下半期のUDEMY売れ筋講座TOP5をランキングでご紹介!(IT…

2020年はさまざまな変化があり、日々の生活だけでなく働き方も…


システム開発
2019/01/31


MYSQL入門者でもわかる!3ステップのインストール方法を解説

システムを企画・設計する上で、データの管理方法を必ず検討す…


システム開発
2021/07/01


GRAPHQLとは?RESTとの違いや導入事例を紹介

『GraphQL』とは、Facebook社が開発・提供しているWeb APIのク…


システム開発
2017/09/15


LARAVELのMODELを初心者向けに解説!作成方法や使い方、実践までを即理解

LaravelのModelについて、Laravel初心者向けに解説していきます…


RANKING 人気記事ランキング

1

Python


PYTHON FOR文を初心者向けに解説!FOR文基礎はこれで完璧

2

Python


【初心者向け】JUPYTER NOTEBOOKの使い方!インストール方法から解説

3

Python


PYTHONでWEBスクレイピングをする方法を解説!【入門編】

4

システム開発


MICROSOFT AZURE(アジュール)とは何かをわかりやすく解説!

5

IT資格


全11種類のAWS認定資格を難易度・分野別に一覧で紹介!取得メリットや勉強方法も


RECOMMEND 2022年公開の人気講座


現役シリコンバレーエンジニアが教える次世代インターネットWEB3.0 NFT DEFI 入門講座




GOOGLE CLOUD(GCP)の基礎 - 図解と実践でインフラの基礎を固める




【2022年版】AZ-104 MICROSOFT AZURE ADMINISTRATOR模擬試験問題(4回分260問)


最新情報・キャンペーン情報発信中

 * 
 * 
 * 


フォローして最新記事をチェック

 * 
 * 
 * 
 * 

 * 法人のお客様へ
 * 講師になりたい方へ
 * 運営会社
 * プライバシーポリシー
 * 利用規約
 * お問い合わせ



Close


そのスキル、短時間のオンライン動画で身につけませんか?

米シリコンバレーエンジニア監修!AWS EKS KUBERNETESハンズオンBEST PRACTICES (2022)



米シリコンバレーエンジニア監修!AWS EKS KUBERNETESハンズオンBEST PRACTICES (2022)

動画で学習する






業務効率を劇的に変える便利Excelスキル集

通知を許可いただくとダウンロードできます。これだけは知っておくべきスキル集(全42P)をプレゼント

Powered by
閉じる受け取る