您的位置:首页 > 数据库 > Oracle

在多节点Kubernetes集群上部署和扩展Oracle数据库

2020-06-29 04:22 2381 查看

在本文中,我将解释如何在多节点Kubernetes集群上部署和扩展Oracle Express数据库。 我将使用Maxym Bylenko的Docker容器 。 我指的是Oracle XE 11g的容器,因为在执行以下所述过程时,Oracle XE 12c的容器存在以下未解决的问题 。 我假设读者至少具有Kubernetes概念的基础或中级知识。

首先要做的是创建一个Pod。 我们可以通过YAML文件声明性地执行此操作(以及本文中描述的其他操作):

apiVersion: v1
kind: Pod
metadata:
name: "oradb"
labels:
name: "oradb"
spec:
containers:
- image: "sath89/oracle-xe-11g:latest"
name: "oradb"
ports:
- containerPort: 1521
restartPolicy: Always

成功创建Pod之后,我们需要为其创建服务:

apiVersion: v1
kind: Service
metadata:
name: "oradb"
labels:
app: "oradb"
spec:
ports:
- port: 1521
selector:
app: "oradb"

现在,我们需要创建一个ReplicationController。 它使您可以轻松地创建多个Pod,然后确保总是存在一定数量的Pod:如果Pod崩溃,则Replication Controller会替换它。 这是我们可以声明性地创建一个ReplicationController的方法,指定我们需要两个副本:

apiVersion: v1
kind: ReplicationController
metadata:
name: "oradb"
labels:
app: "oradb"
spec:
replicas: 2
selector:
app: "oradb"
template:
metadata:
labels:
app: "oradb"
spec:
containers:
- image: "sath89/oracle-xe-11g:latest"
name: "oradb"

我们可以通过以下方法检查是否已成功从外壳程序成功创建ReplicationController:

kubectl:

kubectl获取rc

或者,如果在OpenShift Origin中:

oc get rc

NAME      DESIRED   CURRENT   AGE
oradb       2            2                  1d

让我们检查一下豆荚:

kubectl get pods

或者,在OpenShift Origin中:

oc get pods

NAME          READY     STATUS    RESTARTS   AGE
oradb           1/1         Running        0          1d
oradb-6rs8h   1/1       Running        0          1d
oradb-cq2x9   1/1       Running       0          1d

想象一下,现在我们需要将集群从2个Pod扩展到3个。 只需使用kubectl scale命令即可执行此操作:

kubectl scale rc oradb --replicas=3

或oc scale命令:

oc scale rc oradb --replicas=3

上面的命令完成后,我们将在列表中找到一个新容器:

NAME          READY     STATUS    RESTARTS   AGE
oradb         1/1         Running        0          1d
oradb-6rs8h   1/1       Running        0          1d
oradb-cq2x9   1/1       Running       0          1d

oradb-rplzj   1/1       Running       0          1d

这就是ReplicationController的新情况:

NAME      DESIRED   CURRENT   AGE
oradb       3            3                  1d

数据库sid是xe ,要连接的凭据是:

username: system
password: oracle

翻译自: https://www.javacodegeeks.com/2018/11/deploying-oracle-database-kubernetes.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: