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