LoginSignup
0
1

More than 1 year has passed since last update.

Kubernetes入門

Last updated at Posted at 2021-01-15

Kubernetesの概要

  • Kubernetesとは、コンテナオーケストレーションツールである。複数のコンテナを良い感じに管理してくれる(例:一部コンテナに負荷集中時に自動でスケールする)
  • マスターとノードという2種類のサーバーが存在
    • マスターはコンテナの管理をする。また、外部から管理可能にするためのAPIを提供する
      • APIの認証情報は~/.kube/configに記載する
    • ノードはコンテナのホストをする
  • 配備するリソース(例:コンテナ)やその設定は、マニフェストと呼ばれる設定ファイルで定義する
  • リソース郡はKubernetesクラスタという箱に入る。さらにNamespaceで箱に仕切りをつけることができる
  • マスターが提供するAPIはkubectlコマンドで実行する。基本的なコマンドは以下
コマンド 説明
apply リソース作成
delete リソース削除
get リソース情報参照
logs ログの参照
exec 配備済コンテナ内でのコマンド実行
port-forward ローカルのポートからコンテナのポートへのポートフォワード

各種リソースの説明

  • Kubernetesのリソースにはとても多くの種類がある

Workloadsリソース

  • Pod
    • 1つ以上のコンテナを持つ箱
    • 1つのPodにつき1つのIPを持つ
  • ReplicaSet
    • Podを複製し、特定のラベルを持つPodの数を、マニフェストで定義した数で維持する
      • 例:replicas: 3, labels: labelA, labelBと定義した場合、labelA, labelBのpodの合計数を3で維持する
      • Podの増減履歴はkubectl describe rsで確認可能
  • Deployment
    • 複数のReplicaSetを管理する。ローリングアップデートやロールバックを行う。
  • DaemonSet
    • ノードの常駐プロセス。各ノードに1つずつ配備される
      • 使用例:Datadogを常駐させることで各ノードを監視する
  • StatefulSet
    • ステートフルなもの(例:DB)を管理する
    • 再作成について
      • PersistentVolumeを使用している場合は、同じディスクを用いて再作成される
      • 再作成してもPod名は変わらない
  • Job
    • バッチ処理をする
  • CronJob
    • バッチ処理を定期実行する

Discovery&LBリソース

Service

Configリソース

  • ConfigMap
    • 環境変数を管理
  • Secret
    • 機密情報を管理。base64エンコードされる
      • 安全性を確保するには別途対策が必要

Storageリソース

  • Volume
    • 既存のボリュームをコンテナから使用できるようにする
  • PersistentVolume
    • 永続ボリュームを提供する外部システムと連携して、ボリュームの新規作成や削除ができる
  • PersistentVolumeClaim
    • PodとPersistentVolumeを紐づける

その他

Podのヘルスチェック

  • Podのヘルスチェックには2種類ある
種類 役割 失敗時の挙動
Liveness Probe Podの死活監視 Podの再起動
Readiness Probe Podがサービスを開始可能か確認(例:バックエンドのDBと接続済か) Podへの通信拒否

Podの再起動ポリシー

  • Pod停止時の再起動ポリシーには3種類ある
種類 説明
Always 常に再起動
OnFailure 終了コード0を除き再起動
Never 再起動しない

Kubernetesと連携可能な著名サービス

サービス 機能
Fluentd ログ管理
Prometheus 監視
Istio サービスメッシュ
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1