在 Kubernetes 环境中部署 SuperMap iServer

        在当今快速发展的技术环境中,Kubernetes(K8s)已成为容器管理和编排的首选平台。在本博客中,我们将探讨在 Kubernetes 环境中部署 SuperMap iServer 的两种方式:通过可视化 K8s 管理平台 Kuboard 和通过 YAML 配置文件。

注意:经典版 iServer 并未作云原生适配,因此无法创建多副本的应用,如有多副本需求,请选择SuperMap GIS云套件

1. 通过可视化 K8s 管理平台部署

        Kuboard是一款功能强大的 Kubernetes 可视化管理平台,能够简化 K8s 资源的管理和配置。下面是通过 Kuboard 部署 SuperMap iServer 的步骤:

步骤 1:准备工作

  • 确保您已有一个运行中的 Kubernetes 集群,并能访问 Kuboard。
  • 登录 Kuboard 平台,准备进行应用的创建。

步骤 2:创建部署

1、在 Kuboard 集群概览界面中,创建命名空间

2、进入命名空间,选择“创建工作负载”,进入详细配置页面

3、设置工作负载的基本信息,选择“有状态副本集”,设置工作负载名称

4、设置容器信息,添加工作容器,依次设置名称、镜像地址、容器端口

5、设置存储挂载,添加iserverOPTs的持久化目录

6、保存完毕后,等待容器自行启动即可。

步骤 3:验证部署

  • 在 Kuboard 中查看应用日志,确保 iServer 正在正常运行。

  • 使用浏览器访问服务地址以验证 iServer 是否可用。

2. 通过 YAML 文件部署

如果您希望通过脚本化的方式管理 Kubernetes 资源,可以使用 YAML 文件进行部署。以下是使用 YAML 文件部署 SuperMap iServer 的步骤:

步骤 1:创建 Deployment 文件

创建一个名为 iserver-deployment.yaml 的文件,内容如下:

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/name: iserver-dep
  name: iserver-dep
  namespace: spark
  resourceVersion: '2285001'
spec:
  podManagementPolicy: OrderedReady
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s.kuboard.cn/name: iserver-dep
  serviceName: iserver-dep
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s.kuboard.cn/name: iserver-dep
    spec:
      containers:
        - env:
            - name: SUPERMAP_JAVA_OPTS
              value: '-Xms4g -Xmx8g'
            - name: TZ
              value: Asia/Shanghai
          image: 'registry.cn-beijing.aliyuncs.com/supermap/iserver:11.2.1-amd64'
          imagePullPolicy: IfNotPresent
          name: iserver-dep
          ports:
            - containerPort: 8090
              hostPort: 8090
              name: p1
              protocol: TCP
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: /opt/iserverOPTs
              name: volume-opts
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
        - hostPath:
            path: /opt/iserverOPTs
            type: ''
          name: volume-opts
  updateStrategy:
    rollingUpdate:
      partition: 0
    type: RollingUpdate

步骤 2:应用配置

在终端中,运行以下命令应用您的配置:

kubectl apply -f iserver-deployment.yaml

步骤 3:验证部署

使用以下命令查看 Pod 状态,确保 iServer 正在运行:

kubectl get pods -n spark | grep iserver

您可以通过浏览器访问服务地址来验证 iServer 的可用性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃辣我第一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值