默认已经安装好k8s环境

环境检查

# kubectl get pod  --all-namespaces
NAMESPACE         NAME                                    READY   STATUS    RESTARTS   AGE
kube-system       coredns-f9fd979d6-2stg7                 1/1     Running   0          23h
kube-system       coredns-f9fd979d6-sb4pf                 1/1     Running   0          23h
kube-system       etcd-langll-ubuntu                      1/1     Running   0          23h
kube-system       kube-apiserver-langll-ubuntu            1/1     Running   0          119m
kube-system       kube-controller-manager-langll-ubuntu   1/1     Running   1          23h
kube-system       kube-flannel-ds-c7rhj                   1/1     Running   0          16h
kube-system       kube-proxy-xcqvm                        1/1     Running   0          23h
kube-system       kube-scheduler-langll-ubuntu            1/1     Running   1          23h

确定 k8s都已经启动正常

创建yaml文件

打开vim 编辑文件,

# 可以在任意目录下执行
# vim oracle.yaml

复制下面内容到 oracle.yaml中

apiVersion: v1
kind: Namespace
metadata:
  name: oracle-server
---
apiVersion: v1
kind: Service
metadata:
 name: oracle-server
 namespace: oracle-server
spec:
 type: NodePort
 ports:
 - port: 1521
   targetPort: 1521
   nodePort: 1521
 selector:
   app: oracle-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: oracle-server
  name: oracle-server
  namespace: oracle-server
spec:
  selector:
    matchLabels:
      app: oracle-server
  template:
    metadata:
      labels:
        app: oracle-server
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/liyusoft/tool-oracle:v1.0.1
        imagePullPolicy: IfNotPresent
        name: oracle-server
        ports:
        - containerPort: 1521
        command: ['/assets/entrypoint.sh']
        env:
        - name: ORACLE_HOME
          value: "/opt/oracle/app/product/11.2.0/dbhome_1"
        - name: ORACLE_SID
          value: "orcl"
        volumeMounts:  #挂载持久存储卷 
        - name: oracle-volume #挂载设备的名字,与volumes[*].name 需要对应     
          mountPath: /opt/oracle/dpdump/1/dump_dir #挂载到容器的某个路径下   
          readOnly: true
      volumes: #定义一组挂载设备   
      - name: oracle-volume #定义一个挂载设备的名字   
        hostPath:   
          path: /home/langll/Documents/docker/volumes/oracle/dump_dir #挂载设备类型为hostPath,路径为宿主机下的/opt,这里设备类型支持很多种 

保存并退出

执行安装

# 需要在oracle.yaml同目录下执行
# kubectl apply -f oracle.yaml

查看启动结果

查看结果最好等待10-20分钟,因为oracle的安装过程在容器内部有多次重启。

# kubectl get pod  --all-namespaces
NAMESPACE         NAME                                    READY   STATUS    RESTARTS   AGE
kube-system       coredns-f9fd979d6-2stg7                 1/1     Running   0          24h
kube-system       coredns-f9fd979d6-sb4pf                 1/1     Running   0          24h
kube-system       etcd-langll-ubuntu                      1/1     Running   0          24h
kube-system       kube-apiserver-langll-ubuntu            1/1     Running   0          125m
kube-system       kube-controller-manager-langll-ubuntu   1/1     Running   1          24h
kube-system       kube-flannel-ds-c7rhj                   1/1     Running   0          16h
kube-system       kube-proxy-xcqvm                        1/1     Running   0          24h
kube-system       kube-scheduler-langll-ubuntu            1/1     Running   1          24h
oracle-server     oracle-server-7cf7d4499b-6dx9z          1/1     Running   0          121m
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐