1. 离线下载镜像,请点击
2. 官网下载镜像
https://www.kingbase.com.cn/xzzx/index.htm,根据自己的需求下载对应版本。
3. K8S需要的yaml清单
cat > kingbase.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: kingbase-v9
spec:
replicas: 1
selector:
matchLabels:
app: kingbase
template:
metadata:
labels:
app: kingbase
spec:
#nodeName: k8s-ke-edge1 指定调度到服务器
containers:
- name: kingbase-v9 # 指定容器的名称,此处可以自定义一个名称
image: kingbasees/kingbase:v9 # 指定容器的镜像
imagePullPolicy: IfNotPresent
env:
- name: DB_USER
value: "kingbase"
- name: DB_PASSWORD
value: "123456"
- name: DB_MODE
value: "oracle"
ports:
- containerPort: 54321 # 指定了容器内部监听的端口号
---
apiVersion: v1
kind: Service # 指定了要创建的资源类型为Service,用于暴露应用程序的端口
metadata:
name: kingbase-v9-service
spec:
type: NodePort #指定了Service的类型为NodePort,将服务暴露到集群中的每个节点上
selector: # 定义了选择器,用于选择要管理的Pod
app: kingbase # 指定了要选择的Pod必须具有标签"app",其值为"gznginx"
ports:
- name: kingbase-v9 # 指定了要暴露的端口的名称,此处可以自定义一个名称
port: 54321 # 指定了容器内部监听的端口号
targetPort: 54321 #指定了容器内部要转发到的目标端口号
#nodePort: 31086 #指定了在集群中暴露的端口号(也就是外面访问的端口号,注意此处的有效端口范围是30000-32767)
EOF
kubectl apply -f kingbase.yaml
kubectl get pods,svc
[root@k8s-ke-cloud mqq]# kubectl get pods,svc
NAME READY STATUS RESTARTS AGE
pod/kingbase-v9-7cc5bdff59-pfggh 1/1 Running 0 4m51s
pod/my-nginx 1/1 Running 0 45m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kingbase-v9-service NodePort 10.96.143.210 <none> 54321:31147/TCP 4m51s
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 193d
[root@k8s-ke-cloud mqq]#
4. 验证
账号:kingbase
密码:12456
端口: 31147
初始数据库: test