我在本地機器上使用 minikube 和 kubectl。現在我需要用這些來運行一個 oracle 資料庫。它可以是任何資料庫。
你能告訴我如何通過 minikube 和 kubectl 在我的本地機器上運行 oracle 資料庫嗎?
uj5u.com熱心網友回復:
方案一:
可以通過直接向k8s提交yaml檔案的形式部署oracle服務。
部署
以下是Oracle部署的定義代碼。
這段代碼由兩部分組成,分別是Oracle部署的部署及其代理服務。這里部署的Oracle資料庫是11g r2,使用的鏡像是mybook2019/oracle-ee-11g:v1.0. 兩個埠1521和8080通過NodePort方式暴露出來,Oracle資料通過nfs檔案系統持久化。
oracle-service.yaml
apiVersion: v1
kind: Service
metadata:
name: oralce-svc
labels:
app: oralce
spec:
type: NodePort
ports:
- port: 1521
targetPort: 1521
name: oracle1521
- port: 8080
targetPort: 8080
name: oralce8080
selector:
app: oralce
oracle-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: oralce
spec:
replicas: 1
selector:
matchLabels:
app: oralce
strategy:
type: Recreate
template:
metadata:
labels:
app: oralce
spec:
containers:
- image: mybook2019/oracle-ee-11g:v1.0
name: oralce
- containerPort: 1521
name: oralce1521
- containerPort: 8080
name: oralce8080
volumeMounts:
- name: oralce-data
mountPath: /u01/app/oracle
volumes:
- name: oralce-data
nfs:
path: /home/sharenfs/oracle
server: 192.168.8.132
通過kubectl執行以下命令在Kubernetes集群中部署Oracle資料庫。
$ kubectl create -f oracle-service.yaml
$ kubectl create -f oracle-deployment.yaml
部署完成后,可以通過以下命令查看oracle暴露的埠(這里的埠是1521和32175)
$ kubectl get svc

查看
對于Kubernetes集群中的應用,連接資料庫的相關資訊如下:
hostname: oracle-svc.default
port: 1521
sid: EE
service name: EE.oracle.docker
username: system
password: oracle
對于oracle客戶端所在的機器,執行如下命令連接資料庫。
$ sqlplus system/oracle@//oracle-svc.kube-public:1521/EE.oracle.docker
對于Kubernetes集群外的應用,用于連接資料庫的相關資訊如下:
hostname: 10.0.32.165
port: 32175
sid: EE
service name: EE.oracle.docker
username: system
password: oracle
對于oracle客戶端所在的機器,執行如下命令連接資料庫。
$ sqlplus system/oracle@//10.0.32.165:32175/EE.oracle.docker
方案B:
通過 helm chart安裝
要使用發行版名稱安裝圖表db19c:
Helm 3.x 語法
$ helm install db19c oracle-db-1.0.0.tgz
Helm 2.x 語法
$ helm install --name db19c oracle-db-1.0.0.tgz
該命令以默認配置在 Kubernetes 集群上部署 Oracle 資料庫。配置部分列出了在安裝程序中可以配置的引數。
uj5u.com熱心網友回復:
如果您可以分享有關在 minikube 上部署 Oracle 資料庫您已經嘗試過的詳細資訊,那將會有所幫助,否則您的問題顯得過于籠統。
對于要部署在像 minikube 這樣的 kubernetes 發行版上的任何應用程式——您需要該應用程式的清單(在本例中為 Oracle 資料庫),它可以描述應用程式的所需狀態。
然后,您可以使用服務公開該應用程式并使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/395803.html
標籤:甲骨文 Kubernetes 甲骨文12c kubectl 迷你酷
上一篇:Oracle中如何多次更新表?
