ArcGIS Enterprise on Kubernetes 11.0安装示例
博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬
目录
- 安装前置条件
- 基本安装
- 解压文件
- 生成秘钥
- 执行安装脚本
- 配置DNS
- 方法一
- 方法二
- 挂载nfs共享目录
- 生成存储类
- 创建ArcGIS Enterprise组织
- 安装完成
- 与安装10.9.1的差异
ArcGIS Enterprise on Kubernetes 作为一个面向 ArcGIS Enterprise 制图和分析软件的部署选项,现已经迭代到 11.0 。本文将介绍该版本的安装。
安装前置条件
1.安装好K8S集群,要求版本是1.19以上。集群配置的要求见下表:
| 架构配置文件 | 最低工作节点 | 最低CPU总数 | 最低GiB总数 |
|---|---|---|---|
| 增强可用性 | 5 | 40 | 160 |
| 标准可用性 | 4 | 32 | 128 |
| 开发 | 3 | 24 | 96 |
架构配置文件描述了不同的可用等级,也对集群的资源提出了不同的要求。这个是在创建ArcGIS Enterprise组织时进行选择。
值得注意的是,相对于10.9.1,当前版本对集群配置的要求是更高的。
2.准备有nfs服务器,存储空间在50G以上。
3.准备有带访问密码的ArcGIS Enterprise on Kubernetes的镜像仓库,且所有K8S节点的容器运行时,都已经登录连接到镜像仓库。
4.看K8S集群上创建有用于部署ArcGIS Enterprise on Kubernetes的namespace。
基本安装
解压文件
在部署有kubectl的机器上,执行解压安装包。

生成秘钥
在后续的安装过程中需要一个秘钥,可以通过安装包下的tools/password-encrypt/password-encrypt.sh进行生成。具体方式如下图,其中的“123456789”只是一个示例,您可以自定义改动,“您的密码”所在的地方应该填写您设置的具体密码(支持汉字,需保留引号)。
最后输出的字符串就是您所需的密钥,您需要复制它,并将其写入到一个文件中。本示例中存储在/root/EncryptionKeyfile,您需要记住这个路径,并在执行安装脚本时按提示填入。

以上仅仅是一个示例,图中生成密钥的各项参数和输出的密钥从未被我应用在任何软件环境中。在您生成秘钥时,请填入与本文不同的、有足够复杂度的参数,以保证您的软件环境的安全性。
执行安装脚本
回到arcgis-enterprise/1091/setup路径下,执行deploy.sh脚本。
在脚本运行过程中,可参考下图中填入的信息。Registry password的值被隐藏,其值为您本地仓库的密码。除此之外的空白处都是按回车键跳过。


配置DNS
方法一
使用已分配静态 IP 和域名系统 (DNS) 的预配置负载均衡器
方法二
创建 DNS 记录以访问集群。
1.编辑k8s的System命名空间的Config Maps中的coredns。
增加如下信息:
hosts {<master节点IP> <Master节点全限定域名>fallthrough}
如图所示:

2.编辑名为arcgis-ingress-nginx的Service。增加如下内容:
externalIPs:- <master节点IP>
如图所示:

挂载nfs共享目录
将事先准备好的nfs服务器中的共享目录挂载到k8s集群的各个节点上。如果对nfs不了解,可以自行百度,网上介绍很多,也容易操作。
生成存储类
复制下面的代码,按照您的实际情况修改46-56行之间的部分内容。在部署有kubectl的计算机上,将上述修改后的结果写入到nfs.yaml文件(最好用cat>nfs.yaml的方式写入文件,而不要上传文件),并运行: kubuctl apply -f nfs.yaml
apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:- kind: ServiceAccountname: admin-usernamespace: default---
kind: Deployment
apiVersion: apps/v1
metadata:name: nfs-provisionernamespace: default
spec:replicas: 1strategy:type: Recreateselector:matchLabels:app: nfs-provisionertemplate:metadata:labels:app: nfs-provisionerspec:serviceAccount: admin-usercontainers:- name: nfs-provisionerimage: registry.cn-beijing.aliyuncs.com/mydlq/nfs-subdir-external-provisioner:v4.0.0volumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: nfs.k8sdata- name: NFS_SERVERvalue: 192.168.130.96- name: NFS_PATHvalue: /nfs/k8svolumes:- name: nfs-client-rootnfs:server: 192.168.130.96path: /nfs/k8s---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: geoscenelabels:addonmanager.kubernetes.io/mode: Reconcile
provisioner: nfs.k8sdata
reclaimPolicy: Retain
创建ArcGIS Enterprise组织
打开https://<master节点全限定域名>/arcgis/manager完成配置和第二阶段的部署。配置过程使用默认配置,仅需要点击“下一步”或“继续”









安装完成
出现如下页面,即表示安装完成,可以直接点击 ArcGIS Enterprise Manager、ArcGIS Enterprise 门户的链接进行访问和使用。



与安装10.9.1的差异
本版本的安装流程与ArcGIS Enterprise on Kubernetes 10.9.1基本一致。仅在以下三个方面存在差异:
- 对k8s集群的资源要求不一样。与10.9.1相比,11.0的需要更多的集群资源。
- 11.0 新增了由用户管理的存储。
- 11.0 在安装脚本的交互上做了一些优化。
如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。
相关文章:
ArcGIS Enterprise on Kubernetes 11.0安装示例
博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录安装前置条件基本安装解压文件生成秘钥执行安装脚本配置DNS方法一方法二…...
js 防抖函数 节流函数
某些事件中(如 onresize onscroll onkeydown onkeyup onmousemove …),会连续触发函数的执行,如果函数执行一些耗时的操作(如请求数据…),会影响性能,也有可能造成服务器压力。这时可以用 防抖函数 或 节流函数解决这种问题。 防…...
Yarn节点unhealthy解决办法
这几天用Spark计算任务时,发现yarn上有两个节点不参与计算,很是tm的离谱。使用下面的命令查看Yarn上的nodemanager节点状态yarn node -list -all发现两个节点处于unhealthy状态。经过Google查明原因:这种情况一般是因为那个节点上HDFS文件过多…...
【jumpServer 功能梳理】
用户管理 1.1 用户列表 创建jumpServe 账号 ;角色分为用户 管理员;更新账号信息;查看用户详情以及授权的资产; 1.2 用户组 用户组,这个组的意义在于用一个统称对接资源;用户组包含多个用户,可以操作增加删除…...
中国各省人力资本测算就业人员受教育程度构成(2000-2021年)
数据来源:自主整理 时间跨度:2000-2021年 区域范围:全国各省 指标说明: 人力资本测算公式:(小学*6初中*9高中*12大专及以上*16)/六岁及以上人口 参考文献: [1]罗仁福, 刘承芳,…...
java面试题-集合篇
Collection1.Collection有哪些类?Java集合框架中的Collection接口是所有集合类的基础接口,定义了一些基本的集合操作,如添加元素、删除元素、判断是否包含某个元素等。常见的集合类包括List、Set和Queue。ListList接口定义了按照索引访问和操…...
Python 异步: 同时运行多个协程(10)
asyncio 的一个好处是我们可以同时运行许多协程。这些协同程序可以在一个组中创建并存储,然后同时一起执行。这可以使用 asyncio.gather() 函数来实现。 让我们仔细看看。 1. 什么是 Asyncio gather() asyncio.gather() 模块函数允许调用者将多个可等待对象组合在一…...
SVN 获取多版本间的更新内容
文章目录背景介绍操作步骤 - 获取某段时间内的代码更新内容背景介绍 公司有个项目期初明确要做微信小程序,没有做其他端的意向,并且当时团队人数有限,没有项目实践过 uniapp,项目时间周期紧,就没有用 uniapp 去实现 然…...
c++ const使用说明
作⽤ 1. 修饰变量,说明该变量不可以被改变; 2. 修饰指针,分为指向常量的指针和指针常量; 3. 常量引⽤,经常⽤于形参类型,即避免了拷⻉,⼜避免了函数对值的修改; 4. 修饰成员函数…...
VSTO 开发 EXCEL 委托与多线程的极简示例
VSTO 开发 EXCEL 委托与多线程的极简示例问题解决步骤代码问题 这几天做 excel 加载项时遇到一个问题,对话框弹窗显示后,需要等待网络数据的返回来填充 ListBox 控件,由于网络延迟问题,整个窗体连带 Excel 一起白屏卡顿 5-10秒&a…...
spring之使用Spring的AOP
文章目录前言一、准备工作1、添加相应的依赖2、添加相应的命名空间3、创建目标类4、创建切面二、使用AOP1.在切面类中编写增强代码以及切点表达式2、开启aspectj的自动代理3、测试类4、测试结果前言 Spring对AOP的实现包括以下三种方式 1、Spring框架结合AspectJ框架实现的AOP…...
LeetCode LCP 66. 最小展台数量
力扣嘉年华将举办一系列展览活动,后勤部将负责为每场展览提供所需要的展台。 已知后勤部得到了一份需求清单,记录了近期展览所需要的展台类型, demand[i][j] 表示第 i 天展览时第 j 个展台的类型。 在满足每一天展台需求的基础上,…...
设计模式之模板方法模式
什么是模板方法模式 模板方法模式定义了一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构就可以重定义该算法的某些特定步骤。 模板方法模式主要包含几下几个角色: AbstractClass(抽…...
Python数据挖掘基础
一、Matplotlib 画二维图表的python库,实现数据可视化 , 帮助理解数据,方便选择更合适的分析方法1、折线图1.1引入matplotlibimport matplotlib.pyplot as plt %matplotlib inlineplt.figure() plt.plot([1, 0, 9], [4, 5, 6]) plt.show()1.2…...
Go基础-函数
文章目录1 定义2 参数的写法3 返回值的写法4 空白符1 定义 函数是将输入数据通过一系列算法运算之后,输出对应的结果。函数一般都是一些特定的功能块,实现某一种功能的封装,降低代码的冗余性 语法 // 关键字 函数名 函数参数 返…...
AC的改进算法——TRPO、PPO
两类AC的改进算法 整理了动手学强化学习的学习内容 1. TRPO 算法(Trust Region Policy Optimization) 1.1. 前沿 策略梯度算法即沿着梯度方向迭代更新策略参数 。但是这种算法有一个明显的缺点:当策略网络沿着策略梯度更新参数,…...
【C++学习】list的使用及模拟实现
🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! list的使用及模拟实现😼构造函数🐵模拟实现😼迭代器🐵…...
动态规划专题精讲1
致前行的人: 要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 前言: 本篇文章为大家带来一种重要的算法题,就是动态规划类型相关的题目,动态规划类的题目在笔试和面试中是考察非常高…...
PPO(proximal policy optimization)算法
博客写到一半发现有篇讲的很清楚,直接化缘了 https://www.jianshu.com/p/9f113adc0c50 Policy gradient 强化学习的目标:学习到一个策略πθ(a∣s)\pi\theta(a|s)πθ(a∣s)来最大化期望回报。 一种直接的方法就是在策略空间中直接搜索来得到最优策略&…...
ElasticSearch基本使用
title: ElasticSearch基本使用 date: 2022-08-29 00:00:00 tags: ElasticSearch基本使用 categories:ElasticSearch 基本概念 随着ES版本的升级,文中有些概念可能已经废弃。 索引词(term) 一个能够被索引的精确值,区分大小写,可以通过term查…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

