@@ -11,9 +11,9 @@ source ${scriptDir}/../common/utility.sh
11
11
function usage {
12
12
echo " usage: ${script} -p <nodeport> -i <image> -s <pullsecret> -n <namespace> [-h]"
13
13
echo " -i Oracle DB Image (optional)"
14
- echo " (default: container-registry.oracle.com/database/enterprise:12.2.0.1-slim ) "
14
+ echo " (default: container-registry.oracle.com/database/enterprise:12.2.0.1-slim) "
15
15
echo " -p DB Service NodePort (optional)"
16
- echo " (default: 30011) "
16
+ echo " (default: 30011, set to 'none' to deploy service without a NodePort) "
17
17
echo " -s DB Image PullSecret (optional)"
18
18
echo " (default: docker-store) "
19
19
echo " -n Configurable Kubernetes NameSpace for Oracle DB Service (optional)"
@@ -73,25 +73,40 @@ echo ' - name: docker-store' >> ${scriptDir}/common/oracle.db.yaml
73
73
sed -i -e " s?name: docker-store?name: ${pullsecret} ?g" ${scriptDir} /common/oracle.db.yaml
74
74
sed -i -e " s?image:.*?image: ${dbimage} ?g" ${scriptDir} /common/oracle.db.yaml
75
75
sed -i -e " s?namespace:.*?namespace: ${namespace} ?g" ${scriptDir} /common/oracle.db.yaml
76
- kubectl apply -f ${scriptDir} /common/oracle.db.yaml
77
76
78
- # Modify the NodePort based on input
79
- sed -i -e " s?nodePort:.*?nodePort: ${nodeport} ?g" ${scriptDir} /common/oracle.db.yaml
77
+ # Modify the NodePort based on input
78
+ if [ " ${nodeport} " = " none" ]; then
79
+ sed -i -e " s? nodePort:? #nodePort:?g" ${scriptDir} /common/oracle.db.yaml
80
+ sed -i -e " s? type:.*LoadBalancer? #type: LoadBalancer?g" ${scriptDir} /common/oracle.db.yaml
81
+ else
82
+ sed -i -e " s?[#]*nodePort:.*?nodePort: ${nodeport} ?g" ${scriptDir} /common/oracle.db.yaml
83
+ sed -i -e " s?[#]*type:.*LoadBalancer?type: LoadBalancer?g" ${scriptDir} /common/oracle.db.yaml # default type is ClusterIP
84
+ fi
85
+
86
+ kubectl delete service oracle-db -n ${namespace} --ignore-not-found
80
87
kubectl apply -f ${scriptDir} /common/oracle.db.yaml
88
+
81
89
dbpod=` kubectl get po -n ${namespace} | grep oracle-db | cut -f1 -d " " `
90
+
82
91
checkPod ${dbpod} ${namespace}
83
92
checkPodState ${dbpod} ${namespace} " 1/1"
93
+ checkService oracle-db ${namespace}
94
+
84
95
kubectl get po -n ${namespace}
85
96
kubectl get service -n ${namespace}
86
97
87
98
kubectl cp ${scriptDir} /common/checkDbState.sh -n ${namespace} ${dbpod} :/home/oracle/
88
99
kubectl exec -it ${dbpod} -n ${namespace} /bin/bash /home/oracle/checkDbState.sh
89
100
if [ $? != 0 ]; then
90
101
echo " ######################" ;
91
- echo " [ERROR] Could not create Oracle DB Service" ;
102
+ echo " [ERROR] Could not create Oracle DB Service, check the pod log for pod ${dbpod} in namespace ${namespace} " ;
92
103
echo " ######################" ;
93
104
exit -3;
94
105
fi
95
106
96
- echo " Oracle DB Service is RUNNING with NodePort [${nodeport} ]"
97
- echo " Oracle DB Service URL [oracle-db.${namespace} .svc.cluster.local:1521/devpdb.k8s]"
107
+ if [ ! " ${nodeport} " = " none" ]; then
108
+ echo " Oracle DB Service is RUNNING with NodePort [${nodeport} ]"
109
+ else
110
+ echo " Oracle DB Service is RUNNING and does not specify a public NodePort"
111
+ fi
112
+ echo " Oracle DB Service URL [oracle-db.${namespace} .svc.cluster.local:1521/devpdb.k8s]"
0 commit comments