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. プログラミング

      Goの基本文法を覚えよう

      今後は、少しづつ技術系記事を増やして行こと思っています。変数…

    2. プログラミング

      Railsでのデータ取得の基本

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

    3. プログラミング

      【おすすめ】具体的なGolang勉強手順

      こんにちはマクロロです。前回は、RailsからGoを勉強する際の困難…

    4. プログラミング

      dockerを使ってGolangの環境構築

      こんにちは、まくロロです。最近はサーバーをGo、フロントにR…

    5. プログラミング

      RailsからGolangを習得する際の壁

      こんにちはまくロロです。今回はRailsからGolangを習得する際…

    6. プログラミング

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

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

    コメント

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

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

    最近の記事

    PAGE TOP