欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Google Cloud platform上的Kubernetes集群部署HANA Express googlekubernetessapSAP成都研究院SAP Cloud Platform 

程序员文章站 2024-01-13 18:57:40
...

在Google Cloud platform的Kubernetes cluster上,新建一个hxe.yaml文件:

在Google Cloud platform上的Kubernetes集群部署HANA Express
            
    
    
        googlekubernetessapSAP成都研究院SAP Cloud Platform 

将如下内容拷贝进yaml文件:

kind: ConfigMap
apiVersion: v1
metadata:
  creationTimestamp: 2018-01-18T19:14:38Z
  name: hxe-pass
data:
  password.json: |+
    {"master_password" : "HXEHana1"}
---
kind: PersistentVolume
apiVersion: v1
metadata:
  name: persistent-vol-hxe
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 150Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/data/hxe_pv"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: hxe-pvc
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hxe
  labels:
    name: hxe
spec:
  selector:
    matchLabels:
      run: hxe
      app: hxe
      role: master
      tier: backend
  replicas: 1
  template:
    metadata:
      labels:
        run: hxe
        app: hxe
        role: master
        tier: backend
    spec:
      initContainers:
        - name: install
          image: busybox
          command: [ 'sh', '-c', 'chown 12000:79 /hana/mounts' ]
          volumeMounts:
            - name: hxe-data
              mountPath: /hana/mounts
      volumes:
        - name: hxe-data
          persistentVolumeClaim:
             claimName: hxe-pvc
        - name: hxe-config
          configMap:
             name: hxe-pass
      imagePullSecrets:
      - name: docker-secret
      containers:
      - name: hxe-container
        image: "store/saplabs/hanaexpress:2.00.033.00.20180925.2"
        ports:
          - containerPort: 39013
            name: port1
          - containerPort: 39015
            name: port2
          - containerPort: 39017
            name: port3
          - containerPort: 8090
            name: port4
          - containerPort: 39041
            name: port5
          - containerPort: 59013
            name: port6
        args: [ "--agree-to-sap-license", "--dont-check-system", "--passwords-url", "file:///hana/hxeconfig/password.json" ]
        volumeMounts:
          - name: hxe-data
            mountPath: /hana/mounts
          - name: hxe-config
            mountPath: /hana/hxeconfig
      - name: sqlpad-container
        image: "sqlpad/sqlpad"
        ports:
        - containerPort: 3000


---
apiVersion: v1
kind: Service
metadata:
  name: hxe-connect
  labels:
    app: hxe
spec:
  type: LoadBalancer
  ports:
  - port: 39013
    targetPort: 39013
    name: port1
  - port: 39015
    targetPort: 39015
    name: port2
  - port: 39017
    targetPort: 39017
    name: port3
  - port: 39041
    targetPort: 39041
    name: port5
  selector:
    app: hxe
---
apiVersion: v1
kind: Service
metadata:
  name: sqlpad
  labels:
    app: hxe
spec:
  type: LoadBalancer
  ports:
  - port: 3000
    targetPort: 3000
    protocol: TCP
    name: sqlpad
  selector:
    app: hxe

在Google Cloud platform上的Kubernetes集群部署HANA Express
            
    
    
        googlekubernetessapSAP成都研究院SAP Cloud Platform 

第77行指定了HANA express对应的容器镜像文件:

"store/saplabs/hanaexpress:2.00.033.00.20180925.2"

使用命令行创建资源:

kubectl create -f hxe.yaml:

在Google Cloud platform上的Kubernetes集群部署HANA Express
            
    
    
        googlekubernetessapSAP成都研究院SAP Cloud Platform 

创建成功,使用命令行kubectl describe pods查看成功创建的资源:

在Google Cloud platform上的Kubernetes集群部署HANA Express
            
    
    
        googlekubernetessapSAP成都研究院SAP Cloud Platform 

使用命令行查看数据库是否成功启动:

kubectl logs deployment/hxe -c hxe-container

看到startup finished的消息,说明启动成功:

在Google Cloud platform上的Kubernetes集群部署HANA Express
            
    
    
        googlekubernetessapSAP成都研究院SAP Cloud Platform 

使用命令行进入pod内部,得到shell:

kubectl exec -it <<pod-name>> bash

在Google Cloud platform上的Kubernetes集群部署HANA Express
            
    
    
        googlekubernetessapSAP成都研究院SAP Cloud Platform 

打开SQL console:

hdbsql -i 90 -d systemdb -u SYSTEM -p HXEHana1

在Google Cloud platform上的Kubernetes集群部署HANA Express
            
    
    
        googlekubernetessapSAP成都研究院SAP Cloud Platform