本文档适用于部署AppHub到Wise-Paas公有云或私有云平台,包括helm方式手动部署和Catalog在线订阅部署两种方式。
其中helm手动部署方式又分了三种场景,不同场景可以直接参考对应章节。
场景1:新新人在没有任何环境基础的情况下使用helm包部署,可以参考章节1. helm方式首次部署;
场景2:之前已经helm部署过,现在想通过helm包完整的更新AppHub,可以参考章节2. helm方式升级image等配置
场景3:仅需要更新某个pod内的image,保留其他pod或者数据库的情况下,可以参考章节3.kubectl命令直接更新image
参考步骤
step1:终端运行下面命令获取kubectl的最新发行版
curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
step2:安装kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
chmod +x kubectl
mkdir -p ~/.local/bin/kubectl
mv ./kubectl ~/.local/bin/kubectl
setp3: 将kubectl加入环境变量
例如在/etc/profile末尾添加:export PATH=.:~/.local/bin/kubectl:$PATH
然后执行Source /etc/profile
使其生效
setp4:最后通过kubectl version –client
验证
以Ubuntu为例,官网网站,ubuntu下安装的方式为:
curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
sudo apt-get install apt-transport-https --yes
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
进入EnSaaS4.0 Management Portal页面, 点击工作台中的服务中心,如下图
订阅RabbitMQ服务并生成secret
step 1: 进入RabbitMQ服务密钥管理页面
选择的RabbitMQ服务,点击密钥管理,进入其密钥管理页面,如下图
step 2: 创建RabbitMQ服务的密钥
首先点击右上角“+”号,如图所示,开始创建
然后在如下图所示的弹出框中输入相应内容,即输入secret的名称,选择需要部署apphub的集群、工作空间和命名空间,点击确定,成功创建secret
下图为example,可以共参考
创建成功后,在密钥管理列表中可以看到,如下图
step1:进Postgresql DB其密钥管理页面
选择的Postgresql DB服务,点击密钥管理,进入其密钥管理页面,如下图
step2:创建Postgresql DB服务的密钥
首先同RabbitMQ一样点击右上角“+”号开始创建
注意事项
1. 切记secret名称必须与2.1创建的RabbitMQ服务的secret名称保持一致
2. 添加参数(group: g_apphub)
举例如下图所示
创建成功后,会在密钥管理列表中可以看到,如下图
step1: 从Management Portal下载kubectl的confi档
step2:将下载的config档拷贝到本地
将config文档拷贝到helm部署机的/root/.kube目录下,并重命名为config
方法1:git clone(需要git环境)
如果需要安装最新版本,则执行如下:
git clone https://github.com/EdgeSolution/AppHub_On_EnSaaS.git
如果需要安装指定版本,例如1.0.2,则执行如下:
git clone --branch 1.0.2 https://github.com/EdgeSolution/AppHub_On_EnSaaS.git
方法2:网页端直接下载zip包
通过网页打开https://github.com/EdgeSolution/AppHub_On_EnSaaS.git ,选择相应的tag版本,直接下载即可。
如果是git clone方式获取helm包,则进入路径修改values.yml 如果是下载的zip/tar.gz包,则解压后,进入路径修改values.yml
cd AppHub_On_EnSaaS/AppHub-HelmChart
vi values.yml
如下图:
其中,
1:secret name
2-4,6:与MP域名后缀一致
5,为站点名称
7:.命名空间名字和.集群名字组合
在命令行终端AppHub-HelmChart目录,执行:
helm install apphub-manager –n $namespace .
其中,namespace为实际要部署的目标命令空间名称。
例如,本地demo部署命令如下: helm install apphub-manager -n apphub .
如果原有的helm安装包文件都存在,则直接修改AppHub_On_EnSaaS/AppHub-HelmChart下的values.yml中image版本tag版本号,然后升级即可
step1:修改value.yml中image版本
cd AppHub_On_EnSaaS/AppHub-HelmChart
vi values.yml
参考Github上最新的value.yml中相应的image tag version修改。建议不要直接覆盖value.yml,否则还需要按照首次安装方式那样修改value.yml中global:部分的相关项。 仅修改docker images版本,如下图所示:
step2: helm upgrade
helm upgrade apphubmanager -n apphub .
当原来helm部署环境不存在时,需要参考部分首次部署的步骤即:
参考首次安装的环境准备步骤
step1: 配置kubectl config档,下载AppHub的helm包,修改value.yml
参考首次安装的3.1-3.3
step2:执行helm upgarde
在命令行终端AppHub-HelmChart目录,执行:
helm upgrade apphub-manager –n $namespace .
其中,namespace为实际要部署的目标命令空间名称。
例如,本地demo部署命令如下: helm upgrade apphub-manager -n apphub .
以修改apphub-manager的image为例说明
假设已经有kubectl环境,仅需将config档拷贝到/root/.kube目录下,并重命名为config
以namespace为develop为例说明
step1:先查看当前namespace下面的pod,确认环境OK
#kubectl get pods -n develop
...
apphub-manager-7d65c89b8b-jscpq 1/1 Running 0 14m
apphub-repo-f767bd8f4-klgr2 1/1 Running 0 170d
...
step2:edit deployment配置,修改apphub-manager的image
#kubectl edit deployment apphub-manager -n apphub
修改后:wq,保存退出
正常情况下,image会自动更新部署,我们可以通过kubectl get pods -n develop
查看当前pod是否有创建更新。
补充说明:
如果有异常,例如新的apphub-manager pod的状态为pending,需要先排查原因。 例如:
apphub-manager-59f6f775fc-sxbm9 1/1 Running 1 210d
apphub-manager-64d478b66-mt7fh 0/1 Pending 0 76s
apphub-repo-f767bd8f4-klgr2 1/1 Running 0 170d
(1)首先kubectl describe查看失败原因
kubectl describe pod apphub-manager-64d478b66-mt7fh -n develop
(2)然后根据原因相应修改,例如是CPU资源不足导致时,则需要修改CPU资源
step1:首先登录catalog主页,选择AppHub
step2:订阅AppHub
根据自己的需求进行相应订阅,这里我们以订阅免费试用版为例进行说明,点击“立即订阅”
如果您还没有企业账户,则先在Marketplace中完成注册和充值的步骤;如果您已经在Marketplace注册企业账户并完成充值后,则直接Marketplace页面选择AppHub产品直接跳转到catalog门户进行接下来的操作。
step1:选择正确的订阅号和应用部署
这里选择Standard Total因为EnSaaS环境资源需要付费,所以这里会产生费用。(注意选择正确的订阅号)
EnSaaS云服务上AppHub免费试用版支持设备在线数量最大为50,如果需要额外设备数量可以在部署配置这里勾选额外设备数进行结算,如果不需要则直接点击“下一步”。
step2:在总结页面确认
确认无误后会产生部署订单并如下图: 部署完成后会邮件通知用户。
如果您已经拥有一个EnSaaS环境,只需要部署AppHub这个SRP应用,则按照如下方式操作。
step1:选择正确的订阅号和应用部署
这里选择Standard Single,注意选择正确的订阅号。
EnSaaS云服务上AppHub免费试用版支持设备在线数量最大为3,如果需要额外设备数量可以在部署配置这里勾选额外设备数进行结算,如果不需要则直接点击“下一步”。
step2:k8s服务和基础服务
K8S服务选择相应正确项,基础服务有PostgreSQL和RabbitMQ。选择完成后点击下一步,如下图。
step3:总结,确认订单
在总结页面确认各项内容正确后点击确认,如下图:
确认后,在订单页面可以看到我们的订单详情,等待订单完成。
step4:获取AppHub portal
订单完成后,登录managerment portal,在应用页面就可以看到刚刚部署的AppHub信息,获取访问url,如下图所示。
当用户需要更多在线设备连接AppHub进行远程控制和远程部署等操作时,则需要购买license激活。购买license也是在catalog上进行。
以下截图是在测试平台上测试使用截图,实际购买操作环境基本一致。
step1:首先登录catalog主页,选择AppHub
step2:订阅License for AppHub
这里我们以购买一个月设备数量100台的场景为例进行购买。
(1)选择正确的订阅号
(2)点击选择确认“Monthly License for AppHub”
(3)勾选“Additional”,数量选择“2” (以50台设备为单位,数量选择2,即2x50=100)
step3:总结确认账单
等待账单完成后,在订单页面可以看到如下截图:
这里补充说明一下,加入在本地部署了一个AppHub Manager server,想通过catalog购买license激活的使用方法
关于AppHub manager的license我们分按月购买和买断两种方式,每种方式都支持选择设备数量,根据时间和设备数量的不通有不通价位。
step1:首先登录catalog主页,选择AppHub
step2:订阅License for AppHub
这里我们以购买一个月设备数量100台的场景为例进行购买。
(1)选择正确的订阅号
(2)点击选择确认“Monthly License for AppHub”
(3)勾选“Additional”,数量选择“2” (以50台设备为单位,数量选择2,即2x50=100)
step3:总结确认账单
等待账单完成后,在订单页面可以看到如下截图:
**step1:激活license
选择订单对应的“激活”
在AppHub Manager的license页面有workspace ID和Mac地址信息,复制后在弹出对话框中复制后点击确认即可激活
**step2:下载许可证
license激活后,在许可证页面点击“许可证文件”下载许可证书,然后在本地server上传激活