導讀 | Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫系統是目前世界上流行的關係數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的、適應高吞吐量的數據庫方案。 |
Oracle部署
下面是Oracle部署的定義代碼,此代碼由兩部分組成,即Oracle部署的部署以及其代理服務。此處部署的Oracle數據庫爲11g r2,鏡像使用的是mybook2019/oracle-ee-11g:v1.0。通過NodePort模式對外暴露了1521和1158這兩個端口,並通過nfs文件系統對Oracle的數據進行持久化。
#-------------定義oralce代理服務--------------------
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
---
#-------------定義oralce部署--------------------
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 oracle11g-en.yaml --namespace=kube-public
在部署完成後,通過下面的命令可以查看oracle暴露的端口(此處的端口爲1521和32175):
$ kubectl get svc --namespace=kube-public
部署驗證
1)在Kubernetes集羣內的應用,連接數據庫的相關信息如下:
hostname: oracle-svc.kube-public
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
2)在Kubernetes集羣外的應用,連接數據庫的所使用的相關信息如下:
hostname: 10.0.32.165
port: 32175
sid: EE
service name: EE.oracle.docker
username: system
password: oracle
對於在oracle客戶端所在機器上,執行下面的命令連接到數據庫。Linux就該這麼學
$ sqlplus system/oracle@//10.0.32.165:32175/EE.oracle.docker