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

本文详述了如何在多节点Kubernetes集群上利用Docker容器部署Oracle Express 11g数据库,并通过ReplicationController进行扩展。首先创建Pod的YAML文件,接着配置服务以访问数据库。然后,利用ReplicationController确保至少有两个运行中的Pod实例,当Pod崩溃时能自动替换。扩展集群规模只需使用kubectl或oc scale命令,文中提供了连接数据库所需的凭据。
摘要由CSDN通过智能技术生成

在本文中,我将解释如何在多节点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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值