Kubernetes スケジューラの内部機構とポリシー構成

スケジューラの基本動作 Kubernetes におけるスケジューラは、マスターノード上で動作する独立したプロセスであり、API サーバーと連携して Pod の配置を決定します。主な役割は、PodSpec.NodeName が未設定の Pod を監視し、クラスタ内の適切なノードを選定した後、バインディング情報を API サーバーへ送信することです。 このプロセスにより、スケジューラは Pod とノー ...

7月30日 19:45 投稿

Spring Cloudマイクロサービス開発フレームワーク

Spring Cloudは、Springコミュニティが提供するツールセットであり、分散システムとマイクロサービスアーキテクチャの構築を支援します。Spring Bootフレームワークに基づき、さまざまなサービスを管理するためのコンポーネントとライブラリを提供しています。 主要な機能とコンポーネント 1. サービス発見と登録 Eureka:Netflixのサービス発見と登録センター。マイ ...

7月30日 03:23 投稿

Ceph Mimicバージョンクラスタのデプロイ

Ceph Mimicバージョンでは、MDSの安定性など多くの改善と最適化が行われています。KubernetesクラスタでCephを使用する際には、特にCephFSが必要となり、そのためMDSの安定性が求められます。したがって、この記事ではCeph Mimicバージョンを使用してクラスタを構築します。 Mimicバージョンの詳細なアップデートについては以下のリンクをご覧ください: Ceph Mimic リリー ...

7月30日 01:32 投稿

Kubernetesクラスタの構築手順

公式のCentOS7イメージを使用し、仮想マシン環境でKubernetesクラスタを構築します。 1. 初期設定 ネットワークインターフェースの設定: 公式イメージではデフォルトでネットワークインターフェースが有効になっていないため、まずネットワーク設定を構成する必要があります。 sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 # ONBOOT=noをONBOOT=yesに変更 # wqで ...

7月27日 23:43 投稿

Linkerd 2.10とArgo CDを組み合わせたGitOpsワークフローの設定

GitOpsは、Gitを単一の信頼できる情報源として、Kubernetesインフラストラクチャとアプリケーションを自動的に管理およびデリバリーする方法です。通常、Gitでバージョン管理されたアーティファクトとクラスタで実行されているアーティファクトの間の差異を検出し、調整するためのソフトウェアエージェントを利用します。 本ガイドでは、GitOpsワークフローを使用してLin ...

7月27日 19:08 投稿

Kubernetes HPAの詳細解説

基本概念 動作原理 HPAは定期的に定義されたメトリクスを取得し、リソース使用率を監視します。コントロールマネージャーはscaleTargetRefで指定されたリソースを特定し、ラベルセレクタでPodを選択後、リソースメトリクスAPIからデータを収集します。 メトリクス取得は以下のAPI経由で行われます: metrics.k8s.io(通常Metrics Serverが提供) custom.metrics.k8s.io(P ...

7月24日 19:44 投稿

Kubernetes で /dev/shm を使った共有メモリの設定方法

Docker の --shm-size オプションから始めましょう Docker コマンドの --shm-size パラメータは、コンテナ内の共有メモリ領域のサイズを指定するために使用されます。このオプションは、特に機械学習や高性能コンピューティングのワークロードで頻繁に利用されます。このコンテナを Kubernetes 環境にデプロイする際、同様の共有メモリ設定をどのように実現するかが課題と ...

7月24日 18:54 投稿

Kubernetes ポッドによるプライベートレジストリの認証設定手順

ドキュメント定義ファイルからのシークレット生成 Docker デフォルトの構成ファイルを基盤として認証情報をシークレット化します。既存の ~/.docker/config.json ファイルに含まれる資格情報を使用することで、複数のレジストリに対応できます。 # .docker/config.json の中身を確認 { "auths": { "private.registry.internal": { "auth": "dXNlcjpwYXNzd29yZA ...

7月24日 05:45 投稿

Kubernetes client-go DeltaFIFOのソースコード分析

概要 Queueインターフェース DeltaFIFO 要素の追加・削除・更新 - queueActionLocked() Pop() Replace() 概要 ソースコードのバージョン情報 プロジェクト: kubernetes ブランチ: master 最新コミットID: d25d741c 日付: 2021-09-26 前回の記事「Kubernetes client-goソースコード分析 - 序章」で、カスタムコントローラーが関与するclient-goコンポーネントの全体的な ...

7月23日 16:47 投稿

ARMベース環境におけるKubernetesクラスタの構築手順

ARM環境でのKubernetes構築概要 ARMアーキテクチャを採用したサーバー上でKubernetesクラスタを構築する方法について説明します。本手順はUbuntu Serverをベースとした環境を前提としています。 工程 作業内容 1. ハードウェア準備 ARM対応サーバーの用意 2. OSセットアップ Ubuntu Serverのインストール 3. コンテナ環境構築 Docker Engineの導入 4. Kubern ...

7月23日 00:11 投稿