プログラミング

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

      これから伸びる言語Golangを習得しよう。

      こんにちは、まくロロです。私は現在、主にrailsを使用した…

    2. プログラミング

      railsにreactを導入してみよう

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

    3. プログラミング

      dockerを使ってGolangの環境構築

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

    4. プログラミング

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

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

    5. プログラミング

      GCPの基本概要

      今回はGCP(Google cloud platform)について基…

    6. プログラミング

      Dockerとは

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

    コメント

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

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

    最近の記事

    PAGE TOP