博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬
目录
- 安装前置条件
- 基本安装
- 解压文件
- 生成秘钥
- 执行安装脚本
- 配置DNS
- 方法一
- 方法二
- 挂载nfs共享目录
- 生成存储类
- 创建ArcGIS Enterprise组织
- 登录使用
ArcGIS Enterprise on Kubernetes 作为一个面向 ArcGIS Enterprise 制图和分析软件的部署选项,现已经迭代到 11.1 。本文将介绍该版本的安装。
安装前置条件
1.安装好K8S集群,要求版本是1.23 - 1.25。集群配置的要求见下表:
架构配置文件 | 最低工作节点 | 最低CPU总数 | 最低GiB总数 |
---|---|---|---|
增强可用性 | 5 | 40 | 160 |
标准可用性 | 4 | 32 | 128 |
开发 | 3 | 24 | 96 |
架构配置文件描述了不同的可用等级,也对集群的资源提出了不同的要求。这个是在创建ArcGIS Enterprise组织时进行选择。
2.准备有nfs服务器,存储空间在50G以上。
3.准备有带访问密码的ArcGIS Enterprise on Kubernetes的镜像仓库,且所有K8S节点的容器运行时,都已经登录连接到镜像仓库。
4.看K8S集群上创建有用于部署ArcGIS Enterprise on Kubernetes的namespace。
基本安装
解压文件
在部署有kubectl的机器上,执行解压安装包。
生成秘钥
在后续的安装过程中需要一个秘钥,可以通过安装包下的tools/password-encrypt/password-encrypt.sh进行生成。具体方式如下图,其中的“31415926”只是一个示例,您可以自定义改动,“your_password”所在的地方应该填写您设置的具体密码(支持汉字,需保留引号)。
最后输出的字符串就是您所需的密钥,您需要复制它,并将其写入到一个文件中。本示例中存储在/root/wja/EncryptionKeyfile,您需要记住这个路径,并在执行安装脚本时按提示填入。
以上仅仅是一个示例,图中生成密钥的各项参数和输出的密钥从未被我应用在任何软件环境中。在您生成秘钥时,请填入与本文不同的、有足够复杂度的参数,以保证您的软件环境的安全性。
执行安装脚本
回到arcgis-enterprise/111/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-user
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: default
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: nfs-provisioner
namespace: default
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: nfs-provisioner
template:
metadata:
labels:
app: nfs-provisioner
spec:
serviceAccount: admin-user
containers:
- name: nfs-provisioner
image: registry.cn-beijing.aliyuncs.com/mydlq/nfs-subdir-external-provisioner:v4.0.0
volumeMounts:
- name: nfs-client-root
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: nfs.k8sdata
- name: NFS_SERVER
value: 192.168.130.96
- name: NFS_PATH
value: /nfs/k8s
volumes:
- name: nfs-client-root
nfs:
server: 192.168.130.96
path: /nfs/k8s
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: geoscene
labels:
addonmanager.kubernetes.io/mode: Reconcile
provisioner: nfs.k8sdata
reclaimPolicy: Retain
创建ArcGIS Enterprise组织
打开https://${对外节点的全限定域名}/arcgis/manager
完成配置和第二阶段的部署。
登录使用
如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。