从 IBM® Cloud Private 版本 2.1.0.3 升级到 3.1.0
可以将 IBM Cloud Private 从版本 2.1.0.3 升级到 3.1.0。
只能从 V2.1.0.3 升级。 如果使用的是更早版本的 IBM Cloud Private,必须先升级到 V2.1.0.3。 请参阅 IBM Cloud Private V2.1.0.3 文档中的升级与还原。
在升级过程中,无法访问 IBM Cloud Private management console。
在升级过程中,无法设置云提供程序选项(例如,配置 vSphere Cloud Provider),也无法选择使用 NSX-T。
-
以具有 root 用户权限的用户身份登录引导节点。 引导节点通常是您的主节点。 有关节点类型的更多信息,请参阅体系结构。 在安装过程中,可以指定每种节点类型的 IP 地址。
-
下载 IBM Cloud Private 的安装文件。 可以从 IBM Passport Advantage®
Web 站点下载这些文件。
- 对于 Linux® x86_64 集群,请下载
ibm-cloud-private-x86_64-3.1.0.tar.gz文件。 - 对于 Linux® on Power® (ppc64le) 集群,请下载
ibm-cloud-private-ppc64le-3.1.0.tar.gz文件。
- 对于 Linux® x86_64 集群,请下载
-
抽取映像并将它们加载 Docker 中。 抽取映像可能需要几分钟的时间才能完成。
-
对于 Linux® x86_64,请运行以下命令:
tar xf ibm-cloud-private-x86_64-3.1.0.tar.gz -O | sudo docker load -
对于 Linux® on Power® (ppc64le),请运行以下命令:
tar xf ibm-cloud-private-ppc64le-3.1.0.tar.gz -O | sudo docker load
-
-
创建安装目录并将
cluster目录从先前的安装目录复制到新的 IBM Cloud Privatecluster文件夹。 使用与先前版本不同的安装目录。 例如,要将配置文件存储在/opt/ibm-cloud-private-3.1.0中,请运行以下命令:mkdir -p /opt/ibm-cloud-private-3.1.0 cd /opt/ibm-cloud-private-3.1.0 cp -r /<installation_directory>/cluster .注:
/<installation_directory>是 V2.1.0.3 安装目录的完整路径,/<new_installation_directory>是 V3.1.0 安装目录的完整路径。 -
手动更新
/<new_installation_directory>/cluster/config.yaml文件。-
在 3.1.0 发行版中,
disabled_management_services已转换为字典参数management_services以支持更精细化的服务控制。 如果您的cluster/config.yaml文件中包含disabled_maangement_services,那么需要将旧格式更新为新格式,然后删除cluster/config.yaml中的旧disabled_maangement_services。 例如:旧格式:
disabled_management_services: ["istio", "vulnerability-advisor", "custom-metrics-adapter"]新格式:
management_services: istio: disabled vulnerability-advisor: disabled custom-metrics-adapter: disabled注:缺省情况下在 3.1.0 发行版中禁用
vulnerability-advisor参数。 如果已在 2.1.0.3 发行版中启用vulnerability-advisor,那么需要将该值更改为enabled,如以下management_services示例中所示:management_services: vulnerability-advisor: enabled -
在 3.1.0 发行版中,不支持升级 audit-logging 图表和 storage-glusterfs 图表。 必须在
management_services中禁用 audit-logging 图表:management_services: audit-logging: disabled storage-glusterfs: disabled完成审计的容量规划后,即可安装审计日志记录图表。 还必须将日志记录部署到启用安全性的 kube-system 名称空间中。 在 2.1.0.3 中,日志记录部署到未启用安全性的 kube-system 名称空间中。 因此,要部署 audit-logging 图表,必须卸载日志记录,然后从 3.1.0 重新安装。
以下命令可用于卸载和安装日志记录:
helm delete --purge logging --tls helm install stable/ibm-icplogging --name logging --namespace kube-system --tls以下命令可用于安装 audit-logging:
helm install audit-logging --name audit-logging --namespace kube-system --tls -
如果已为 IBM Cloud Private 2.1.0.3 启用
istio,请通过运行以下命令确保在升级前已完全删除istio图表和相关CustomResourceDefinition:helm delete istio --purge --tls crds_exist="$(kubectl get customresourcedefinition | awk '{print $1}' | grep 'istio')" kubectl delete customresourcedefinition $crds_exist -
对于 IBM Cloud Private V3.1.0,缺省情况下禁用的管理服务已发生更改。 要获取新的缺省列表,请参阅常规设置。 可将您想要禁用的其他服务添加到此新缺省列表。
-
对于高可用性集群,缺省情况下,在 3.1.0 中,
vip_manager设置为etcd。 如果将其更改为keepalived或ucarp,集群将出现数秒钟的停机时间。 -
对于 Docker 设置,在 3.1.0 发行版中,使用新格式来对其进行配置,如果已将 Docker 配置为 env 或其他参数,应将其迁移至新格式,然后删除旧的 Docker 配置,新格式如下所示:
# Docker configuration option, more options see # https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file docker_config: log-opts: max-size: "100m" max-file: "10" # Docker environment setup docker_env: - HTTP_PROXY=http://1.2.3.4:3128 - HTTPS_PROXY=http://1.2.3.4:3128 - NO_PROXY=localhost,127.0.0.1,{{ cluster_CA_domain }} # Install/upgrade docker version docker_version: 18.03.1 # Install Docker automatically or not install_docker: true
-
-
将集群的映像文件移至
/<new_installation_directory>/cluster/images文件夹。-
对于 Linux® x86_64,请运行以下命令:
mkdir -p cluster/images; \ mv /<path_to_images_file>/ibm-cloud-private-x86_64-3.1.0.tar.gz cluster/images/ -
对于 Linux® on Power® (ppc64le),请运行以下命令:
mkdir -p cluster/images; \ sudo mv /<path_to_images_file>/ibm-cloud-private-ppc64le-3.1.0.tar.gz cluster/images/如果集群中存在 IBM® Z 工作程序节点,请运行以下命令:
sudo mv /<path_to_images_file>/ibm-cloud-private-s390x-3.1.0.tar.gz cluster/images/
在此命令中,
path_to_images_file是映像文件的路径。 -
-
完成下列步骤,部署您的环境:
-
切换到安装目录中的
cluster文件夹。cd /<new_installation_directory>/cluster -
准备集群以进行升级。
sudo docker run -e LICENSE=accept --net=host --rm -t -v "$(pwd)":/installer/cluster \ ibmcom/icp-inception:3.1.0-ee upgrade-prepare如果集群准备失败,请查看错误消息并解决所有问题。 然后,移除
cluster/.install.lock文件并重新运行upgrade-prepare命令。 -
升级 Kubernetes。
sudo docker run -e LICENSE=accept --net=host --rm -t -v "$(pwd)":/installer/cluster \ ibmcom/icp-inception:3.1.0-ee upgrade-k8s- 如果 Kubernetes 升级失败,返回不同的消息,那么复查错误消息并解决所有问题。 然后,回滚 Kubernetes 服务并再次运行升级 Kubernetes 服务命令。
-
升级图表。
sudo docker run -e LICENSE=accept --net=host --rm -t -v "$(pwd)":/installer/cluster \ ibmcom/icp-inception:3.1.0-ee upgrade-chart- 如果图表升级失败,返回不同的消息,那么复查错误消息并解决所有问题。 然后,重新运行升级图表命令。
- 如果要为 IBM Cloud Private 3.1.0 启用
istio,那么需要将该值更改为enabled,如以下management_services示例中所示:management_services: istio: enabled - 运行以下命令以部署
istio图表:sudo docker run -e LICENSE=accept --net=host --rm -t -v "$(pwd)":/installer/cluster \ ibmcom/icp-inception:3.1.0-ee addon
-
-
验证升级状态。
-
如果升级成功,将显示集群的访问信息:
UI URL is https://master_ip:8443 , default username/password is admin/admin在此消息中,master_ip 是 IBM Cloud Private 集群的主节点 IP 地址。
注:如果您在专用网络中创建了集群,请使用主节点的公用 IP 地址访问该集群。
- 如果遇到错误,请参阅故障诊断。
-
-
如果已更改 IBM Cloud Private V2.1.0.3 中的 default_admin_password,那么升级后此密码将重置为 admin。 如果需要,可遵循更改集群管理员访问凭证中的指示信息重新更改此密码。
-
清除浏览器缓存。
- 访问您的集群。 从 Web 浏览器中,浏览至集群的 URL。 有关受支持的浏览器列表,请参阅受支持的浏览器。
- 有关使用 IBM Cloud Private management console 从 Web 浏览器访问集群的更多信息,请参阅使用 management console 访问 IBM Cloud Private 集群。
- 有关使用 Kubernetes 命令行 (kubectl) 访问集群的更多信息,请参阅使用 kubectl CLI 访问 IBM Cloud Private 集群。
- 确保所有 IBM Cloud Private 缺省端口已打开。 有关 IBM Cloud Private 缺省端口的更多信息,请参阅缺省端口。
- 备份引导节点。 将
/<new_installation_directory>/cluster目录复制到安全位置。 - 如果在 IBM Cloud Private 集群中使用 Cloud Automation Manager,那么也必须对其进行升级。 请参阅升级 Cloud Automation Manager。