部署新的 vRealize Automation 8.0.0 或 8.0.1 失败

vRLCM 查看的状态:

Error Code: LCMVRAVACONFIG590003

Request Details中Stage 4:vravainitializecluster中VraVaInitialize 时间比较久

原因:vRealize Automation 8.0和8.0.1 GA发布的root 账号密码过期(默认:90天),该密码作为Kubernetes容器对于Postgres和Orchestrator服务来说很重要:

当然该问题在 vRealize Automation 8.1 内已解决。

电脑屏幕截图

描述已自动生成

SSH进入vRA节点,

kubectl get pods -n prelude //查看namespace中的services 名称

手机屏幕截图

描述已自动生成

执行

vracli cluster exec — bash -c ‘echo -e “FROM vco_private:latest\nRUN sed -i s/root:.*/root:x:18135:0:99999:7:::/g /etc/shadow\nRUN sed -i s/vco:.*/vco:x:18135:0:99999:7:::/g /etc/shadow” | docker build – -t vco_private:latest’

执行

vracli cluster exec — bash -c ‘echo -e “FROM db-image_private:latest\nRUN sed -i s/root:.*/root:x:18135:0:99999:7:::/g /etc/shadow\nRUN sed -i s/postgres:.*/postgres:x:18135:0:99999:7:::/g /etc/shadow” | docker build – -t db-image_private:latest’

执行 以通过重新引导保留新更改。

/opt/scripts/backup_docker_images.sh //通过重新引导保留新更改

通过持续运行和执行kubectl get pods -n prelude检查pods的状态。

kubectl get pods -n prelude //检查pods的状态

如果仅安装一台设备,并且查看到vco-app pod的状态为CrashLoopBackOff

需要删除pod

#kubectl delete pods -n prelude vco-app-pod-name //需要删除pod

通过执行以下命令,生成的新更新的docker构建中配置一个pod

#vracli cluster exec — bash -c ‘echo -e “FROM vco_private:latest\nRUN sed -i s/root:.*/root:x:18135:0:99999:7:::/g /etc/shadow\nRUN sed -i s/vco:.*/vco:x:18135:0:99999:7:::/g /etc/shadow” | docker build – -t vco_private:latest’

vracli cluster exec — bash -c ‘echo -e “FROM db-image_private:latest\nRUN sed -i s/root:.*/root:x:18135:0:99999:7:::/g /etc/shadow\nRUN sed -i s/postgres:.*/postgres:x:18135:0:99999:7:::/g /etc/shadow” | docker build – -t db-image_private:latest’

/opt/scripts/backup_docker_images.sh //通过重新引导保留新更改

如果部署为一个集群,那么就不能简单地删除postgres pod来修复它,因为多节点上postgres实例需要复制数据,如果数据不同步,依赖于postgres的其他服务也将失败,因此最好关闭每个节点上的所有服务,然后执行以下操作:

SSH进入vRA节点(需在每个节点内支持)

执行

kubectl get pods -n prelude //查看namespace中的services 名称

/opt/scripts/deploy.sh –onlyClean //在每个节点上执行  以停止服务。

执行

vracli cluster exec — bash -c ‘echo -e “FROM vco_private:latest\nRUN sed -i s/root:.*/root:x:18135:0:99999:7:::/g /etc/shadow\nRUN sed -i s/vco:.*/vco:x:18135:0:99999:7:::/g /etc/shadow” | docker build – -t vco_private:latest’

执行

vracli cluster exec — bash -c ‘echo -e “FROM db-image_private:latest\nRUN sed -i s/root:.*/root:x:18135:0:99999:7:::/g /etc/shadow\nRUN sed -i s/postgres:.*/postgres:x:18135:0:99999:7:::/g /etc/shadow” | docker build – -t db-image_private:latest’

/opt/scripts/deploy.sh在每个节点上运行以启动服务。

vi /opt/charts/vco/templates/deployment.yaml

找到:init_run.sh

command:

– “/bin/bash”

– “-c”

– “/init_run.sh”

将其修改为如下:

command:

– “/bin/bash”

– “-c”

– “sed -i ‘s/root:.*/root:x:18135:0:99999:7:::/g’ /etc/shadow && sed -i ‘s/vco:.*/vco:x:18135:0:99999:7:::/g’

/etc/shadow && /init_run.sh”

创建 restart-service 的脚本

vi /root/rs.sh

//编辑内容

/opt/scripts/svc-stop.sh

sleep 120

/opt/scripts/deploy.sh –onlyClean

sleep 60

/opt/scripts/deploy.sh

设置 root密码不过期

passwd -x 99999 root

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注