README.md を更新

This commit is contained in:
2025-12-03 10:44:06 +00:00
parent 703f10d620
commit 15ea605423

156
README.md
View File

@@ -1,2 +1,154 @@
Helmチャート作成用のテンプレートです。
カスタマイズしてお使いください。
# YOURLS with NGINX Helm Chart
このHelmチャートは、YOURLS (Your Own URL Shortener) をNGINXとPHP-FPMの構成でKubernetesにデプロイします。
## 特徴
- NGINX (1.29.3-alpine-perl) + YOURLS (1.10.2-fpm-alpine) のマルチコンテナPod構成
- MySQL/MariaDBのサブチャートによるデータベース管理
- 永続ボリュームによるデータ保存
- Ingressサポート (オプション)
- セキュアな環境変数管理
- リソース制限とヘルスチェック
## 前提条件
- Kubernetes 1.19+
- Helm 3.0+
- PersistentVolumeプロビジョナーのサポート (永続化を有効にする場合)
## ディレクトリ構造
```
yourls-nginx/
├── Chart.yaml
├── values.yaml
├── templates/
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── configmap.yaml
│ ├── secret.yaml
│ ├── pvc.yaml
│ ├── ingress.yaml
│ └── NOTES.txt
└── README.md
```
## インストール
### 1. 依存関係の更新
```bash
helm dependency update
```
### 2. 基本インストール
```bash
helm install my-yourls ./yourls-nginx
```
### 3. カスタム設定でインストール
```bash
helm install my-yourls ./yourls-nginx \
--set yourls.config.site=https://短縮.example.com \
--set yourls.config.username=admin \
--set yourls.config.password=SecurePassword123 \
--set mysql.auth.password=SecureMySQLPassword
```
### 4. values.yamlをカスタマイズしてインストール
```bash
# values.yamlを編集
vim values.yaml
# インストール
helm install my-yourls ./yourls-nginx -f values.yaml
```
## 設定項目
### イメージ設定
| パラメータ | 説明 | デフォルト値 |
|-----------|------|-------------|
| `image.nginx.registry` | NGINXイメージのレジストリ | `docker.io` |
| `image.nginx.repository` | NGINXイメージのリポジトリ | `nginx` |
| `image.nginx.tag` | NGINXイメージのタグ | `1.29.3-alpine-perl` |
| `image.yourls.registry` | YOURLSイメージのレジストリ | `docker.io` |
| `image.yourls.repository` | YOURLSイメージのリポジトリ | `yourls` |
| `image.yourls.tag` | YOURLSイメージのタグ | `1.10.2-fpm-alpine` |
### YOURLS設定
| パラメータ | 説明 | デフォルト値 |
|-----------|------|-------------|
| `yourls.config.site` | YOURLSのサイトURL | `https://yourls.example.com` |
| `yourls.config.username` | 管理者ユーザー名 | `admin` |
| `yourls.config.password` | 管理者パスワード | `admin` |
| `yourls.config.cookiekey` | Cookieの暗号化キー | `modify_this_random_string` |
| `yourls.persistence.enabled` | データの永続化 | `true` |
| `yourls.persistence.size` | PVCのサイズ | `1Gi` |
### MySQL設定
| パラメータ | 説明 | デフォルト値 |
|-----------|------|-------------|
| `mysql.enabled` | MySQLサブチャートの有効化 | `true` |
| `mysql.auth.database` | データベース名 | `yourls` |
| `mysql.auth.username` | データベースユーザー名 | `yourls` |
| `mysql.auth.password` | データベースパスワード | `yourls` |
| `mysql.primary.persistence.size` | PVCのサイズ | `8Gi` |
### Ingress設定
| パラメータ | 説明 | デフォルト値 |
|-----------|------|-------------|
| `ingress.enabled` | Ingressの有効化 | `false` |
| `ingress.className` | Ingress class名 | `nginx` |
| `ingress.hosts[0].host` | ホスト名 | `yourls.example.com` |
## アップグレード
```bash
helm upgrade my-yourls ./yourls-nginx -f values.yaml
```
## アンインストール
```bash
helm uninstall my-yourls
```
## セキュリティに関する注意事項
1. **デフォルトパスワードの変更**: インストール後すぐにデフォルトの管理者パスワードを変更してください
2. **COOKIEKEY**: `yourls.config.cookiekey`をランダムな文字列に変更してください
3. **データベースパスワード**: 本番環境では強力なパスワードを設定してください
4. **HTTPS**: 本番環境では必ずIngressでTLS/HTTPSを有効にしてください
## トラブルシューティング
### Podの状態確認
```bash
kubectl get pods -l app.kubernetes.io/name=yourls-nginx
kubectl logs <pod-name> -c nginx
kubectl logs <pod-name> -c yourls
```
### データベース接続の確認
```bash
kubectl exec -it <pod-name> -c yourls -- env | grep YOURLS_DB
```
### 永続ボリュームの確認
```bash
kubectl get pvc
kubectl describe pvc <pvc-name>
```