From fc227551dbb5f56606f809e526e055e2a42a0b9c Mon Sep 17 00:00:00 2001 From: Kent Dong Date: Fri, 3 Nov 2023 11:37:56 +0800 Subject: [PATCH] fix: Update admin password related documents since 1.3.0 supports admin initialization workflow (#186) --- .../current/ops/deploy-by-helm.md | 3 +- .../current/user/quickstart.md | 22 +++++++------ .../skywalking.md | 2 +- .../skywalking/local-env-setup.sh | 4 +-- .../current/ops/deploy-by-docker-compose.md | 5 ++- .../current/ops/deploy-by-helm.md | 3 +- .../current/user/configurations.md | 3 +- .../current/user/quickstart.md | 29 ++++++++---------- static/img/user/quickstart/en-us/init.png | Bin 0 -> 8354 bytes static/img/user/quickstart/zh-cn/init.png | Bin 0 -> 8364 bytes 10 files changed, 34 insertions(+), 37 deletions(-) create mode 100644 static/img/user/quickstart/en-us/init.png create mode 100644 static/img/user/quickstart/zh-cn/init.png diff --git a/i18n/en-us/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md b/i18n/en-us/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md index dbec6f491e..b592b2c345 100644 --- a/i18n/en-us/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md +++ b/i18n/en-us/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md @@ -41,8 +41,7 @@ helm install higress higress.io/higress -n higress-system --create-namespace | higress-console.domain | Domain used to access Higress Console | console.higress.io | | higress-console.tlsSecretName | Name of Secret resource used by TLS connections. | "" | | higress-console.web.login.prompt | Prompt message to be displayed on the login page | "" | -| higress-console.admin.password.value | If not empty, the admin password will be configured to the specified value. | "" | -| higress-console.admin.password.length | The length of random admin password generated during installation. Only works when `higress-console.admin.password.value` is not set. | 8 | +| higress-console.admin.password | If not empty, the admin password will be configured to the specified value. | "" | | higress-console.o11y.enabled | If `true`, o11y suite (Grafana + Promethues) will be installed. | false | | higress-console.pvc.rwxSupported | Set to `false` when installing to a standard K8s cluster and the target cluster doesn't support the ReadWriteMany access mode of PersistentVolumeClaim. | true | diff --git a/i18n/en-us/docusaurus-plugin-content-docs/current/user/quickstart.md b/i18n/en-us/docusaurus-plugin-content-docs/current/user/quickstart.md index 0d52736a12..50ae98307b 100644 --- a/i18n/en-us/docusaurus-plugin-content-docs/current/user/quickstart.md +++ b/i18n/en-us/docusaurus-plugin-content-docs/current/user/quickstart.md @@ -21,10 +21,6 @@ helm repo add higress.io https://higress.io/helm-charts helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set higress-console.domain=console.higress.io ``` -Note: A short note will be printed on the screen after installation, which contains the commands used to obtain the console login credential. Please execute them and record the output username and password. - -![image](/img/user/quickstart/zh-cn/console-credentials.png) - Obtain the LoadBalancer IP of Higress Gateway and write it down. You can use it and port 80 and 443 to access Higress Gateway. ```bash kubectl get svc -n higress-system higress-gateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}' @@ -117,7 +113,7 @@ in the future, we will use `--set global.local=true` for unambiguous. ```bash helm repo add higress.io https://higress.io/helm-charts -helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set global.local=true --set higress-console.o11y.enabled=false --set higress-console.domain=console.higress.io --set higress-console.admin.password.value= +helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set global.local=true --set higress-console.o11y.enabled=false --set higress-console.domain=console.higress.io ``` > If you'd like to enable the built-in o11y suite, please refer to the [Deploy by Helm](../ops/deploy-by-helm) document. @@ -169,7 +165,11 @@ Edit the hosts file and point domain `console.higress.io` to the IP of Higress G GatewayIP console.higress.io ``` -Open `http://console.higress.io` in browser and log into Higress Console using the credential obtained above. +Open `http://console.higress.io` in browser. For the first time, you will need to configure the admin credentials. + +![image](/img/user/quickstart/en-us/init.png) + +After configuration, log into Higress Console using the credential just configured. ![image](/img/user/quickstart/en-us/login.png) @@ -220,7 +220,7 @@ curl http://GatewayIP/foo -H "Host: foo.bar.com" **Installation Command 1: Use a separated-deployed Nacos service** ```bash -curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -c nacos://192.168.0.1:8848 --nacos-username=nacos --nacos-password=nacos -p +curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.0.1:8848 --nacos-username=nacos --nacos-password=nacos ``` Please replace `192.168.0.1` with the actual IP address of Nacos service (if Nacos is deployed locally, please use a non-loopback address such as `localhost` or `127.0.0.1`), and update the value of `--nacos-username` and `--nacos-password` based on actual configurations. If authentication isn't enabled in Nacos, you can remove these two arguments. @@ -228,14 +228,18 @@ Please replace `192.168.0.1` with the actual IP address of Nacos service (if Nac **Installation Command 2: Use the Higress Built-In Nacos** ```bash -curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- --use-builtin-nacos -p +curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a --use-builtin-nacos ``` Note: On Windows, you can use Unix-like shells such as Cygwin, Git Bash to execute the command above. ### Stage 2: Configuration -Open `http://127.0.0.1:8080` in browser and log into Higress Console using username `admin` and the previously set password. +Open `http://127.0.0.1:8080` in browser. For the first time, you will need to configure the admin credentials. + +![image](/img/user/quickstart/en-us/init.png) + +After configuration, log into Higress Console using the credential just configured. ![image](/img/user/quickstart/en-us/login.png) diff --git a/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking.md b/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking.md index 4977c64ba1..7efe4edf40 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking.md +++ b/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking.md @@ -272,7 +272,7 @@ $ kubectl -n higress-system port-forward service/higress-gateway 8080:80 ``` 3)通过浏览器打开访问上面三个域名 -Higress 控制台: [http://console.higress.io:8080](http://console.higress.io:8080),用户名为 admin,登录密码为安装时设定的管理员密码。 +Higress 控制台: [http://console.higress.io:8080](http://console.higress.io:8080)。首次访问控制台时需要先初始化管理员用户。初始化完成后使用对应的用户名密码登录即可。 ![img.png](../../../static/img/blog/skywalking/higress1.png) diff --git a/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking/local-env-setup.sh b/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking/local-env-setup.sh index 200fbacabc..34409b5a3c 100755 --- a/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking/local-env-setup.sh +++ b/i18n/zh-cn/docusaurus-plugin-content-blog/skywalking/local-env-setup.sh @@ -44,12 +44,12 @@ if [ "$IS_INSTALLED_CRD" = true ]; then echo "Step3: Installing Higress " helm repo add higress.io https://higress.io/helm-charts - helm install higress -n higress-system higress.io/higress --devel --create-namespace --render-subchart-notes --set global.enableIstioAPI=true --set global.kind=true --set higress-console.o11y.enabled=true --set higress-controller.domain=console.higress.io --set higress-console.admin.password.value=admin + helm install higress -n higress-system higress.io/higress --devel --create-namespace --render-subchart-notes --set global.enableIstioAPI=true --set global.kind=true --set higress-console.o11y.enabled=true --set higress-controller.domain=console.higress.io echo "Step3: Installing Higress finished." else echo "Step2: Installing Higress " helm repo add higress.io https://higress.io/helm-charts - helm install higress -n higress-system higress.io/higress --devel --create-namespace --render-subchart-notes --set global.enableIstioAPI=true --set global.kind=true --set higress-console.o11y.enabled=true --set higress-controller.domain=console.higress.io --set higress-console.admin.password.value=admin + helm install higress -n higress-system higress.io/higress --devel --create-namespace --render-subchart-notes --set global.enableIstioAPI=true --set global.kind=true --set higress-console.o11y.enabled=true --set higress-controller.domain=console.higress.io echo "Step2: Installing Higress finished." fi diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-docker-compose.md b/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-docker-compose.md index 9177d336d2..78503108bf 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-docker-compose.md +++ b/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-docker-compose.md @@ -1,4 +1,4 @@ ---- +t --- title: 基于 Docker Compose 进行独立部署 keywords: [deploy,docker compose,docker,ops] description: 如何使用 Docker Compose 实现 Higress 的独立部署 @@ -30,13 +30,12 @@ curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- [DESTINATIO |--------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|--------------| |DESTINATION |目标安装目录 |./higress | |-a
--auto-run |配置完成后自动启动 Higress 网关 |无 | -|-c CONFIG_URL
--config-url CONFIG_URL |配置服务的 URL。
- 若使用独立部署的 Nacos 服务,URL 格式为:nacos://192.168.0.1:8848
- 若在本地磁盘上保存配置,URL 格式为:file://opt/higress/conf|无 | +|-c CONFIG_URL
--config-url CONFIG_URL |配置服务的 URL。
- 若使用独立部署的 Nacos 服务(版本不低于 2.0.0),URL 格式为:nacos://192.168.0.1:8848
- 若在本地磁盘上保存配置,URL 格式为:file://opt/higress/conf|无 | |--use-builtin-nacos |使用内置的 Nacos 服务。不建议用于生产环境。如果设置本参数,则无需设置`-c`参数 |无 | |--nacos-ns=NACOS_NAMESPACE |用于保存 Higress 配置的 Nacos 命名空间 ID |higress-system| |--nacos-username=NACOS_USERNAME |用于访问 Nacos 的用户名。仅用于 Nacos 启动了认证的情况下 |无 | |--nacos-password=NACOS_PASSWORD |用于访问 Nacos 的用户密码。仅用于 Nacos 启动了认证的情况下 |无 | |-k KEY
--data-enc-key=KEY |用于加密敏感配置数据的密钥。长度必须为 32 个字符。若未设置,Higress 将自动生成一个随机的密钥。若需集群部署,此项必须设置 |随机字符串 | -|-p CONSOLE_PASSWORD
--console-password=CONSOLE_PASSWORD|后续用户访问 Higress Console 的密码(用户名固定为`admin`) |随机字符串 | |--nacos-port=NACOS_PORT |内置 NACOS 服务在服务器本地监听的端口 |8848 | |--gateway-http-port=GATEWAY_HTTP_PORT |Higress Gateway 在服务器本地监听的 HTTP 端口 |80 | |--gateway-https-port=GATEWAY_HTTPS_PORT |Higress Gateway 在服务器本地监听的 HTTPS 端口 |443 | diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md b/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md index 9d786553dc..5dcf4c998f 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md +++ b/i18n/zh-cn/docusaurus-plugin-content-docs/current/ops/deploy-by-helm.md @@ -43,8 +43,7 @@ helm install higress higress.io/higress -n higress-system --create-namespace | higress-console.domain | 对外用于访问 Higress Console 的域名 | console.higress.io | | higress-console.tlsSecretName | Higress Console 提供 HTTPS 访问所使用的 Secret 证书资源名称 | "" | | higress-console.web.login.prompt | 登录页面上显示的提示信息 | "" | -| higress-console.admin.password.value | 若值不为空,则 admin 账号的密码将被配置为指定值 | "" | -| higress-console.admin.password.length | 安装时自动为 admin 账号生成的随机密码的长度。仅在 `higress-console.admin.password.value` 值为空时生效。 | 8 | +| higress-console.admin.password | 若值不为空,则 admin 账号的密码将被配置为指定值 | "" | | higress-console.o11y.enabled | 若为 `true`,将同时安装可观测性套件(Grafana + Promethues) | false | | higress-console.pvc.rwxSupported | 标识目标 K8s 集群是否支持 PersistentVolumeClaim 的 ReadWriteMany 操作方式。 | true | diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md index 1a4e6b7d15..6c50625e87 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md +++ b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/configurations.md @@ -148,8 +148,7 @@ custom_edit_url: https://github.com/higress-group/higress-group.github.io/blob/m | higress-console.web.login.prompt | 登录页面上显示的提示信息,默认为空。 | "" | | higress-console.admin.username | 指定的用户名。 | admin | | higress-console.admin.displayName | 显示的用户名。 | Admin | -| higress-console.admin.password.length | 安装时自动为 admin 账号生成的随机密码的长度。仅在 higress-console.admin.password.value 值为空时生效。 | 8 | -| higress-console.admin.password.value | 若值不为空,则 admin 账号的密码将被配置为指定值。 | "" | +| higress-console.admin.password | 若值不为空,则 admin 账号的密码将被配置为指定值。 | "" | | higress-console.certmanager.enabled | 指定是否启用证书管理器。 | false | | higress-console.certmanager.replicas | Certmanage pod 的数量。 | 1 | | higress-console.o11y.enabled | 若为 true,将同时安装可观测性套件(Grafana + Promethues)。 | false | diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/quickstart.md b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/quickstart.md index 64e6d545ea..8992111245 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/quickstart.md +++ b/i18n/zh-cn/docusaurus-plugin-content-docs/current/user/quickstart.md @@ -21,17 +21,6 @@ helm repo add higress.io https://higress.io/helm-charts helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set higress-console.domain=console.higress.io ``` -注意:安装完成后会输出一段文本,其中包含获取控制台登录信息的命令。请执行该命令并记录用户名和密码。 - -![image](/img/user/quickstart/zh-cn/console-credentials.png) - -例如安装在 higress-system 命名空间下时,执行下面命令获取用户名密码: -```bash - export ADMIN_USERNAME=$(kubectl get secret --namespace higress-system higress-console -o jsonpath="{.data.adminUsername}" | base64 -d) - export ADMIN_PASSWORD=$(kubectl get secret --namespace higress-system higress-console -o jsonpath="{.data.adminPassword}" | base64 -d) - echo -e "Username: ${ADMIN_USERNAME}\nPassword: ${ADMIN_PASSWORD}" -``` - 获取 Higress Gateway 的 LoadBalancer IP,并记录下来。后续可以通过该 IP 的 80 和 443 端口访问 Higress Gateway。 ```bash kubectl get svc -n higress-system higress-gateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}' @@ -123,7 +112,7 @@ kubectl.exe config use-context kind-higress ```bash helm repo add higress.io https://higress.io/helm-charts -helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set global.local=true --set higress-console.o11y.enabled=false --set higress-console.domain=console.higress.io --set higress-console.admin.password.value=<你的密码> +helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set global.local=true --set higress-console.o11y.enabled=false --set higress-console.domain=console.higress.io ``` > 若要启用 Higress 内置的套件,可参阅[安装部署](../ops/deploy-by-helm.md)文档。 @@ -174,7 +163,11 @@ spec: GatewayIP console.higress.io ``` -在浏览器中输入`http://console.higress.io`,使用前面获取或设置的用户名密码登录 Higress 控制台(本地集群用户名固定为 admin)。 +在浏览器中输入`http://console.higress.io`。首次访问时需要先初始化管理员账号。 + +![image](/img/user/quickstart/zh-cn/init.png) + +初始化完成后,界面会自动跳转至登录页面。请使用前面设置的用户名密码登录 Higress 控制台。 ![image](/img/user/quickstart/zh-cn/login.png) @@ -225,7 +218,7 @@ curl http://GatewayIP/foo -H 'host: foo.bar.com' **安装命令一:使用独立部署的 Nacos** ```bash -curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -c nacos://192.168.0.1:8848 --nacos-username=nacos --nacos-password=nacos -p <你的密码> +curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a -c nacos://192.168.0.1:8848 --nacos-username=nacos --nacos-password=nacos ``` 请将 `192.168.0.1` 替换为 Nacos 服务器的 IP(如果 Nacos 部署在本机,请不要使用如 `localhost` 或 `127.0.0.1` 的 Loopback 地址),并按需调整 `--nacos-username` 和 `--nacos-password` 的取值。如果 Nacos 服务未开启认证功能,则可以移除这两个参数。 @@ -233,14 +226,18 @@ curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -c nacos:// **安装命令二:使用 Higress 内置 Nacos** ```bash -curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- --use-builtin-nacos -p <你的密码> +curl -fsSL https://higress.io/standalone/get-higress.sh | bash -s -- -a --use-builtin-nacos ``` 注:Windows 系统下可以使用 Cygwin、Git Bash 等类 Unix Shell 中执行上述命令。 ### 阶段二:配置 -在浏览器中输入`http://127.0.0.1:8080`,使用用户名 `admin` 和安装时设置的密码登录 Higress 控制台。 +在浏览器中输入`http://127.0.0.1:8080` 进入 Higress 控制台。首次访问时需要先初始化管理员账号。 + +![image](/img/user/quickstart/zh-cn/init.png) + +初始化完成后,界面会自动跳转至登录页面。请使用前面设置的用户名密码登录 Higress 控制台。 ![image](/img/user/quickstart/zh-cn/login.png) diff --git a/static/img/user/quickstart/en-us/init.png b/static/img/user/quickstart/en-us/init.png new file mode 100644 index 0000000000000000000000000000000000000000..cbaaec4683b88cd13ea56712a31bb5089093dce8 GIT binary patch literal 8354 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 literal 0 HcmV?d00001 diff --git a/static/img/user/quickstart/zh-cn/init.png b/static/img/user/quickstart/zh-cn/init.png new file mode 100644 index 0000000000000000000000000000000000000000..08e8320fd7942363e87f0253a89e6bf3c17ceb12 GIT binary patch literal 8364 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