プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Kubernetes
  • 【Kubernetes】「Kubernetes(クバネティス)」の概要
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Kubernetes】「Kubernetes(クバネティス)」の概要

12.15

  • miyabisan2
  • コメントを書く

この記事は3分で読めます

Kubernetesとは?

大規模システムのような複数サーバでの分散環境のサーバ管理を担うツールです。Dockerの関連技術の一つでコンテナオーケストレーションのディファクトスタンダードになりつつあります。Docker Swarm以上に機能が充実しており拡張性の高さもかね揃えています。当初はGoogleで設計、実装されて、現在はCNCF(Cloud Native Computing Foundation)に参加する企業が開発しているツールです。クラウドネイティブの世界では次のLinuxになると言われるほど期待されています。

コンテナオーケストレーションとは?

サーバーのリソース状況を考慮して適切にコンテナをデプロイすることです。

具体的には、クライアントが「このデータ下さい」と言ったときに該当するコンテナにつないでくれて、裏にある状態を考えなくてもよくなる。また、オーケストレーションは各コンテナの健康管理もしていて落ちたら立ち上げてくれる。

メリット

OSSであるためどのクラウドでも動く点。オンプレミスやEC2で動かしていたKubenetesをそのままEKSに持っていくことが可能。ECSに移行する場合などはそれが難しい。

Web業界での使われ方

マイクロサービス構成のWebサービスを効率よく管理運用するためのコンテナ基盤

Kubernetesが目指しているもの?

ITインフラの抽象化

Kubernetes運用時の難しい点

マスター(コントロールプレーン)を健全に保つこと。AWSのEKSを利用すれば、Kubenetesコントロールプレーンの管理をAWSに委ねることが可能。

主要クラウドサービスでの利用

Google Kubernetes Engine(GKE)

GCPのKubernetesです。

Amazon Elastic Container Service(ECS)

AmazonのKubernetesです。

Azure Container Service(Azure)

AzureのKubernetesです。

Kubernetesの機能

計画に従いアプリを迅速にデプロイする。

  • コンテナの冗長数、CPU時間、メモリ容量の割り当て
  • ストレージ容量、ネットワークのアクセスポリシー、ロードバランシング

稼働中のアプリケーションをスケールする。

  • 繁忙期にコンテナ数を増やして処理能力を向上させる。
  • 閑散期にはコンテナ数を減らし資源占有量や料金を削減する。

新バージョンのアプリケーションを無停止でロールアウトする。

CPU時間等資源管理を厳格にしてハードウェア稼働率を高める。

様々な異なる環境で共通のオペレーションでアプリを運用する。

環境の種類 説明
パブリッククラウド 基盤を複数ユーザーが共有し、安価で迅速に運用
プライベートクラウド 特定ユーザー専用の基盤で、セキュリティを優先した運用
マルチクラウド 複数クラウドを併用して、高安定なサービス運用
ハイブリッドクラウド オンプレとクラウドを併用した適材適所の運用
オンプレミス 自社設備を利用してアプリケーションに特化した運用

変化をし続ける運用環境を前提に設計された高い柔軟性と拡張性を実現

  • マイクロサービス化されたアプリの最適な実行環境
  • 緩やかなアプリ連携による柔軟さ、置き換えやすさ
  • 様々なスペックのサーバーを混在したクラスタ構成
  • サーバの停止、追加、破棄が容易
  • ストレージ、ロードバランサーのダイナミックなプロビジョニング
  • パブリッククラウドとAPIで連携させKubernetesから操作

高可用性や性能管理の実現

  • サーバー停止時におけるアプリ再配置
  • アプリ異常停止における自動再起動
  • 停止許容数を遵守するサービス維持
  • 高負荷時の自動スケーリング

リリースノート

バージョン リリース日 説明
1.0 2015年7月
1.1 2015年11月 パフォーマンス改善
1.2 2016年3月 更なるパフォーマンス改善
1.3 2016年7月 オートスケールを実現
1.4 2016年9月 クラスタ構成作業を容易化し、2コマンドで構築可能に。
1.5 2016年12月 本番使用のサポート機能、StatefulSetベータ版リリース
1.6 2017年3月 5000ノードを超えるスケール、クラスタのフェデレーション
1.7 2017年6月 セキュリティ機能を強化
1.8 2017年9月 ロールベースアクセス制御(RBAC)の安定化
1.9 2017年12月 ミッションクリティカルに対応する安定性を達成
1.10 2018年3月 CSI(Container Storage Interface)がベータ版に移行
1.11 2018年7月 バージョン1.11、CoreDNSがデフォルトになる。CSIが強化される。
1.12 2018年10月 RuntimeClassの導入で異なる実行環境の異種ノードに対応
1.13 2018年12月 kubeadmとCSIが正式提供
1.14 2019年3月 Windowsノードと永続ローカルボリュームの本番利用対応

 

スポンサーリンク
  • 2019 12.15
  • miyabisan2
  • コメントを書く
  • Docker, Kubernetes
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2019 12.16

    【Docker】コンテナの分割単位

  2. 2019 12.16

    【Docker】「docker-compose」コマンドまとめ

  3. 2022 07.24

    【Kubernetes】「pod」について

  4. 2019 12.15

    【Docker】Dockerfileについて(よく使うインタラクション:命令等)

  5. 2019 12.30

    【Docker】Dockerイメージの基本、「タグ」について

  6. 2020 01.18

    【Docker】MySQLのコンテナに接続して基本操作する手順(Railsの場合)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

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

返信をキャンセルする。

【VSCode】Gitとの連携に関する知識

【Docker】Dockerfileについて(よく使う…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー