AdminerをKubernetesで起動するDeployment
MySQLやPostgresのCRUD操作をお手軽にするためのWebインタフェース Adminer の起動
Categories:
Deployment
kubectl apply -f deployment.yml
でそのまま利用可能- Namespace は adminer としている
- Adminer の画面デザインを変更するテーマを環境変数
ADMINER_DESIGN
で指定可能
---
apiVersion: v1
kind: Namespace
metadata:
name: adminer
---
apiVersion: v1
kind: Service
metadata:
name: adminer
namespace: adminer
labels:
app: adminer
spec:
# 利用環境にあわせる。EKSでAWS Ingress Contoller (ALB)を利用する場合は指定不要
# type: LoadBalancer
selector:
app: adminer
ports:
- port: 80
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: adminer
namespace: adminer
labels:
app: adminer
spec:
selector:
matchLabels:
app: adminer
template:
metadata:
labels:
app: adminer
spec:
containers:
- name: adminer
image: adminer:4
ports:
- containerPort: 8080
env:
- name: ADMINER_DESIGN
value: "pokorny"
Ingress (AWS Ingress Loadbalancer)
- ここでは AWS Ingress の例
- Ingress の構築方法は Kubernetes クラスタに応じて色々あるので利用環境にあわせる
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: adminer-ingress
namespace: adminer
annotations:
kubernetes.io/ingress.class: alb
# VPCでイントラ提供している場合
alb.ingress.kubernetes.io/scheme: internal
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
# 証明書を使いたい場合はここに書く (この値は dummy)
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:ap-northeast-1:123456789012:certificate/12121212-abab-cdcd-efef-012345689012
# 自分で作成したAWS LoadBalancer のグループ名を書く
alb.ingress.kubernetes.io/group.name: eks-alb-grop
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/healthcheck-path: "/"
alb.ingress.kubernetes.io/success-codes: "200"
spec:
rules:
# 任意のURL
- host: adminer-web.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: adminer
port:
number: 80
MySQL の管理用 GUI ツール Adminer を Kubernetes に設置
https://fand.jp/how-to-launch-adminer/
MySQL の Web管理ツール Adminer を Kubernetes や Docker 起動する手順のカンペ