From 87ba2c0d0996ee7e30a71cb69d55236db2f25a8e Mon Sep 17 00:00:00 2001 From: jzhupup Date: Tue, 9 May 2023 12:32:05 +0800 Subject: [PATCH] update installer --- .../docs/install/commercial/cluster-config.md | 156 +++++++++++++----- .../docs/install/commercial/start-install.md | 20 +-- docs/zh/docs/install/community/k8s/offline.md | 4 +- docs/zh/docs/install/community/k8s/online.md | 4 +- docs/zh/docs/install/community/kind/online.md | 4 +- docs/zh/docs/install/release-notes.md | 47 ++++++ docs/zh/docs/install/upgrade.md | 2 +- 7 files changed, 178 insertions(+), 59 deletions(-) diff --git a/docs/zh/docs/install/commercial/cluster-config.md b/docs/zh/docs/install/commercial/cluster-config.md index c313046272..e3e243fbec 100644 --- a/docs/zh/docs/install/commercial/cluster-config.md +++ b/docs/zh/docs/install/commercial/cluster-config.md @@ -75,17 +75,23 @@ spec: type: builtin isoPath: "/root/CentOS-7-x86_64-DVD-2009.iso" osPackagePath: "/root/os-pkgs-centos7-v0.4.4.tar.gz" + + #type: external + # Set the block below only if target is S3-compatible storage which need to upload files automatically(e.g. minio). + #isoPath: "/root/CentOS-7-x86_64-DVD-2009.iso" + #osPackagePath: "/root/os-pkgs-centos7-v0.4.4.tar.gz" + #externalRepoEndpoint: https://external-repo.daocloud.io + #externalRepoUsername: rootuser + #externalRepoPassword: rootpass123 - # type: external - # Optional only if external repo already have full required resources - # isoPath: "/root/CentOS-7-x86_64-DVD-2009.iso" - # Optional only if external repo already have full required resources - # osPackagePath: "/root/os-pkgs-centos7-v0.4.4.tar.gz" - # `centos` as CentOS, RedHat,kylin AlmaLinux or Fedora + #type: external + # Set the block below if target is other storage which cannot or does not need to upload automatically(e.g. nginx). + # That requires you to import the required packages(iso, os-pkgs) manually if not all the required offline resources exist. + # `centos` as CentOS, RedHat, kylin, AlmaLinux, Fedora or Openeuler # `debian` as Debian # `ubuntu` as Ubuntu - # externalRepoType: centos - # externalRepoURLs: ['https://extertal-repo.daocloud.io/centos/\$releasever/os/\$basearch/'] + #externalRepoType: centos + #externalRepoURLs: ['https://extertal-repo.daocloud.io/kubean/centos/\$releasever/os/\$basearch/'] imagesAndCharts: # 镜像仓库和 Chart仓库源 @@ -119,8 +125,54 @@ spec: # IP or domain name # externalRepository: https://external-binaries.daocloud.io:9000/kubean + #externalMiddlewares: + # database: + # kpanda: + # - dbDriverName: "mysql" + # # Please refer https://gorm.io/docs/connecting_to_the_database.html + # dataSourceName: "user:password@tcp(localhost:3306)/dbname" + # # readwrite(default) or readonly + # accessType: readwrite + # # The maximum number of open connections to the database. + # #maxOpenConnections: 100 + # # The maximum number of connections in the idle connection pool. + # #maxIdleConnections: 10 + # # The maximum amount of time a connection may be reused. + # #connectionMaxLifetimeSeconds: 3600 + # # The maximum amount of time a connection may be idle. + # #connectionMaxIdleSeconds: 1800 + # ghippoApiserver: + # - dbDriverName: "mysql" + # dataSourceName: "user:password@tcp(localhost:3306)/dbname" + # ghippoKeycloak: + # - dbDriverName: "mysql" + # dataSourceName: "user:password@tcp(localhost:3306)/dbname" + # ghippoAuditserver: + # - dbDriverName: "mysql" + # dataSourceName: "user:password@tcp(localhost:3306)/dbname" + # elasticsearch: + # insight: + # endpoint: "https://xx.xx.xx.xx:9200" + # # login with basic auth or bearer auth + # #anonymous: false + # # basic auth + # username: "username" + # password: "password" + # S3Storage: + # default: + # endpoint: "xx.xx.xx.xx:9000" + # # Set if you dont want to verify the certificate. + # insecure: true + # bucket: "bucketname" + # accessKey: "YOUR-ACCESS-KEY-HERE" + # secretKey: "YOUR-SECRET-KEY-HERE" + # Examples as below. More refer to kubespray options setting documentations. # kubeanConfig: |- + # # Enable recommended node sysctl settings + # node_sysctl_tuning: true + # # Extra node sysctl settings while node_sysctl_tuning is enabled + # extra_sysctl: [{ name: net.ipv4.tcp_keepalive_time, value: 700 }] # bin_dir: /usr/local/bin # http_proxy: "" # https_proxy: "" @@ -157,40 +209,60 @@ spec: 该 YAML 文件中的关键字段说明,请参阅下表。 -| 字段 | 说明 | 默认值 | -| :---------------------------------------- | :----------------------------------------------------------- | :------------------------------------------------------ | -| auditConfig | k8s api-server 的审计日志配置 | 默认关闭 | -| binaries | 二进制可执行文件 | - | -| binaries.externalRepository | 外置二进制可执行文件仓库的访问地址,URL形式 | - | -| binaries.type | 二进制可执行文件的访问模式,取值为 official-service(在线), builtin(火种节点内置的minio) | official-service | -| clusterName | 在 KuBean Cluster 里的 Global 集群命名 | - | -| fullPackagePath | 解压后的离线包的路径,离线模式下该字段必填 | - | -| imagesAndCharts | 镜像仓库和 Chart仓库源 | - | -| imagesAndCharts.externalChartRepo | 外置Chart仓库的IP或域名 | - | -| imagesAndCharts.externalChartRepoPassword | 外置Chart仓库的密码,用于推送镜像 | - | -| imagesAndCharts.externalChartRepoType | 外置Chart仓库的类型,取值为 chartmuseum,harbor | - | -| imagesAndCharts.externalChartRepoUsername | 外置Chart仓库的用户名,用于推送镜像 | - | -| imagesAndCharts.externalImageRepo | 指定external仓库的IP或者域名(需指定协议头) | - | -| imagesAndCharts.externalImageRepoPassword | 外置镜像仓库的密码,用于推送镜像 | - | -| imagesAndCharts.externalImageRepoUsername | 外置镜像仓库的用户名,用于推送镜像 | - | -| imagesAndCharts.type | 镜像与Chart的访问模式,取值为 official-service(在线), buitin(火种内置 registry 和 chartmuseum), external(外置) | official-service | -| k8sVersion | kuBean 安装集群的 K8s 版本必须跟 KuBean 和离线包相匹配 | - | -| loadBalancer.insightVip | 如果负载均衡模式是 metallb,则需要指定一个 VIP,供给 GLobal 集群的 insight 数据收集入口使用,子集群的 insight-agent 可上报数据到这个 VIP | - | -| loadBalancer.istioGatewayVip | 如果负载均衡模式是 metallb,则需要指定一个 VIP,供给 DCE 的 UI 界面和 OpenAPI 访问入口 | - | -| loadBalancer.type | 所使用的 LoadBalancer 的模式,物理环境用 metallb,POC 用 NodePort,公有云和 SDN CNI 环境用 cloudLB | NodePort (default)、metallb、cloudLB (Cloud Controller) | -| masterNodes | Global 集群:Master 节点列表,包括 nodeName/ip/ansibleUser/ansiblePass 几个关键字段 | - | -| network.clusterCIDR | Cluster CIDR | - | -| network.cni | CNI 选择,比如 Calico、Cilium | calico | -| network.serviceCIDR | Service CIDR | - | -| ntpServer | 可用的 NTP 服务器,供给新节点同步时间 | - | -| osRepos | 操作系统软件源 | - | -| osRepos.externalRepoType | 外置软件源服务的操作系统类型, 取值为 centos(所有红帽系列), debian, ubuntu | - | -| osRepos.externalRepoURLs | 外置软件源的访问地址 | - | -| osRepos.isoPath | 操作系统 ISO 文件的路径, type 为 builtin 时不能为空 | - | -| osRepos.osPackagePath | 系统包文件的路径 ,type 为 builtin 时不能为空 | - | -| osRepos.type | 操作系统软件源的访问模式,取值为 official-service(在线), builtin(火种节点内置的minio) | official-service | -| privateKeyPath | kuBean 部署集群的 SSH 私钥文件路径,如果填写则不需要定义ansibleUser、ansiblePass | - | -| workerNodes | Global 集群:Worker 节点列表,包括 nodeName/ip/ansibleUser/ansiblePass 几个关键字段 | - | +| 字段 | 说明 | 默认值 | +| :----------------------------------------------------------- | :----------------------------------------------------------- | :------------------------------------------------------ | +| auditConfig | k8s api-server 的审计日志配置 | 默认关闭 | +| binaries | 二进制可执行文件 | - | +| binaries.externalRepository | 外置二进制可执行文件仓库的访问地址,URL形式 | - | +| binaries.type | 二进制可执行文件的访问模式,取值为 official-service(在线), builtin(火种节点内置的minio) | official-service | +| clusterName | 在 KuBean Cluster 里的 Global 集群命名 | - | +| fullPackagePath | 解压后的离线包的路径,离线模式下该字段必填 | - | +| addonPackage.path | 应用商店 addon 包本地文件系统路径 | - | +| imagesAndCharts | 镜像仓库和 Chart仓库源 | - | +| imagesAndCharts.externalChartRepo | 外置Chart仓库的IP或域名 | - | +| imagesAndCharts.externalChartRepoPassword | 外置Chart仓库的密码,用于推送镜像 | - | +| imagesAndCharts.externalChartRepoType | 外置Chart仓库的类型,取值为 chartmuseum,harbor | - | +| imagesAndCharts.externalChartRepoUsername | 外置Chart仓库的用户名,用于推送镜像 | - | +| imagesAndCharts.externalImageRepo | 指定external仓库的IP或者域名(需指定协议头) | - | +| imagesAndCharts.externalImageRepoPassword | 外置镜像仓库的密码,用于推送镜像 | - | +| imagesAndCharts.externalImageRepoUsername | 外置镜像仓库的用户名,用于推送镜像 | - | +| imagesAndCharts.type | 镜像与Chart的访问模式,取值为 official-service(在线), buitin(火种内置 registry 和 chartmuseum), external(外置) | official-service | +| k8sVersion | kuBean 安装集群的 K8s 版本必须跟 KuBean 和离线包相匹配 | - | +| loadBalancer.insightVip | 如果负载均衡模式是 metallb,则需要指定一个 VIP,供给 GLobal 集群的 insight 数据收集入口使用,子集群的 insight-agent 可上报数据到这个 VIP | - | +| loadBalancer.istioGatewayVip | 如果负载均衡模式是 metallb,则需要指定一个 VIP,供给 DCE 的 UI 界面和 OpenAPI 访问入口 | - | +| loadBalancer.type | 所使用的 LoadBalancer 的模式,物理环境用 metallb,POC 用 NodePort,公有云和 SDN CNI 环境用 cloudLB | NodePort (default)、metallb、cloudLB (Cloud Controller) | +| masterNodes | Global 集群:Master 节点列表,包括 nodeName/ip/ansibleUser/ansiblePass 几个关键字段 | - | +| network.clusterCIDR | Cluster CIDR | - | +| network.cni | CNI 选择,比如 Calico、Cilium | calico | +| network.serviceCIDR | Service CIDR | - | +| ntpServer | 可用的 NTP 服务器,供给新节点同步时间 | - | +| osRepos | 操作系统软件源 | - | +| osRepos.externalRepoType | 外置软件源服务的操作系统类型, 取值为 centos(所有红帽系列), debian, ubuntu | - | +| osRepos.externalRepoURLs | 外置软件源的访问地址 | - | +| osRepos.isoPath | 操作系统 ISO 文件的路径, type 为 builtin 时不能为空 | - | +| osRepos.osPackagePath | 系统包文件的路径 ,type 为 builtin 时不能为空 | - | +| osRepos.type | 操作系统软件源的访问模式,取值为 official-service(在线), builtin(火种节点内置的minio) | official-service | +| privateKeyPath | kuBean 部署集群的 SSH 私钥文件路径,如果填写则不需要定义ansibleUser、ansiblePass | - | +| workerNodes | Global 集群:Worker 节点列表,包括 nodeName/ip/ansibleUser/ansiblePass 几个关键字段 | - | +| externalMiddlewares | 外置中间件 | - | +| externalMiddlewares.database | 外置数据库 | - | +| externalMiddlewares.database.ghippoApiserver | ghippoApiserver 外置数据库的配置 | - | +| externalMiddlewares.database.ghippoAuditserver | ghippoAuditserver 外置数据库的配置 | - | +| externalMiddlewares.database.ghippoKeycloak | ghippoKeycloak 外置数据库的配置 | - | +| externalMiddlewares.database.kpanda | kpanda 外置数据库的配置 | - | +| externalMiddlewares.database.kpanda[0].accessType | kpanda 外置数据库的访问类型,取值:readwrite,readonly | readwrite | +| externalMiddlewares.database.kpanda[0].driver | kpanda 外置数据库的类型,取值:mysql | mysql | +| externalMiddlewares.database.kpanda[0].dataSourceName | kpanda 外置数据库的访数据源信息,用于连接数据库,可参考https://gorm.io/docs/connecting_to_the_database.html | - | +| externalMiddlewares.database.kpanda[0].maxOpenConnections | kpanda 外置数据库的最大连接数 | 10 | +| externalMiddlewares.database.kpanda[0].maxIdleConnections | kpanda 外置数据库的最大空闲连接数 | 10 | +| externalMiddlewares.database.kpanda[0].connectionMaxLifetimeSeconds | kpanda 外置数据库的最大连接生命周期 | 0 | +| externalMiddlewares.database.kpanda[0].connectionMaxIdleTimeSeconds | kpanda 外置数据库的最大空闲连接生命周期 | 0 | +| externalMiddleware.elasticsearch | 外置 Elasticsearch | - | +| externalMiddleware.elasticsearch.insight | insight 所使用的外置 Elasticsearch 配置 | - | +| externalMiddleware.elasticsearch.insight.endpoint | insight 所使用的外置 Elasticsearch 的访问地址 | - | +| externalMiddleware.elasticsearch.insight.anonymous | insight 所使用的外置 Elasticsearch 的匿名访问,取值 true,false,配置为 true时不应再填访问凭证 | false | +| externalMiddleware.elasticsearch.insight.username | insight 所使用的外置 Elasticsearch 的访问用户名 | - | +| externalMiddleware.elasticsearch.insight.password | insight 所使用的外置 Elasticsearch 的访问密码 | - | ## 精简配置说明 diff --git a/docs/zh/docs/install/commercial/start-install.md b/docs/zh/docs/install/commercial/start-install.md index db2e1a58a4..153690599f 100644 --- a/docs/zh/docs/install/commercial/start-install.md +++ b/docs/zh/docs/install/commercial/start-install.md @@ -21,8 +21,8 @@ hide: | CPU 架构 | 版本 | 下载地址 | | :------- | :----- | :----------------------------------------------------------- | -| AMD64 | v0.6.1 | | -| ARM64 | v0.6.1 | | +| AMD64 | v0.7.0 | | +| ARM64 | v0.7.0 | | 下载完毕后解压离线包: @@ -39,8 +39,8 @@ tar -xvf offline-v0.6.1-amd64.tar | CPU 架构 | 版本 | 下载地址 | | :------- | :----- | :----------------------------------------------------------- | -| AMD64 | v0.6.0 | | -| ARM64 | v0.6.0 | | +| AMD64 | v0.6.0 | | +| ARM64 | v0.6.0 | | #### ISO 离线包 (必需) @@ -63,12 +63,12 @@ ISO 离线包需要在[集群配置文件](./cluster-config.md)中进行配置 | 操作系统版本 | 下载地址 | | :-------------------------------------------------- | :----------------------------------------------------------- | -| Centos 7 | | -| Redhat 8 | | -| Redhat 7 | | -| Kylin Linux Advanced Server release V10 (Sword) SP2 | | -| Ubuntu20.04 | | -| openEuler 22.03 | | +| Centos 7 | | +| Redhat 8 | | +| Redhat 7 | | +| Kylin Linux Advanced Server release V10 (Sword) SP2 | | +| Ubuntu20.04 | | +| openEuler 22.03 | | 统信UOS V20(1020a)osPackage 部署请参考[UOS V20 (1020a) 操作系统上部署 DCE 5.0](../os-install/uos-v20-install-dce5.0.md) diff --git a/docs/zh/docs/install/community/k8s/offline.md b/docs/zh/docs/install/community/k8s/offline.md index 53ebec0e78..08860d65ac 100644 --- a/docs/zh/docs/install/community/k8s/offline.md +++ b/docs/zh/docs/install/community/k8s/offline.md @@ -29,10 +29,10 @@ 1. 在 k8s 集群控制平面节点(Master 节点)下载社区版的对应离线包并解压,或者从[下载中心](../../../download/dce5.md)下载离线包并解压。 - 假定版本 VERSION=0.6.1 + 假定版本 VERSION=0.7.0 ```bash - export VERSION=v0.6.1 + export VERSION=v0.7.0 wget https://qiniu-download-public.daocloud.io/DaoCloud_Enterprise/dce5/offline-community-$VERSION-amd64.tar tar -xvf offline-community-$VERSION-amd64.tar ``` diff --git a/docs/zh/docs/install/community/k8s/online.md b/docs/zh/docs/install/community/k8s/online.md index 81759d36f6..daccf76d95 100644 --- a/docs/zh/docs/install/community/k8s/online.md +++ b/docs/zh/docs/install/community/k8s/online.md @@ -30,10 +30,10 @@ 1. 在 K8s 集群控制平面节点(Master 节点)下载 dce5-installer 二进制文件(也可以[通过浏览器下载](../../../download/dce5.md))。 - 假定 VERSION 为 v0.6.0 + 假定 VERSION 为 v0.7.0 ```shell - export VERSION=v0.6.0 + export VERSION=v0.7.0 curl -Lo ./dce5-installer https://proxy-qiniu-download-public.daocloud.io/DaoCloud_Enterprise/dce5/dce5-installer-$VERSION chmod +x ./dce5-installer ``` diff --git a/docs/zh/docs/install/community/kind/online.md b/docs/zh/docs/install/community/kind/online.md index a67740e32d..ac33176387 100644 --- a/docs/zh/docs/install/community/kind/online.md +++ b/docs/zh/docs/install/community/kind/online.md @@ -158,10 +158,10 @@ precheck pass.. 1. 在 kind 主机下载 dce5-installer 二进制文件。 - 假定 VERSION 为 v0.6.1 + 假定 VERSION 为 v0.7.0 ```shell - export VERSION=v0.6.1 + export VERSION=v0.7.0 curl -Lo ./dce5-installer https://proxy-qiniu-download-public.daocloud.io/DaoCloud_Enterprise/dce5/dce5-installer-$VERSION chmod +x ./dce5-installer ``` diff --git a/docs/zh/docs/install/release-notes.md b/docs/zh/docs/install/release-notes.md index c073cc61ef..fdcf564955 100644 --- a/docs/zh/docs/install/release-notes.md +++ b/docs/zh/docs/install/release-notes.md @@ -2,6 +2,53 @@ 本页列出安装器的 Release Notes,便于您了解各版本的演进路径和特性变化。 +## 2023-4-30 + +### v0.7.0 + +#### 新功能 + +- **新增** 支持 Other Linux 来部署 DCE5.0,[参考文档](os-install/otherlinux.md) +- **新增** 支持了操作系统 OpenEuler 22.03 +- **新增** 支持外接 OS Repos,[参考集群配置文件说明](commercial/cluster-config.md) +- **新增** 支持了内核参数调优,[参考集群配置文件说明](commercial/cluster-config.md) +- **新增** 支持检测外部 ChartMuseum 和 MinIo 服务是否可用 + +#### 优化 + +- **优化** 优化了对 tar 等命令的前置校验 +- **优化** 优化了升级操作命令行参数 +- **优化** 关闭了 Kibana 通过 NodePort 访问,Insight 使用 ES 的 NodePort or VIP 访问 +- **优化** 优化了并发日志展示,终止任务使用 SIGTERM 信号而不是 SIGKILL + +#### 修复 + +- **修复** 修复在线安装时 Kcoral heml chart 无法查到问题 +- **修复** 修复升级时 KubeConfig 无法找到问题 + +#### 已知问题 + +- 在线安装 global 集群会失败,需在 clusterConfig.yaml 的 `kubeanConfig` 块里进行如下配置: + + ```yaml + kubeanConfig: |- + + calico_crds_download_url: "https://proxy-qiniu-download-public.daocloud.io/DaoCloud_Enterprise/dce5/calico-crds-v3.25.1.tar.gz" + ``` + + 同时通过容器管理在线创建工作集群也有相同问题,需在集群创建页面高级配置的自定义参数中添加上述配置,键为 `calico_crds_download_url`,值为上述 calico_crds_download_url 的值 + +- Kubean 存在低概率无法创建 spray-job 任务,通过手动删除对应的 clusteroperations CR 资源再重新执行安装命令 +- 使用外部 OS Repo 部署 DCE5.0后,无法通过容器管理离线创建工作集群,通过手动修改 global 集群 kubean-system 命名空间的 configmap kubean-localservice 来解决。在 `yumRepos` 下新增如下配置,需要在 external 内填写 clusterConfig.yaml 中配置的外部OS Repo 地址: + + ```yaml + yumRepos: + external: [] + + ``` + + 完成修改后对容器管理创建集群页面的节点配置的yum源选择新配置 + ## 2023-4-11 ### v0.6.1 diff --git a/docs/zh/docs/install/upgrade.md b/docs/zh/docs/install/upgrade.md index 7e335338f9..1506189e04 100644 --- a/docs/zh/docs/install/upgrade.md +++ b/docs/zh/docs/install/upgrade.md @@ -109,7 +109,7 @@ spec: 升级参数说明: - `install-app` 或 `cluster-create`,代表安装 DCE 5.0 的安装模式类型。如果最初的环境是通过 `cluster-create` 来安装的,则升级时也采用这个命令 -- `--upgrade` 可以简写为 `-u`,命令后面需要加执行步骤,目前如果升级 GProduct 需要执行 `4,5,gproduct`,后续我们会进行优化。 +- `--upgrade` 可以简写为 `-u`,命令后面需要加执行步骤,目前如果升级 GProduct 需要执行 `4,5,gproduct`,后续我们会进行优化。v0.7.0 版本后只需要 `--upgrade gproduct` 安装成功结果: