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查…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

