README.md を更新
This commit is contained in:
156
README.md
156
README.md
@@ -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>
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user