首页 > 其他分享 >Kubernetes 1.25 containerd 环境部署 SuperMap iManager

Kubernetes 1.25 containerd 环境部署 SuperMap iManager

时间:2024-09-07 17:53:04浏览次数:12  
标签:imanager SuperMap false iManager Kubernetes deploy disable port

超图官网目提供的Kubernetes 版本为 1.20 版本,容器运行时为 docker

本次部署使用已有的 Kubernetes 1.25 版本集群,容器运行时为 containerd
Kubernetes ,containerd 部署请自行了解,本次不做介绍,下面介绍在此环境上如何部署 iManager 11i 并创建云套件

1. 环境介绍

虚拟机

CPU

内存

操作系统

Kubernetes

k8s master

华为鲲鹏 920(64 核)

64GB

Kylin 10SP1 64 bit with ARM

1.25

k8s node1

华为鲲鹏 920(64 核)

64GB

Kylin 10SP1 64 bit with ARM

1.25

k8s node2

华为鲲鹏 920(64 核)

64GB

Kylin 10SP1 64 bit with ARM

1.25

registry,nfs

华为鲲鹏 920(64 核)

64GB

Kylin 10SP1 64 bit with ARM

2. 软件包准备

  1. supermap-imanager-for-kubernetes-registry-all-11.1.1-linux-arm64.tar.gz
  2. supermap-imanager-for-kubernetes-11.1.1-linux-arm64.tar.gz

文件提取地址: iManager 部署包 - 百度网盘icon-default.png?t=O83Ahttps://pan.baidu.com/s/1lWLyyT1jAbADGuxEG3m4gA

提取码:ge4d

3. iManager 私有镜像仓库

3.1. 仓库部署

准备一台有 docker 的服务器,用于部署 iManager 私有镜像仓库。

3.1.1. 解压镜像包

将镜像包放置在服务器的任意目录,如:/home/,使用以下命令解压(若 实际包名与示例中的包名不一致,在执行命令时请替换为实际包名):

tar -zvxf supermap-imanager-for-kubernetes-registry-all-11.1.1-linux-arm64.tar.gz

3.1.2. 进入解压后目录

cd supermap-imanager-for-kubernetes-registry-all-11.1.0-linux-x64

3.1.3. 安装镜像库

chmod +x startup.sh && ./startup.sh

安装后可以看到registry的镜像和容器:

3.1.4. 验证镜像仓库

docker pull IP:5000/supermap/scratch:latest-amd64
# 其中为仓库所在主机IP ,如果结果无error,则表示启动成功

3.2. k8s 所有节点添加私有仓库地址

3.2.1. 编辑config.toml

vi /etc/containerd/config.toml

添加如下内容:

[plugins."io.containerd.grpc.v1.cri".registry.configs."IP:5000".auth]   # 其中为仓库所在主机IP
            username = "supermap"
            password = "supermap"

3.2.2. 添加仓库 hosts.toml

进入certs.d文件夹,添加如下内容:

cd /etc/containerd/certs.d

添加文件夹:仓库IP:5000

在文件夹192.168.12.161:5000下添加文件hosts.toml,内容如下:

server = "http://192.168.12.161:5000"

[host."http://192.168.12.161:5000"]
capabilities = ["pull", "resolve", "push"]
skip_verify = true

3.2.3. 重启containerd服务

systemctl restart containerd

4. 部署 iManager

4.1. 解压iManager安装包

将 iManager 包放置在在Kubernetes master 节点所在服务器的任意目录,如:/home/,使用以下命令解压(若 实际包名与示例中的包名不一致,在执行命令时请替换为实际包名)

tar -zvxf supermap-imanager-for-kubernetes-11.1.1-linux-arm64.tar.gz

4.2. 编辑 iManager 配置文件

cd /nas/SuperMap/IManager/supermap-imanager-for-kubernetes-11.1.1-linux-arm64
vi values.yaml

修改内容:

deploy_registry: 192.168.2.90:5000   #必填,iManager镜像仓库的地址,用于拉取部署iManager所需镜像
deploy_kubernetes_public_ip: 192.168.2.7  # 必填,外部访问Kubernetes时用的IP
deploy_nfs_server: sealos.hub  # NFS Server地址,NFS Server用于存储iManager数据,可以是IP或者域名
deploy_nfs_path: /Imanager  # NFS Server提供挂载的路径,默认根路径(/)

 # 选填,是否禁用iManager的Ingress控制器,禁用将不能设置域名,取值范围:[true|false]。默认为false;
 # 如果Kubernetes版本为1.19以下,将不支持Ingress功能,需禁用Ingress控制器;
 # true:禁用Ingress控制器;
 # false:开启Ingress控制器。
deploy_disable_ingress: true
deploy_domain_ip: 192.168.2.7  # 选填,iManager创建的GIS云套件配置域名时必填,GIS云套件域名映射的Kubernetes节点IP(即域名在DNS服务器上配置指向的IP)。默认使用第一个Kubernetes节点IP。

 # 选填,是否禁用metrics_server服务,metrics_server用于Kubernetes资源监控,可支撑动态伸缩功能。取值范围:[true|false]。默认false;
 # 如果您配置的是私有仓库,并开启metrics_server服务,需在Kubernetes中kube-system所在命名空间下创建与Secret同名的资源,详情请参见教程->附录->常见问题解答->问题6;
 # true:禁用metrics_server服务;
 # false:开启metrics_server服务。
deploy_disable_metrics_server: true

完整描述参考:安装iManagericon-default.png?t=O83Ahttps://help.supermap.com/iManager_K8S/1111/zh/guides/InstalliManager/

实际修改后内容如下:

deploy_registry: 192.168.2.90:5000
deploy_kubernetes_public_ip: 192.168.2.7
deploy_imanager_user_name: admin
deploy_nfs_server: sealos.hub
deploy_nfs_path: /Imanager
deploy_kubernetes_master_url: https://kubernetes.default.svc
deploy_disable_ingress: true
deploy_domain_ip: 192.168.2.7
deploy_storage_class_name: 
deploy_namespace: supermap
deploy_image_pull_policy: IfNotPresent
deploy_image_pull_secret: image-pull-secret
deploy_image_namespace: supermap
deploy_service_type: NodePort
deploy_imanager_service_protocol: http
deploy_cpu_limit: 2
deploy_memory_limit: 4Gi
deploy_iserver_tag: 11.1.1-arm64
deploy_iportal_tag: 11.1.1-arm64
deploy_idesktop_tag: 11.1.1-arm64
deploy_gis_app_tag: 11.1.1-arm64
deploy_imanager_port: 31100
deploy_disable_bslicense_local_volume: false
deploy_disable_hbase_nfs_volume: false
deploy_disable_weixin_hook: false
deploy_weixin_token: 
deploy_weixin_corp_id: 
deploy_weixin_encoding_aes_key: 
deploy_weixin_to_party: 
deploy_weixin_agent_id: 
deploy_weixin_api_secret: 
deploy_disable_web_hook: false
deploy_dingtalk_webhook: 
deploy_dingtalk_secret: 
deploy_timezone: Asia/Shanghai
deploy_async_function_enabled: 
deploy_sync_function_enabled:
deploy_disable_bslicense: false
deploy_bslicense_server_host:
deploy_bslicense_server_port:
deploy_bslicense_ui_host:
deploy_bslicense_ui_port:
deploy_disable_imanager_database: false
deploy_imanager_database_type: mariadb
deploy_imanager_database_host: 
deploy_imanager_database_port: 
deploy_imanager_database_username: 
deploy_imanager_database_password: 
deploy_disable_imanager_phpmyadmin: false
deploy_imanager_phpmyadmin_host:
deploy_imanager_phpmyadmin_port:
deploy_disable_imanager_gateway_redis: false
deploy_imanager_gateway_redis_host:
deploy_imanager_gateway_redis_port:
deploy_imanager_gateway_redis_username:
deploy_imanager_gateway_redis_password:
deploy_disable_keycloak: false
deploy_keycloak_host:
deploy_keycloak_port:
deploy_keycloak_admin_username:
deploy_keycloak_admin_password:
deploy_disable_keycloak_postgresql: false
deploy_keycloak_postgresql_host: 
deploy_keycloak_postgresql_port: 
deploy_keycloak_postgresql_username: 
deploy_keycloak_postgresql_password: 
deploy_disable_fluentd_es: false
deploy_disable_elasticsearch: false
deploy_elasticsearch_host:
deploy_elasticsearch_tcp_port:
deploy_elasticsearch_rest_port:
deploy_disable_kibana: false
deploy_kibana_host:
deploy_kibana_port:
deploy_kibana_context_path:
deploy_disable_consul_server: false
deploy_consul_server_host:
deploy_consul_server_port:
deploy_disable_prometheus: false
deploy_disable_alert: false
deploy_disable_prometheus_node_exporter: false
deploy_disable_metrics_server: true
deploy_disable_kube_state_metrics: false
deploy_disable_blackbox_exporter: false
deploy_disable_ssl_exporter: false
deploy_ssl_exporter_host:
deploy_ssl_exporter_port:
deploy_disable_grafana: false
deploy_grafana_host:
deploy_grafana_port:
deploy_grafana_context_path:
deploy_disable_grafana_postgresql: false
deploy_grafana_postgresql_host:
deploy_grafana_postgresql_port:
deploy_grafana_postgresql_username:
deploy_grafana_postgresql_password:
deploy_disable_k8s_dashboard: false
deploy_k8s_dashboard_host:
deploy_k8s_dashboard_port:
#affinity:
# nodeAffinity:
#    requiredDuringSchedulingIgnoredDuringExecution:
#      nodeSelectorTerms:
#        - matchExpressions:
#            - key: kubernetes.io/hostname
#              operator: Exists
#tolerations:
#  - key: "key1"
#    operator: "Equal"
#    value: "value1"
#    effect: "NoExecute"
#    tolerationSeconds: 3600

根据实际情况修改 values.yaml 文件

4.3. 安装 iManager

cd supermap-imanager-for-kubernetes-11.1.1-linux-arm64
chmod +x startup.sh && ./startup.sh

部署后会在k8s创建supermap的名称空间:

等待所有安装进度完成 pod 全部启动后访问 IP:31100,会自动跳转到许可中心页面,点击下载报告按钮下载 reportc 报告文件,通过报告文件申请许可文件(web 许可,*.licc)

许可导入后进入 iManager 概览页

5. 创建 SuperMap GIS 云套件

  1. 打开iManager左侧导航栏站点管理
  2. 点击+ 创建
  3. 对GIS服务进行命名,并选择站点类型为GIS云套件

具体参数参考:

GIS云套件创建icon-default.png?t=O83Ahttps://help.supermap.com/iManager_K8S/1111/zh/tutorial/CreateGISMicroService/

此时 k8s 会新建 icloud-native-* 命名空间,可以前往 kuboard 查看部署状态

等待部署完成后即可使用云套件了

云套件具体用户手册参考:GIS云套件-用户手册icon-default.png?t=O83Ahttps://help.supermap.com/iManager_K8S/1111/zh/microservices/MicroserviceIntro/

6. 要点总结

containerd 兼容 docker 容器,所以与 iManager 官网部署流场区别不大,主要有两点要注意:

k8s 所有节点都要手动添加 iManager 私有仓库地址

iManager 配置文件差异需要启用 deploy_disable_ingress 与 deploy_disable_metrics_server

标签:imanager,SuperMap,false,iManager,Kubernetes,deploy,disable,port
From: https://blog.csdn.net/CleverGerhard/article/details/141472737

相关文章

  • Minikube Install Kubernetes v1.18.1
    文章目录简介安装工具配置代理运行集群检查集群加入rancher简介模拟客户环境,测试kubernetesv1.18.x是否可以被rancherv2.9.1纳管。安装工具docker安装InstallandSetUpkubectlonLinux安装minikube配置代理dockerproxylinuxproxy运行集群$minikubestart--drive......
  • Kubernetes 简介及部署方法
    目录1Kubernetes简介及原理1.1 应用部署方式演变1.2容器编排应用1.3kubernetes简介1.4K8S的设计架构1.5K8S各组件之间的调用关系1.6K8S的常用名词感念1.7k8S的分层架构2K8S集群环境搭建2.1k8s中容器的管理方式2.2k8s中使用的几种管......
  • kubernetes 中 利用yaml文件部署应用
    目录1用yaml文件部署应用有以下优点1.1声明式配置:1.2灵活性和可扩展性:1.3与工具集成:2资源清单参数介绍2.1获得资源帮助指令explain2.2编写示例2.2.1示例1:运行简单的单个容器pod2.2.2 示例2:运行多个容器pod2.2.3示例3:理解pod间的网络整合2.2.4......
  • 【第97课】云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
    免责声明本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。文中所涉......
  • D20 kubernetes 工作负载资源对象-Deployment
    1、Deployment简介 Deployment是kubernetes中最常用的工作负载资源,具有以下特点和功能-副本管理:确保指定数量的pod副本在集群中运行。如果pod副本数小于期望值,则会自动创建pod;如果pod的副本数多余期望值,则删除多余的pod-滚动更新:采用滚动更新策略,逐步进行新旧版本pod的替换......
  • Kubernetes学习指南:保姆级实操手册07——calico安装、metric-server安装
    七、Kubernetes学习指南:保姆级实操手册07——calico安装、metric-server安装一、calicoCalico是一个开源的虚拟化网络方案,支持基础的Pod网络通信和网络策略功能。官方文档:https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart1、calico安装###在Master控......
  • D19 kubernetes 工作负载资源对象
    在kubernetes中,通常不会直接创建pod。都是使用工作负载资源deployment、statefulset来创建和管理pod。这种方式简化了pod的管理,提供了诸多如多副本、滚动和更新、回滚和自动扩展等告警功能,使得部署和管理应用程序变得方便和搞笑工作负载资源概述工作负载资源是kubernetes......
  • 【K8s】专题十三:Kubernetes 容器运行时之 Docker 与 Containerd 详解
    本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口Linux专栏 | Docker专栏 | Kubernetes专栏往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决方法【Docker】(全网首发)Kyli......
  • D18 kubernetes Pod资源对象有哪些重点需要了解的
    pod资源对象的着重需要了解的有:pod资源的概念、设计模式、基本管理操作、常用字段配置以及生命周期管理。具体如下-pod允许定义多个容器,这些容器之间存在密切协作关系。pod主要为它们提供可交互的环境,包括共享网络和共享存储-启动容器时可通过command和args字段来执行命令或传......
  • Kubernetes-etcd备份恢复
    目录使用etcdctl备份与恢复简介集群信息etcdctl安装下载安装同步到其他节点配置环境变量查看集群状态查看所有key查看指定key备份所有节点创建备份目录备份etcd数据恢复删除资源所有master节点停止etcd所有master节点备份原有数据master01恢复master02恢复master03恢复所有节点启......