我们知道Cluster是GoogleKubernetesEngine(简称GKE)的基础,代表容器化应用的Kubernetes对象都运行在集群之上。GoogleKubernetesEngine(GKE)提供了一个托管环境,开发人员可以在其中使用Google基础架构部署、管理和扩展容器化应用程序。GKE环境由多个ComputeEngine实例组成,这些实例组合起来形成一个GoogleKubernetes集群。SAPHANAExpression是SAPHANA的简化版本,旨在运行在笔记本电脑和其他主机上,包括云托管的虚拟机,当然,它也支持在本文刚刚描述的GoogleKubernetes集群上运行。该版本除了支持SAPHANA传统的内存数据库功能外,还提供bring-your-own-language等多种技术栈,支持微服务、预测分析和机器学习算法,以及用于构建洞察力的地理数据驱动应用空间处理等特性。本文将详细介绍如何在GoogleKubernetes集群上部署和使用HANA表达式数据库服务。在GoogleCloudPlatform上创建GoogleKubernetesCluster实例登录GoogleCloudPlatform控制台:点击控制台左上角的Hamburger菜单新建一个KubernetesCluster:维护Cluster名称,选择合适的版本,然后点击Customize进行自定义:指定Cluster的CPU和内存参数,选择Ubuntu作为操作系统。Cluster的大小设置为1,Cluster创建并部署成功后,点击Connect按钮进行连接。连接成功后,就可以使用CloudShell来操作集群了:CloudShell提供了一个命令行来与Cluster进行交互。在GoogleKubernetes集群上部署HANA表达式数据库服务使用以下命令创建一个秘密来获取Docker镜像:kubectlcreatesecretdocker-registrydocker-secret--docker-server=https://index.docker.io/v1/--docker-username=xxx--docker-password=yyyyyy--docker-email=jerry@gmail.com创建yaml格式的部署配置文件(DeploymentConfigurationFile)并保存为hxe.yaml文件:kind:ConfigMapapiVersion:v1metadata:creationTimestamp:2022-06-25T19:14:38Zname:hxe-passdata:password.json:|+{"master_password":"JERRYHana1"}---kind:PersistentVolumeapiVersion:v1metadata:name:persistent-vol-hxe标签:类型:localspec:storageClassName:手动容量:存储:150GiaccessModes:-ReadWriteOncehostPath:路径:“/data/hxe_pv”---种类:PersistentVolumeClaimapiVersion:v1metadata:名称:hxe-pvcspec:storageClassName:手动accessModes:-ReadsourceWriteOncererequests:storage:50Gi---apiVersion:apps/v1kind:部署mentmetadata:名称:hxe标签:名称:hxespec:选择器:matchLabels:运行:hxe应用程序:hxe角色:主层:后端副本:1模板:元数据:标签:运行:hxe应用程序:hxe角色:主层:后端规范:initContainers:-名称:安装图像:busybox命令:['sh','-c','chown12000:79/hana/mounts']volumeMounts:-名称:hxe-datamountPath:/hana/mountsvolumes:-名称:hxe-datapersistentVolumeClaim:claimName:hxe-pvc-名称:hxe-configconfigMap:名称:hxe-passimagePullSecrets:-名称:docker-secret容器:-名称:hxe-container图像:“store/saplabs/hanaexpress:2.00.030.00.20180403.2"端口:-容器端口:39013名称:端口1-容器端口:39015名称:port2-容器端口:39017名称:端口3-容器端口:8090名称:端口4-容器端口:39041名称:端口5-容器端口:59013名称:端口6参数:[“--agree-to-sap-license”,“--dont-check-system","--passwords-url","file:///hana/hxeconfig/password.json"]volumeMounts:-name:hxe-datamountPath:/hana/mounts-name:hxe-configmountPath:/hana/hxeconfig-名称:sqlpad-container图像:“sqlpad/sqlpad”端口:-容器端口:3000---apiVersion:v1kind:服务元数据:名称:hxe-connect标签:app:hxespec:类型:LoadBalancer端口:-端口:39013目标端口:39013名称:端口1-端口:39015目标端口:39015名称:端口2-端口:39017目标端口:39017名称:端口3-端口:39041目标端口:39041名称:port5选择器:app:hxe---apiVersion:v1kind:Servicemetadata:name:sqlpadlabels:app:hxespec:type:LoadBalancerports:-port:3000targetPort:3000protocol:TCPname:sqlpad选择器:app:hxe这个yaml文件HANAExpression的一个Docker镜像定义在:store/saplabs/hanaexpress:2.00.030.00.20180403.2使用如下命令行将这个Docker镜像部署到Kubernetes集群:kubectlcreate-fhxe.yamlkubectldescribepods等待部署到完成成功:执行命令Runkubectlgetpods,确保pod状态为Running,然后进入Pod容器:kubectlexec-it<
