当前位置:网站首页>K8s running Oracle

K8s running Oracle

2022-07-07 06:13:00 Drunken Xiaobai

1、 Create a namespace

alias k='kubectl'
k create ns oracle-server
k get ns

2、 establish .yaml file

K8S install Oracle11g
remarks : port 1521 -> 31521

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: 31521
        command: ['/assets/entrypoint.sh']
        env:
        - name: ORACLE_HOME
          value: "/opt/oracle/app/product/11.2.0/dbhome_1"
        - name: ORACLE_SID
          value: "orcl"
        volumeMounts:  # Mount persistent storage volumes  
        - name: oracle-volume # The name of the mounted device , And volumes[*].name  Need corresponding      
          mountPath: /opt/oracle/dpdump/1/dump_dir # Mount to a path of the container    
          readOnly: true
      volumes: # Define a set of Mount Devices    
      - name: oracle-volume # Define the name of a mounted device    
        hostPath:   
          path: /opt/ # The mounted device type is hostPath, The path is under the host /opt, There are many types of devices here  

yaml File Comments

3、 function pod

k apply -f oracle.yaml
alias ko='k -n oracle-server'

4、 Get into pod

problem :

Error from server (BadRequest): container "oracle-server" in pod "oracle-server"  is waiting to start: trying and failing to pull image.
  Normal  Pulling    3m5s  kubelet            Pulling image "registry.cn-hangzhou.aliyuncs.com/liyusoft/tool-oracle:v1.0.1"

Solution :
Need to wait about 10 minute , Pulling image

ko get pod
NAME                             READY   STATUS    RESTARTS   AGE
oracle-server-56c657455b-7kfj6   1/1     Running   0          4h21m
kubectl exec -it oracle-server-56c657455b-7kfj6  bash

5、 see pod

ko describe pod oracle-server-56c657455b-7kfj6

Name:         oracle-server-56c657455b-7kfj6
Namespace:    oracle-server
Priority:     0
Node:         */**** Start Time: Wed, 06 Jul 2022 18:06:36 +0800 Labels: app=oracle-server pod-template-hash=56c657455b Annotations: <none> Status: Running IP: 10.244.0.105 IPs: IP: 10.244.0.105 Controlled By: ReplicaSet/oracle-server-56c657455b Containers: oracle-server: Container ID: docker://d001f4097d165fcb11203cd87df50308a9c4eb335ec9edb1f05373bbff7b9269 Image: registry.cn-hangzhou.aliyuncs.com/liyusoft/tool-oracle:v1.0.1 Image ID: docker-pullable://registry.cn-hangzhou.aliyuncs.com/liyusoft/[email protected]:660da6cea178223432e406b95435bf0cd62d6ccc7a637f9f51d32e87a4fb54c7 Port: 31525/TCP Host Port: 0/TCP Command: /assets/entrypoint.sh State: Running Started: Wed, 06 Jul 2022 18:15:41 +0800 Ready: True Restart Count: 0 Environment: ORACLE_HOME: /opt/oracle/app/product/11.2.0/dbhome_1 ORACLE_SID: orcl Mounts: /opt/oracle/dpdump/1/dump_dir from oracle-volume (ro) /var/run/secrets/kubernetes.io/serviceaccount from default-token-kzhg5 (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: oracle-volume: Type: HostPath (bare host directory volume) Path: /opt/dump_dir HostPathType: default-token-kzhg5: Type: Secret (a volume populated by a Secret) SecretName: default-token-kzhg5 Optional: false QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s node.kubernetes.io/unreachable:NoExecute for 300s Events: <none> 

6、 Check the log

ko logs -f oracle-server-56c657455b-7kfj6

7、 Delete pod

ko delete pod oracle-server-56c657455b-7kfj6
pod "oracle-server-56c657455b-7kfj6" deleted

problem : After deletion, I restarted myself

ko get deployments
NAME            READY   UP-TO-DATE   AVAILABLE   AGE
oracle-server   1/1     1            1           4h44m

Solution 1: no way !

ko delete pod oracle-server-56c657455b-lffbf --force --grace-period=0
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "oracle-server-56c657455b-lffbf" force deleted
ko get pod
Unable to connect to the server: net/http: TLS handshake timeout
ko get pod
Error from server (Timeout): the server was unable to return a response in the time allotted, but may still be processing the request (get pods)
You have new mail in /var/spool/mail/root
ko get pod
NAME                             READY   STATUS    RESTARTS   AGE
oracle-server-56c657455b-cwcnt   1/1     Running   0          3m48s

Solution 2: Delete namespace

ko delete --all pods
Error from server (Timeout): the server was unable to return a response in the time allotted, but may still be processing the request (get pods)
kubectl delete ns oracle-server
namespace "oracle-server" deleted
You have new mail in /var/spool/mail/root
原网站

版权声明
本文为[Drunken Xiaobai]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207070102560970.html