アプリケーションと永続ストレージ構成

コンポーネント 役割 推奨ストレージサイズ 永続化の目的
Prometheus メトリクスデータの収集・保存サーバー 5〜10GB 長期間のデータを保存し、過去の傾向分析や障害時の原因調査を可能にするため。
Alertmanager アラートの管理・通知 1GB アラート設定や通知の履歴を保持し、Pod再起動時の設定消失を防ぐため。
Grafana データ可視化ダッシュボード 1〜2GB 作成したダッシュボードやデータソース設定を保持し、カスタム設定...

物理構成

tx100s3-01 (Debian 11, 16GB)                tx100s3-02 (Debian 11, 16GB)
├── KVMゲスト1: ha-master1 (3GB)        ├── KVMゲスト1: hb-master (3GB)
├── KVMゲスト2: ha-worker1 (4GB)        ├── KVMゲスト2: hb-worker1 (4GB)
├── KVMゲスト3: ha-worker2 (4GB)        ├── KVMゲスト3: hb-worker2 (4GB)

論理構成

    今回...

物理構成

tx100s3-01 (Debian 11, 16GB RAM)                tx100s3-02 (Debian 11, 16GB RAM)
├── KVMゲスト1: ha-master1 (3GB)             ├── KVMゲスト1: hb-master (3GB)
├── KVMゲスト2: ha-worker1 (4GB)(100GB DISK) ├── KVMゲスト2: hb-worker1 (4GB)(100GB DISK)
├── KVMゲスト3: ha-worker2 (4GB)             ├── KVMゲスト3: hb...

How To Automate Deployments to DigitalOcean Kubernetes with CircleCI

git pushでkubernetesのpodのイメージ更新まで自動化出来たので手順を残します。

  • 実現したいこと
    • git push したタイミングでcircleciでテスト、問題なければkubernetes上で稼働しているpodのイメージを更新させる

environment

  • kubernetes
    • v1.28.2
  • namespace
    • doks-wp
  • container registry
    • E...

add AWS ECR private registry

コンテナレジストリをDigital Ocean RegistryからAWS ECRへ変更しました。

背景

circle CIからの自動デプロイのテストで、digital oceanの500MB上限に達してしまってcircle ciからのPUSHが失敗してしまうので、ECRに移行することにしました。

手順

  • https://kubernetes.io/ja/docs/concepts/configuration/secret/

の通りにやっても401エラーになってしまったので

  • https://linu...

note of digital ocean

kubernetesの勉強をしていましたがminikubeでは物足りなくなったので、 digitaloceanが安いということで、kubernetesを契約しました。

DigitalOcean Referral Badge

こちらからアカウントを作成すると有効期限が2ヶ月分の$200クレジットが付与されます。

AWSのEKSは$72+利用料で手が出ません。

本当はOCI(Oracle Cloud Infrastructure)で無料枠インスタンスから作ろうとしましたが大阪リージョンがリソース上限で、アカウントの移動も出来ず...

SSL/TLS証明書取得

cert-managerのインストール

  • manifestからの場合
    • https://cert-manager.io/docs/installation/kubectl/
      kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.2/cert-manager.yaml
  • helmの場合
    • https://cert-manager.io/docs/tutorials/acme/nginx-ingress/
helm r...

カスタムイメージからwordpress起動

kubernetes環境とコンテナレジストリは連携済みなので、先程ローカルからpushしたイメージで起動させてみます。

namespaceの作成

ocarina@ab350-pro4:~/work/doks-wp/k8s$ vi Namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
    name: doks-wp
ocarina@ab350-pro4:~/work/doks-wp/k8s$ kubectl apply -f Namespace.yaml

deployemen

...

ローカル環境でwordpressをセットアップする-DigitalOceanのkubernetes環境にwordpressを構築する02

DOKSの手順のwordpressではなくwordpressのdockerイメージから作ります。

ローカルで作業します

download & run

docker pull wordpress:latest
docker run -p 80:80 -d -i docker.io/library/wordpress:latest

http://localhost/ に繋いでwordpressをセットアップします。

DBはGCEを指定して...

NFSとredisセットアップ-DigitalOceanのkubernetes環境にwordpressを構築する01

OpenEBS Dynamic NFS Provisioner のインストールと設定

install helm

k8sのパッケージ管理ツールです。

kubernetesに接続した作業端末で行います。

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh

cont

...