kubernetes(k8s)とは

こんにちは、まくロロです。先日とある企業さんのk8sハンズオンに参加してきました。

k8s自体非常に理解するのが難しく大変でしたが、今回はそこで学べたことを少しでもお伝えできればと思います。

①kubernetesとは

クバーネティス、クベーネティスまたはクバネティスなどと呼びます。

kubernetesはコンテナオーケストレーションシステムを提供するオープンソースのプラットホームです。「コンテナオーケストレーションシステム?!」「なんだそれは!」という感じですが、ざっくりいうと、コンテナの運用を効率よく操作することができるツールです。

アプリケーションのデプロイやスケーリングなどを自動で行えるようになるため、開発運用をスムーズに行うことができるというわけですね。

マニフェストファイルと呼ばれるyaml形式やJSON形式で書かれたファイル内に、あらかじめアプリケーションのソースコードや環境などの設定をコードで記述することでうまくそれらを操作し、アプリケーションを柔軟に開発することが可能になります。

k8sはpodというコンテナを複数格納したものを一つの単位として起動させたり停止させたりすることで、アプリケーションを変革させていきます。そのpodを上手く操作するために、k8sではいくつかの階層でこれらを操作する構造をもっています。

その中でもクラスターと呼ばれる概念が大切になってくるので、そのクラスター構造を少し見ていきましょう。

以下が基本的なk8sのクラスター構造です。クラスター構造とは以下のような内部構造を持つ一つの単位です。

  • クラスターは一つのmaster nodeと複数のworker nodeを持つ
  • master nodeはworker nodeの制御を行う
  • nodeの中には最低一つ以上のpodが存在する
  • podは複数のコンテナを含意している
  • worker node内でpodを立ち上げて、それらをmaster nodeが制御するということを覚えておきましょう。

    ②k8sでのリソース

    k8sでのリソースは5つです

  • workloadsリソース
  • Discovery&LBリソース
  • Config&Strageリソース
  • Clusterリソース
  • Metadateリソース
  • 上記3つのリソースについて解説します。

    workloadsリソース

  • Pod
  • ReplicationController
  • ReplicaSet
  • Deployment
  • StatefulSet
  • DaemonSet
  • Job
  • Cronjob
  • Discovery&LBリソース

  • ClusterIP
  • ExternalIP
  • NodePort
  • LoadBalancer
  • Headless
  • ExternalNamet
  • None-Selector
  • Config&Strageリソース

  • Secret
  • ConfigMap
  • PersistentVolumeClaim
  • まとめ

    今回は、kubernetesについての簡単な概念とリソースについて触れました。

    k8sは概念は難しいですがこれからインフラのLiunx的存在になるなどと言われているので、今後インフラ周りではk8sがメジャーに使われてくると思います。また、k8sについての技術系記事はあげたいと思います。サーバーサイド、インフラあたりをメインにやっていきたい方は必ず今後学ぶ必要がある領域であると断言できます。

    Dockerとは前のページ

    エンジニアとしての働き方次のページ

    関連記事

    1. プログラミング

      railsにreactを導入してみよう

      最近、自分で作っているポートフォリオがあるのですが、フロントをオシャ…

    2. プログラミング

      Gitとは?Gitの概念を理解しよう

      こんにちは、まくロロです。今回は、Gitの概念を説明していき…

    3. プログラミング

      【エンジニア】サービス開発とアルゴリズムは別物?

      こんにちはまくロロです。今回は「サービス開発とアルゴリズムは別物であ…

    4. プログラミング

      railsでのデータ取得の基本

      今回はrailsでデータ取得しようということで、DBに保存されている…

    5. プログラミング

      jQueryの基本を学ぼう

      こんにちは、まくロロです。アニメーションを実装する際によく使…

    6. プログラミング

      railsのincludesメソッドで関連しているデータを取得する

      こんにちは、まくロロです。申請していたアドセンスがついに通りました!…

    コメント

    1. この記事へのコメントはありません。

    1. この記事へのトラックバックはありません。

    最近の記事

    PAGE TOP