k8s运行oracle

1、创建命名空间

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

2、创建.yaml文件

K8S安装Oracle11g
备注:端口1521 -> 31521

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: oracle-servername: oracle-servernamespace: oracle-server
spec:selector:matchLabels:app: oracle-servertemplate:metadata:labels:app: oracle-serverspec:containers:- image: registry.cn-hangzhou.aliyuncs.com/liyusoft/tool-oracle:v1.0.1imagePullPolicy: IfNotPresentname: oracle-serverports:- containerPort: 31521command: ['/assets/entrypoint.sh']env:- name: ORACLE_HOMEvalue: "/opt/oracle/app/product/11.2.0/dbhome_1"- name: ORACLE_SIDvalue: "orcl"volumeMounts:  #挂载持久存储卷 - name: oracle-volume #挂载设备的名字,与volumes[*].name 需要对应     mountPath: /opt/oracle/dpdump/1/dump_dir #挂载到容器的某个路径下   readOnly: truevolumes: #定义一组挂载设备   - name: oracle-volume #定义一个挂载设备的名字   hostPath:   path: /opt/ #挂载设备类型为hostPath,路径为宿主机下的/opt,这里设备类型支持很多种 

yaml文件注释

3、运行pod

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

4、进入pod

问题:

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"

解决方案:
需等待大约10分钟,正在拉取镜像

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、查看pod

ko describe pod oracle-server-56c657455b-7kfj6Name:         oracle-server-56c657455b-7kfj6
Namespace:    oracle-server
Priority:     0
Node:         */****
Start Time:   Wed, 06 Jul 2022 18:06:36 +0800
Labels:       app=oracle-serverpod-template-hash=56c657455b
Annotations:  
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://d001f4097d165fcb11203cd87df50308a9c4eb335ec9edb1f05373bbff7b9269Image:         registry.cn-hangzhou.aliyuncs.com/liyusoft/tool-oracle:v1.0.1Image ID:      docker-pullable://registry.cn-hangzhou.aliyuncs.com/liyusoft/tool-oracle@sha256:660da6cea178223432e406b95435bf0cd62d6ccc7a637f9f51d32e87a4fb54c7Port:          31525/TCPHost Port:     0/TCPCommand:/assets/entrypoint.shState:          RunningStarted:      Wed, 06 Jul 2022 18:15:41 +0800Ready:          TrueRestart Count:  0Environment:ORACLE_HOME:  /opt/oracle/app/product/11.2.0/dbhome_1ORACLE_SID:   orclMounts:/opt/oracle/dpdump/1/dump_dir from oracle-volume (ro)/var/run/secrets/kubernetes.io/serviceaccount from default-token-kzhg5 (ro)
Conditions:Type              StatusInitialized       True Ready             True ContainersReady   True PodScheduled      True 
Volumes:oracle-volume:Type:          HostPath (bare host directory volume)Path:          /opt/dump_dirHostPathType:  default-token-kzhg5:Type:        Secret (a volume populated by a Secret)SecretName:  default-token-kzhg5Optional:    false
QoS Class:       BestEffort
Node-Selectors:  
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300snode.kubernetes.io/unreachable:NoExecute for 300s
Events:          

6、查看日志

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

7、删除pod

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

问题:删除后又自己重启了

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

解决方案1:不行!

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

解决方案2:删除命名空间

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部