プログラミング

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からGolangを習得する際の壁

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

    2. プログラミング

      react-reduxの基礎

      こんにちは、マクロロです!季節も巡り、もうすぐ夏がきますね。。…

    3. プログラミング

      基本的なRuby on Railsの概念

      こんにちは、まくロロです。今回は初めて技術系の記事を書きたい…

    4. プログラミング

      jQueryの基本を学ぼう

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

    5. プログラミング

      サーバーの種類について学ぼう

      こんにちはマクロロです。今回はサーバーの種類について簡単に基礎を習得…

    6. プログラミング

      Dockerとは

      こんにちは、まくロロです。最近インフラ周りに興味が出てきて、今後do…

    コメント

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

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

    最近の記事

    PAGE TOP