概览
Container Engine for Kubernetes (OKE) 是一款 Oracle 托管的容器编排服务,可加快现代化云原生应用的构建速度并降低成本。与大多数供应商不同,Oracle 云基础设施提供免费的 Container Engine for Kubernetes 服务,可在高性能、低成本的计算款型上运行。DevOps 工程师可以使用未经修改的开源 Kubernetes 来支持应用负载迁移,并通过自动更新和修补来简化运营。
Oracle MySQL 数据库服务是一项全托管式服务,支持开发人员使用全球广受欢迎的开源数据库 MySQL 来快速开发、部署安全的云原生应用。它完全由 MySQL 团队开发、管理和提供支持。
本文介绍如何在OKE中部署phpmyadmin管理Oracle MySQL 数据库服务。
前提条件
- Oracle云基础设施用户名和密码
- Container Engine for Kubernetes (OKE) 创建并且配置完成
- Oracle MySQL 数据库服务创建完成,管理员用户名是
root
,并且与OKE处于同一虚拟云网络的同一子网
目录
- 获取Oracle MySQL 数据库服务信息
- OKE中部署phpmyadmin
- 通过phpmyadmin访问Oracle MySQL 数据库服务
1. 获取Oracle MySQL 数据库服务信息
访问Oracle MySQL 数据库系统详细信息界面,记录"IP 地址"或者"主机名",本文通过"主机名"进行访问。当然,也可以使用"IP 地址"。
- 主机名:
mysqlhost
2. OKE中部署phpmyadmin
您需要将Oracle MySQL 数据库服务管理员的密码进行加密,将ROOT_PASSWORD
替换为您设置的密码,输入以下命令。
echo -n 'ROOT_PASSWORD' | base64
创建phpmyadmin-secret.yml
,您需要将root-password
的值ENCODED_ROOT_PASSWORD
修改为上面命令输出的结果。
cat > phpmyadmin-secret.yml <<EOF
apiVersion: v1
kind: Secret
metadata:
name: phpmyadmin-secret
type: Opaque
data:
root-password: ENCODED_ROOT_PASSWORD
EOF
创建phpmyadmin-deployment.yml
,你需要将PMA_HOST
的值(value)修改为您使用的"主机名"。例如,mysqlhost
。
cat > phpmyadmin-deployment.yml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin-deployment
labels:
app: phpmyadmin
spec:
replicas: 1
selector:
matchLabels:
app: phpmyadmin
template:
metadata:
labels:
app: phpmyadmin
spec:
containers:
- name: phpmyadmin
image: phpmyadmin
ports:
- containerPort: 80
env:
- name: PMA_HOST
value: mysqlhost
- name: PMA_PORT
value: "3306"
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: phpmyadmin-secret
key: root-password
EOF
创建phpmyadmin-service.yml
。
cat > phpmyadmin-service.yml <<EOF
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-service
spec:
type: LoadBalancer
selector:
app: phpmyadmin
ports:
- protocol: TCP
port: 80
targetPort: 80
EOF
创建kustomization.yml
。
cat > kustomization.yml <<EOF
resources:
- phpmyadmin-secret.yml
- phpmyadmin-deployment.yml
- phpmyadmin-service.yml
EOF
发布kustomization.yml
。
kubectl apply -k ./
确认发布结果,记录的phpmyadmin-service
的EXTERNAL-IP
。(本文隐藏了EXTERNAL-IP
的真实信息)
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
phpmyadmin-deployment-b7dc94656-lsbbm 1/1 Running 0 10m
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
phpmyadmin-service LoadBalancer 10.96.157.48 XXX.XXX.XXX.XXX 80:30733/TCP 10m
3. 通过phpmyadmin访问Oracle MySQL 数据库服务
打开浏览器访问phpmyadmin-service
的EXTERNAL-IP
,输入Oracle MySQL 数据库服务的用户名和密码,单击"执行"。
登录成功。
祝贺!您现在可以通过phpmyadmin管理Oracle MySQL 数据库服务了。