Conversation
|
Warning Rate limit exceeded@woodgear has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 4 minutes and 36 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (26)
WalkthroughDocumentation reorganized to center on ALB: new ALB how‑to pages (deploy, rules, CORS, header modification, URL rewrite, VIP), architecture and GatewayAPI mappings updated, many links and asset paths retargeted to the new ALB docs, header/title tweaks and small cleanups, and several legacy load balancer/gateway how‑tos removed. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Admin
participant K8s as Kubernetes API
participant ALBOp as ALB Operator
participant ALBctl as ALB Controller (Go)
participant DP as OpenResty (Data Plane)
participant Svc as Backend Services
Admin->>K8s: Apply ALB / Frontend / Rule CR
ALBOp->>K8s: Watch ALB CRs
ALBOp->>ALBctl: Create/Update ALB Deployment & Service
ALBctl->>K8s: Watch Ingress/Gateway/Rule CRs
ALBctl->>DP: Push ALB DSL rules/config
note over ALBctl,DP: Updated on CR changes
DP->>Svc: Route requests per DSL rules
sequenceDiagram
autonumber
actor Admin
participant K8s as Kubernetes API
participant ALBctl as ALB Controller
participant DP as OpenResty
Admin->>K8s: Create Gateway (GatewayAPI)
ALBctl->>K8s: Watch Gateway/Listeners/Routes
ALBctl->>ALBctl: Map Gateway → ALB instance (listeners/routes handled directly)
ALBctl->>DP: Configure listeners and routes
DP->>DP: Match and forward per Gateway config
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 6
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
docs/en/configure/networking/how_to/alb/otel.mdx (3)
472-474: kubectl apply missing -fThe command won’t work without -f.
-kubectl apply ./all.yaml +kubectl apply -f ./all.yaml
493-494: Angle‑bracket placeholder breaks the exampleUse $ALB_IP directly; the current example includes literal < and > and a stray “nonse” param.
-curl -v "http://<$ALB_IP>:80/dispatch?customer=567&nonse=" # Replace <$ALB_IP> in the command with the access address of otel-alb obtained in the previous procedure +curl -v "http://$ALB_IP:80/dispatch?customer=567&nonce=1" # Replace $ALB_IP with the otel-alb address obtained above if not set
186-197: Field name consistency: flags vs flagElsewhere you use flags.*. Keep it consistent and correct the typo.
-| **flag.notrust_incoming_span** | Whether to trust and use the OTel Trace information (e.g., trace ID) from incoming requests. | +| **flags.notrust_incoming_span** | Whether to trust and use the OTel Trace information (e.g., trace ID) from incoming requests. |And in surrounding prose where “flag.” appears, change to “flags.”.
🧹 Nitpick comments (71)
docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx (3)
6-6: Title casing/wording consistencyConsider “Decision‑Making for ALB Performance Selection” for consistency and clarity.
-# Decision Making for Performance Selection of ALB +# Decision‑Making for ALB Performance Selection
42-56: Polish wording in the usage tableSmall copyedits improve readability and avoid ambiguous phrasing like “mis-operations”.
- | **Function Testing** | It is advisable to deploy a **single instance** of the load balancer. | + | **Functional Testing** | It is advisable to deploy a **single instance** of the load balancer. | - | **Testing Environment** | ... using a **single point** load balancer is sufficient. ... + | **Testing Environment** | ... using a **single‑instance** load balancer is sufficient. ... - | **Allocate the load balancer as an instance resource to multiple projects** | Management is relatively straightforward. | Since all assigned projects hold full permissions ... **Mis-operations** during load balancer configuration ... + | **Allocate the load balancer as an instance resource to multiple projects** | Management is relatively straightforward. | Since all assigned projects hold full permissions ... **Misconfigurations** during load balancer configuration ... - | **For larger business volumes...** it is recommended to use **multiple** load balancers, each in a **high availability** type ... + | **For larger business volumes...** it is recommended to use **multiple** load balancers, each in **high‑availability** mode ...
16-16: Benchmark claims need contextAdd hardware, ALB version, and test methodology for the QPS figures. Otherwise they can mislead capacity planning.
-The peak QPS measured in a lab environment for this specification is approximately 300 requests per second. +The peak QPS measured in our lab (~300 rps) was observed on ALB vX.Y with N×CPU, M GiB RAM, test tool Z, 1 kB payload, keep‑alive on. Your results may vary.Also applies to: 26-26, 36-36
docs/en/configure/networking/how_to/alb/otel.mdx (6)
28-28: Link label and targetThe link text says “Creating Load Balancer” but targets deploy_alb.mdx. Align wording with the target.
-For instructions on creating an ALB, refer to [Creating Load Balancer](./deploy_alb.mdx). +For instructions on creating an ALB, refer to [Deploy ALB](./deploy_alb.mdx).
481-488: More robust IP discoveryGrepping all pods may return multiple lines and unexpected IPs. Narrow the selector and handle multiple pods deterministically.
-export JAEGER_IP=$(kubectl get po -A -o wide |grep jaeger | awk '{print $7}');echo "http://$JAEGER_IP:16686" +export JAEGER_IP=$(kubectl get pod -A -l service_name=jaeger -o jsonpath='{.items[0].status.podIP}'); echo "http://$JAEGER_IP:16686"-export ALB_IP=$(kubectl get po -A -o wide|grep otel-alb | awk '{print $7}');echo $ALB_IP +export ALB_IP=$(kubectl get pod -A -l app.kubernetes.io/name=otel-alb -o jsonpath='{.items[0].status.podIP}'); echo "$ALB_IP"If these labels aren’t present, please replace with the correct label selectors for your manifests.
153-154: Avoid hard‑coded CRD version index.spec.versions[2] is brittle across releases. Query by version name.
-kubectl get crd alaudaloadbalancer2.crd.alauda.io -o json|jq ".spec.versions[2].schema.openAPIV3Schema.properties.spec.properties.config.properties.otel" +kubectl get crd alaudaloadbalancer2.crd.alauda.io -o json \ +| jq '.spec.versions[] | select(.name=="v2" and .served==true) + | .schema.openAPIV3Schema.properties.spec.properties.config.properties.otel'
214-221: Anchor typo and cross‑referenceFix “sampoli” to “sampling-strategies” and update the reference.
-### Sampling Strategies \{#sampoli} +### Sampling Strategies \{#sampling-strategies}-| **sampler.name** | Sampling strategy name; see [Sampling Strategies](#sampoli) for details. | +| **sampler.name** | Sampling strategy name; see [Sampling Strategies](#sampling-strategies) for details. |Also applies to: 195-195
498-501: Add alt text for accessibilityProvide brief alt text for images.
- - + +
409-417: Host networking calloutRunning Jaeger with hostNetwork: true may be unacceptable in some clusters. Add a note about security and port conflicts.
hostNetwork: true + # Note: hostNetwork exposes ports on the node network; ensure this aligns with your cluster security policy and port availability.docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx (2)
1-1: Title case consistencyPrefer “in” lowercase unless your style guide enforces Title Case for all words.
-# Load Balancing Session Affinity Policy In ALB +# Load Balancing Session Affinity Policy in ALB
56-62: Confirm CRD field names and locationValidate that session_affinity_policy and session_affinity_attribute live under spec.serviceGroup for both Frontend and Rule CRDs. If they differ by kind, add examples for each.
# If the CRDs differ, consider documenting both: # Frontend spec: serviceGroup: session_affinity_policy: "rr" # Rule spec: serviceGroup: session_affinity_policy: "rr"docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx (1)
6-6: Title casingConsider “via ALB” (lowercase via) for consistency with other pages.
-# Forwarding IPv6 Traffic to IPv4 Addresses within the Cluster Via ALB +# Forwarding IPv6 Traffic to IPv4 Addresses within the Cluster via ALBdocs/en/configure/networking/how_to/alb/cors.mdx (3)
1-4: Section name plural“Basic Concepts” reads more naturally.
-## Basic Concept +## Basic Concepts
8-21: Clarify CRD field descriptions and grammarTighten language; keep behavior precise.
enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain + description: Whether ALB enables CORS at this rule. When false, requests are passed to backends unchanged and CORS handling (if any) is left to the backend. type: boolean corsAllowHeaders: - description: corsAllowHeaders defines the headers allowed by cors - when enableCORS is true, multiple headers are separated by commas + description: Comma‑separated list of request headers allowed by CORS when enableCORS is true. type: string corsAllowOrigin: - description: corsAllowOrigin defines the origin allowed by cors when - enableCORS is true, multiple origins are separated by commas + description: Comma‑separated list of allowed origins when enableCORS is true. Supports "*" to allow any origin (use with care). type: string
23-23: Add a minimal usage exampleA short Rule spec helps users translate fields into real YAML.
apiVersion: crd.alauda.io/v2 kind: Rule metadata: name: example-cors spec: serviceGroup: actions: - name: cors args: enableCORS: true corsAllowOrigin: "https://app.example.com" corsAllowHeaders: "Authorization,Content-Type"docs/en/configure/networking/how_to/alb/url_rewrite.mdx (2)
3-6: Tighten intro and fix capitalization.Shorten, fix grammar, and capitalize sentences.
-## Basic Concept -During the request processing flow, when ALB receives a request and forwards it to the backend server, ALB has the capability to rewrite the URL before sending the request to the backend server. - -you could use regex capture group to rewrite the URL. +## Basic concept +ALB can rewrite the request URL before forwarding it to the backend. + +You can use regex capture groups to rewrite the URL.
49-49: Polish the result sentence.Clarify example and fix grammar.
-client send url /prefix-x/abc and backend server receive url /abc +Example: client requests `/prefix-x/abc`; backend receives `/abc`.docs/en/configure/networking/concepts/gatewayapi.mdx (2)
8-9: Add alt text for accessibility.Provide descriptive alt text for the diagram.
- +
12-14: Tighten wording; pluralize and improve link text.Minor grammar and clearer CTA.
-ALB supports GatewayAPI. Each Gateway resource will be translated into an ALB resource. -Listener and Router will be handled in ALB directly. They will not be translated into `Frontend` and `Rule`. -[create gatewayapi gateway](../how_to/alb/configure_gatewayapi_gateway_via_alb.mdx) +ALB supports GatewayAPI. Each Gateway resource maps to an ALB resource. +Listeners and routers are handled directly by ALB; they are not translated into `Frontend` or `Rule`. +[Create a GatewayAPI Gateway via ALB](../how_to/alb/configure_gatewayapi_gateway_via_alb.mdx)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (4)
10-10: Fix typo.“In ingress-nginx, you can …”
-in ingress-nginx, you could you +In Ingress-NGINX, you can
13-16: Correct request/response header actions.Use headers-more input directives for request header removal; fix article usage.
-|remove header in request| set a empty header in request | -|set header in response|[configuration-snippets](https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/) with [more-set-header](https://github.com/openresty/headers-more-nginx-module?tab=readme-ov-file#more_set_headers) directive | +|remove header in request|[configuration-snippets](https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/) with [more_clear_input_headers](https://github.com/openresty/headers-more-nginx-module?tab=readme-ov-file#more_clear_input_headers) | +|set header in response|[configuration-snippets](https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/) with [more_set_headers](https://github.com/openresty/headers-more-nginx-module?tab=readme-ov-file#more_set_headers) |
18-19: Use HSTS (not HTST) and adjust link text.-## htst (HTTP Strict Transport Security) -[config htst](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts) +## HSTS (HTTP Strict Transport Security) +[configure HSTS](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#hsts)
21-21: Hyphenate “rate-limiting” (style).-## rate limiting +## rate-limitingdocs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx (3)
4-4: Title casing/style.Optional: use “via” lowercase per style.
-# Install Ingress-Nginx Via Cluster Plugin +# Install Ingress-NGINX via Cluster Plugin
156-156: Clarify version mapping (chart vs controller).Disambiguate to avoid confusion.
-Current version mapping: -- ACP Ingress NGINX 4.1.x corresponds to official Ingress NGINX 4.12.2 +Current version mapping: +- ACP Ingress-NGINX 4.1.x corresponds to the official chart 4.12.2 (controller v1.12.2)
158-161: Fix duplicate link; point “documentation” to docs site.Second and third bullets currently point to the same chart URL.
[tasks for ingress-nginx](./tasks_for_ingress_nginx.mdx) [official Ingress NGINX chart](https://github.com/kubernetes/ingress-nginx/tree/controller-v1.12.2/charts/ingress-nginx) -[official Ingress NGINX documentation](https://github.com/kubernetes/ingress-nginx/tree/controller-v1.12.2/charts/ingress-nginx) +[official Ingress NGINX documentation](https://kubernetes.github.io/ingress-nginx/)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (5)
6-6: Use “GatewayAPI” consistently.-# Configure GatewayApi Gateway Via ALB +# Configure GatewayAPI Gateway via ALB
36-37: Callout marker fine; consider clarifying label purpose.If “alb-ref” is mandatory, say so in text near the YAML.
69-70: Callouts grammar and casing.-1. which alb this gateway used. -2. See Gateway Class introduction below. -3. `alb2` name is formatted as `{gatewayName}-{random}`. -4. `gateway` name. +1. Which ALB this gateway uses. +2. See the Gateway Class introduction below. +3. `ALB2` name format: `{gatewayName}-{random}`. +4. Gateway name.
190-191: Listener notes look good; minor wording polish.-| **Domain Name** | Select an available domain name in the current namespace, used to monitor network traffic accessing this domain name. <br />**Hint**: TCP and UDP protocols do not support selecting domain names. | +| **Domain name** | Select an available domain name in the current namespace. <br />**Hint**: TCP and UDP do not support domain names. |
240-267: Update HTTPRoute sample to GA API v1The current GA version of the Gateway API is
gateway.networking.k8s.io/v1, and in that version:
- HTTPRoute’s host matching field remains
spec.hostnames(an array ofHostname) (gateway-api.sigs.k8s.io)- Gateway listeners use the singular
hostnamefield for virtual host matching (gateway-api.sigs.k8s.io)Please update the snippet in
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
(lines 240–267) to:-apiVersion: gateway.networking.k8s.io/v1beta1 +apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: namespace: k-1 name: example-http-route annotations: cpaas.io/display-name: "" spec: hostnames: - developer.test.cn # unchanged parentRefs: - kind: Gateway namespace: k-1 name: test sectionName: demo-listener # unchanged rules: – matches: – path: type: Exact value: "/demo" filters: [] backendRefs: – kind: Service name: test-service namespace: k-1 port: 80 weight: 100docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (4)
11-16: Grammar and clarity: fix articles, capitalization, and flow in Method 1 intro.Suggestion tightens wording and uses “an ALB”, “LoadBalancer Service”, and “MetalLB” consistently.
-When creating a ALB, using `Container network` Mode, it will automatically creates a LoadBalancer type Service to provide a VIP for the ALB. +When creating an ALB in `container` network mode, the system automatically creates a LoadBalancer Service to provide a VIP for that ALB. -Before using it, ensure that the current cluster supports LoadBalancer type service. You can use the platform's built-in LoadBalancer service implementation, for specific configuration, please refer to [Configure MetalLB](../../functions/create_metallb.mdx) +Before using this, ensure the cluster supports LoadBalancer Services. You can use the platform’s built‑in implementation. For setup, see [Configure MetalLB](../../functions/create_metallb.mdx). -After Metallb Ready, follow annotation could be [add to alb lbSvcAnnotations](./deploy_alb.mdx#alb_networking_configuration) to tweak metallb behavior. +After MetalLB is ready, you can add the following annotations to `alb.spec.config.vip.lbSvcAnnotations` to tweak MetalLB behavior. See [ALB networking configuration](./deploy_alb.mdx#alb_networking_configuration).
17-21: Table polish: capitalize headers; clarify multi‑VIP/dual‑stack; minor wording.Also add example formatting for multiple IPs.
-|annotation|description| +| Annotation | Description | |---|---| -|metallb.universe.tf/loadBalancerIPs|Specify the VIP allocated to the service, value is comma-separated VIPs. If multiple VIPs or dual-stack VIPs are needed, concatenate them with commas| +| `metallb.universe.tf/loadBalancerIPs` | Comma‑separated VIPs to allocate to the Service. Use multiple entries for multi‑VIP or dual‑stack, for example: `192.0.2.10,2001:db8::10`. | -|metallb.universe.tf/address-pool|Specify the address pool allocated to the service| +| `metallb.universe.tf/address-pool` | The MetalLB address pool to allocate from. |
22-25: External device method: tighten wording and split long sentence; add small safety note.Breaks the long bullet for readability; avoids implying endorsement of Alpha solution without caveat.
-* Please confirm with the network engineer the IP address (public IP, private IP, VIP) or domain name of the ALB service before deployment. If you want to use a domain name as the address for external traffic to access the ALB, you need to apply for a domain name in advance and configure domain name resolution. It is recommended to use a commercial Load Balancer device to provide a VIP, if not, you can use the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx) +* Before deployment, confirm with the network engineer the address used by the ALB service: public IP, private IP/VIP, or a domain name. +* If using a domain name, apply for the domain and configure DNS resolution in advance. +* We recommend a commercial load balancer device to provide the VIP. If unavailable, you can evaluate the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx) in non‑production environments.
26-34: Health check table: fix wording and punctuation; ensure consistent units.Also clarify “ALB upgrade” phrasing.
-* According to the business scenario, the external ALB needs to configure health checks for all the ports in use to reduce the downtime of ALB upgrade. The health check configuration is as follows: +* To minimize downtime during ALB upgrades, configure health checks on all in‑use ports. Recommended settings: - | **Protocol** | The protocol type of the health check, it is recommended to use TCP. | - | **Response Timeout** | The time required to receive the health check response, it is recommended to configure it to 2 seconds. | - | **Check Interval** | The time interval for the health check, it is recommended to configure it to 5 seconds. | - | **Unhealthy Threshold** | The number of consecutive failures after which the health check status of the backend server is determined to be failed, it is recommended to configure it to 3 times. | + | **Protocol** | Health check protocol. TCP is recommended. | + | **Response Timeout** | Time to wait for a response. Recommended: 2s. | + | **Check Interval** | Interval between checks. Recommended: 5s. | + | **Unhealthy Threshold** | Consecutive failures to mark backend unhealthy. Recommended: 3. |docs/en/configure/networking/how_to/alb/header_modification.mdx (5)
5-9: Intro wording: capitalize headings and improve tone.Use sentence case and avoid run‑ons.
-## Basic Concept -when a request is received, the header modification feature enables you to adjust the request header before it is forwarded to the backend server. -Similarly, when a response is received, the header modification feature enables you to adjust the response header before it is delivered to the client. +## Basic concepts +When a request is received, header modification allows adjusting request headers before forwarding to the backend. +Similarly, when a response is received, it allows adjusting response headers before they are returned to the client.
9-15: Annotations section: pluralize, clarify value format.-### use annotation +### Use annotations ... -the values are the json string of the config +Annotation values are JSON strings containing the config.
31-41: Variable explanation: fix grammar and add explicit example result.-notice the `xx_var` is the key of the variable in the context of alb, the value is the name of the variable. -for example, add follow annotation in ingress +Note: in `*_var` maps the key is the header name and the value is the ALB context variable name. +For example, add the following annotation to an Ingress: ... -will add key `x-my-host` and value of request host header to request header +This adds the `x-my-host` header with the value of the incoming request’s host (from `http_host`). +You can refer to the [Nginx variables](http://nginx.org/en/docs/varindex.html) for variable names.
43-49: Table formatting and wording.-ALB add some extra variables you can use +ALB provides additional variables:
50-60: Examples: fix typos and add minor safety note for Authorization header.-## examples -for example to add auth heaer from cookie you could use follow annotation +## Examples +To add an Authorization header from a cookie, you can use:Additionally, consider noting that sensitive headers like Authorization should be used over TLS only and scoped to trusted backends.
docs/en/configure/networking/how_to/alb/deploy_alb.mdx (9)
10-16: Wording: subject-verb agreement; merge sentences.-A deployment corresponding to each ALB, watches all frontends and rules attached to that alb, and routing requests to backend services based on frontend and rule configurations. +For each ALB, a corresponding Deployment watches all Frontends and Rules attached to that ALB and routes requests to backends based on those configurations.
14-16: VIP prerequisite link text: align with page title and fix article.-The high availability of the **Load Balancer** requires a VIP. Please refer to [Configure VIP](./deploy_high_available_vip_for_alb.mdx). +High availability for the load balancer requires a VIP. See [Deploy a Highly Available VIP for ALB](./deploy_high_available_vip_for_alb.mdx).
16-16: Grammar: “three parts of an ALB configuration”.-there are three part of a ALB configuration. +There are three parts to an ALB configuration.
74-81: Project configuration table: fill descriptions and fix heading.-#### project configuration -| Field | Type | -|-------|------| -| `.spec.config.projects` | []string,required | -| `.spec.config.portProjects` | string,optional | -| `.spec.config.enablePortProject` | bool,optional | +#### Project configuration +| Field | Type | Description | +|-------|------|-------------| +| `.spec.config.projects` | []string, required | Project IDs this ALB serves (e.g., `ALL_ALL`). | +| `.spec.config.portProjects` | string, optional | Project used for port‑range assignment (port project mode). | +| `.spec.config.enablePortProject` | bool, optional | Enable port‑project mode. |
94-109: UI flow: spelling and capitalization; fix “blow”, “webui”.-##### using the web console. +##### Using the web console ... -we expose some common configureation in web ui either, follow the steps blow to create a load balancer: +Some common configuration is exposed in the web UI. Follow these steps to create a load balancer: ... -Each input item on the webui corresponds to a field of the CR +Each input item in the web UI corresponds to a field of the CR:
105-109: Parameters table: fix markdown separator row.-|Parameter| Description| ---|--| +| Parameter | Description | +|---|---|
155-164: Frontend section: fix articles, spelling, and protocol list.-Frontend is a custom resource that defines the listener port and protocol for a ALB. -protocol including L7 protocol https|http|grpcs|grpc and L4 protocl tcp|udp +Frontend is a custom resource that defines the listener port and protocol for an ALB. +Supported protocols: L7 (http|https|grpc|grpcs) and L4 (tcp|udp).
192-209: Callouts: tighten bullets; fix run‑on sentence and missing space.-3. port: which port which listen on. +3. port: the port to listen on. ... -7. default servicegroup, For L4 proxy, `serviceGroup` is required and alb forward traffic to default service group directly. - For L7 proxy, `serviceGroup` is. optional. When a request arrives, ALB will first try to match it against rules associated with this `Frontend`. Only if the request doesn't match any - rule, ALB will then forward it to the default `serviceGroup` specified in the `Frontend` configuration. +7. Default `serviceGroup`: + - L4 proxy: required. ALB forwards traffic to the default service group directly. + - L7 proxy: optional. ALB first matches Rules on this Frontend; if none match, it falls back to the default `serviceGroup`.
239-281: Monitoring section: minor wording and punctuation.-By combining visualized logs and monitoring data, issues or failures with the load balancer can be quickly identified and resolved. +By combining logs and monitoring data, you can quickly identify and resolve load balancer issues.docs/en/configure/networking/architecture/understanding_alb.mdx (4)
13-15: Terminology: “manages”, “data plane”, “control plane”.-- **ALB Operator**: An operator that manage the lifecycle of ALB instances. It is responsible for watching ALB CRs and then creating and updating ALB instances for different tenants. -- **ALB Instance**: The ALB instance includes an Openresty that act as the data plan and a Go controller as the controller plan. +- **ALB Operator**: An operator that manages the lifecycle of ALB instances. It watches ALB CRs and creates/updates instances for different tenants. +- **ALB Instance**: An ALB instance includes OpenResty acting as the data plane and a Go controller as the control plane.
108-109: Shell example: placeholder variable formatting.-Now you can access the app via `curl http://${ip}` +Now you can access the app via `curl "http://${IP}"`
122-126: Wording: improve flow.-Next introduces how these concepts work together and what roles they play in the request-calling chain. Detailed introductions for each concept will be covered in other articles. +The following explains how these concepts work together in the request path. Detailed introductions for each concept are covered in separate articles.
212-215: Link text: align with target page title.-- [Configure a Load Balancer](../how_to/alb/deploy_alb.mdx) +- [Deploy ALB](../how_to/alb/deploy_alb.mdx)docs/en/configure/networking/how_to/alb/index.mdx (1)
1-7: Optional: add a short overview paragraph for SEO/context.Consider a one‑sentence description under the title.
# ALB - -<Overview /> +ALB (Application Load Balancer) provides L4/L7 traffic management for Kubernetes workloads with rule‑based routing, TLS, observability, and project isolation. + +<Overview />docs/en/configure/networking/how_to/alb/auth.mdx (1)
134-134: Retarget link to annotations doc (and tighten wording).The “Related Ingress Annotations” sentence should point to the Ingress-NGINX annotations page rather than the install guide, and “specific details” is redundant.
-[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the specific details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support. +[Ingress-NGINX annotations](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/) define how to configure authentication. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support.docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (1)
8-10: Minor grammar and link context polish.Improve readability and add “the” before “Kubernetes ecosystem.”
-The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. -This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. +The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. +This document compares [Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx) to help you choose.docs/en/configure/networking/functions/configure_ingress.mdx (3)
18-18: Clarify controller behavior wording.Small tweak to emphasize rules are derived from the Ingress.
-Ingress rules depend on the implementation of the Ingress Controller, which is responsible for listening to changes in Ingress and Service. After a new Ingress is created, when the Ingress Controller receives a request, it matches the forwarding rule from the Ingress and distributes the traffic to the specified internal routes, as shown in the diagram below. +Ingress behavior depends on the Ingress Controller, which listens for Ingress/Service changes. After a new Ingress is created, the controller matches a forwarding rule derived from the Ingress and routes traffic to the specified internal Service, as shown below.
24-26: Add a “Prerequisites” section and fix list placement.Add a heading and keep a blank line after the note block for proper rendering.
-::: -- [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) -- [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +::: + +### Prerequisites +- [Install ingress-nginx as the Ingress Controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Install ALB as the Ingress Controller](../how_to/alb/deploy_alb.mdx)
57-57: Tighten callout wording and define usage clearly.Clarify ingressClassName for both controllers.
-2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. +2. Set `ingressClassName: nginx` to use ingress-nginx. Set `ingressClassName: $alb_name` to use ALB.docs/en/configure/networking/functions/configure_alb_rule.mdx (8)
5-5: Article usage and spacing.“A Rule is …” and add a space before the parenthesis.
-Rule is a Custom Resource(CR) that defines how incoming requests are matched and processed by the ALB. +A Rule is a Custom Resource (CR) that defines how incoming requests are matched and processed by the ALB.
7-7: Fix self-link to section anchor.Use an in-page anchor rather than reloading the same file.
-Ingresses handled by ALB can be [auto translated to rules](./configure_alb_rule.mdx#alb_ingress). +Ingresses handled by ALB can be [auto translated to rules](#alb_ingress).
10-10: Expand abbreviation and improve clarity.Spell out Frontend (FT) on first mention.
-[install alb and ft](../how_to/alb/deploy_alb.mdx) +[Install ALB and Frontend (FT)](../how_to/alb/deploy_alb.mdx)
61-68: Header key casing consistency.Earlier text says “header’s location,” but the DSL uses
LOCATION. Align to one form (prefer consistent uppercase keys).
119-129: Polish table headers and naming.Capitalize “Link” and use consistent “Keepalive” casing.
-| Feature | Description |link| +| Feature | Description | Link | @@ -| KeepAlive | Enables or disables the keepalive feature for the application. |[keepalive](../how_to/alb/tcp_http_keepalive.mdx)| +| Keepalive | Enables or disables the keepalive feature for the application. |[keepalive](../how_to/alb/tcp_http_keepalive.mdx)|
141-152: Web UI phrasing.Use “Web UI” and vary repeated “Click …” phrasing.
-### using web console +### Using the Web UI @@ -Each input item on the webui corresponds to a field of the CR +Each input item on the Web UI corresponds to a field of the CR.
160-166: Protocol naming and clarity.Prefer “gRPC over TLS (gRPCS)” and tighten text.
-If the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use HTTPS. -You can specify the certificate either in the rule or in the ingress to match the certificate for that specific port. +If the frontend protocol (FT) is HTTPS or gRPC over TLS (gRPCS), the rule can also use HTTPS. +You can specify the certificate in the Rule or via Ingress to match a certificate for that port.
176-186: Convert inline steps to a proper list.Improves readability and MDX rendering.
-#### Edge Mode +#### Edge Mode @@ -To achieve this, you need to -1. create ft use https protocol -2. create rule with backend protocol http, and specify cert via `.spec.certificate_name` +To achieve this: +1. Create an FT using the HTTPS protocol. +2. Create a Rule with backend protocol HTTP, and specify the cert via `.spec.certificate_name`. @@ -#### Re-encrypt Mode +#### Re-encrypt Mode @@ -To achieve this, you need to -1. create ft use https protocol -2. create rule with backend protocol https, and specify cert via `.spec.certificate_name` +To achieve this: +1. Create an FT using the HTTPS protocol. +2. Create a Rule with backend protocol HTTPS, and specify the cert via `.spec.certificate_name`.docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx (4)
5-5: Title casing/naming nit: prefer “Ingress-NGINX”.Suggest polishing the H1 for brand/style consistency.
-# ALB with Ingress-nginx Annotation Compatibility +# ALB with Ingress-NGINX Annotation Compatibility
11-12: Fix grammar and add a quick legend for symbols.Shorten and clarify.
-ALB supports partial of those annotations. +ALB supports a subset of those annotations. + +Legend: v = supported; x = not supported; o = partially supported or achievable via configuration.
117-118: Clarify semantics: ModSecurity vs CIDR allow/deny.IP allow/deny via ModSecurity isn’t identical to nginx allow/deny (evaluation order, match behavior, CIDR nuances). Add a brief note to avoid user confusion.
-| nginx.ingress.kubernetes.io/denylist-source-range | CIDR | o can achieve similar effect through [modsecurity](../how_to/alb/modsecurity.mdx) | -| nginx.ingress.kubernetes.io/whitelist-source-range | CIDR | o can achieve similar effect through [modsecurity](../how_to/alb/modsecurity.mdx) | +| nginx.ingress.kubernetes.io/denylist-source-range | CIDR | o Similar effect via [ModSecurity](../how_to/alb/modsecurity.mdx); semantics differ from nginx allow/deny. | +| nginx.ingress.kubernetes.io/whitelist-source-range | CIDR | o Similar effect via [ModSecurity](../how_to/alb/modsecurity.mdx); semantics differ from nginx allow/deny. |
127-128: Use readable link text: “OpenTelemetry”.Minor polish to improve scannability.
-| nginx.ingress.kubernetes.io/enable-opentelemetry | "true" or "false" | v [otel](../how_to/alb/otel.mdx) | -| nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span | "true" or "false" | v [otel](../how_to/alb/otel.mdx) | +| nginx.ingress.kubernetes.io/enable-opentelemetry | "true" or "false" | v [OpenTelemetry](../how_to/alb/otel.mdx) | +| nginx.ingress.kubernetes.io/opentelemetry-trust-incoming-span | "true" or "false" | v [OpenTelemetry](../how_to/alb/otel.mdx) |
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
Outdated
Show resolved
Hide resolved
| ```yaml | ||
| apiVersion: networking.k8s.io/v1 | ||
| kind: Ingress | ||
| metadata: | ||
| nginx.ingress.kubernetes.io/rewrite-target: /$2 | ||
| name: demo | ||
| spec: | ||
| ingressClassName: alb | ||
| rules: | ||
| - http: | ||
| paths: | ||
| - backend: | ||
| service: | ||
| name: frontend | ||
| port: | ||
| number: 8080 | ||
| path: /(prefix-x)(/|$)(.*) | ||
| pathType: ImplementationSpecific | ||
| ``` |
There was a problem hiding this comment.
💡 Verification agent
❓ Verification inconclusive
Ingress example likely incorrect: NGINX annotations under alb class; missing use-regex; wrong capture group.
- If this is Ingress-NGINX, set
ingressClassName: ingress-nginxand addnginx.ingress.kubernetes.io/use-regex: "true". - If this is ALB, replace NGINX annotations with ALB-supported ones (or drop this section).
- The rewrite should use
$3(not$2) for your regex.
metadata:
- nginx.ingress.kubernetes.io/rewrite-target: /$2
+ nginx.ingress.kubernetes.io/use-regex: "true"
+ nginx.ingress.kubernetes.io/rewrite-target: /$3
spec:
- ingressClassName: alb
+ ingressClassName: ingress-nginx
@@
- path: /(prefix-x)(/|$)(.*)
+ path: /(prefix-x)(/|$)(.*)
pathType: ImplementationSpecificIf ALB supports an equivalent annotation, please switch to the ALB key and keep /\$3. Do you want me to provide the ALB-specific example?
Rework URL rewrite example for ALB vs NGINX Ingress
- Remove NGINX annotations when using
ingressClassName: alb. The AWS ALB Controller does not supportnginx.ingress.kubernetes.io/use-regexornginx.ingress.kubernetes.io/rewrite-target(stackoverflow.com). - For ALB, define redirect/forward actions using ALB annotations (e.g.
alb.ingress.kubernetes.io/actions.<name>andalb.ingress.kubernetes.io/conditions.<name>), or call out that regex-based path rewrites aren’t supported by ALB. - If you intend to use the NGINX Ingress Controller instead:
- Change
ingressClassNametoingress-nginx. - Add
nginx.ingress.kubernetes.io/use-regex: "true"(kubernetes.github.io). - Update the rewrite to
/\$3for the pattern/(prefix-x)(/|$)(.*), since$3captures the remaining path segment (using$2would include only the slash or end‐of‐string marker) (kubernetes.github.io).
- Change
- Example diff for NGINX usage:
metadata:
- nginx.ingress.kubernetes.io/rewrite-target: /$2
+ nginx.ingress.kubernetes.io/use-regex: "true"
+ nginx.ingress.kubernetes.io/rewrite-target: /$3
spec:
- ingressClassName: alb
+ ingressClassName: ingress-nginx
@@
- path: /(prefix-x)(/|$)(.*)
+ path: /(prefix-x)(/|$)(.*)
pathType: ImplementationSpecificLet me know if you’d like an ALB-specific example using alb.ingress.kubernetes.io/actions.*.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ```yaml | |
| apiVersion: networking.k8s.io/v1 | |
| kind: Ingress | |
| metadata: | |
| nginx.ingress.kubernetes.io/rewrite-target: /$2 | |
| name: demo | |
| spec: | |
| ingressClassName: alb | |
| rules: | |
| - http: | |
| paths: | |
| - backend: | |
| service: | |
| name: frontend | |
| port: | |
| number: 8080 | |
| path: /(prefix-x)(/|$)(.*) | |
| pathType: ImplementationSpecific | |
| ``` |
🤖 Prompt for AI Agents
In docs/en/configure/networking/how_to/alb/url_rewrite.mdx around lines 9 to 27,
the example uses NGINX-specific annotations and rewrite syntax while specifying
ingressClassName: alb; update the doc to either (A) show an ALB-compatible
example that removes nginx.* annotations and instead uses
alb.ingress.kubernetes.io/actions.<name> and
alb.ingress.kubernetes.io/conditions.<name> (or explicitly call out that ALB
does not support regex-based rewrites), or (B) convert the snippet to a correct
NGINX example by changing ingressClassName to ingress-nginx, adding
nginx.ingress.kubernetes.io/use-regex: "true", and updating the rewrite target
to /\$3 for the pattern /(prefix-x)(/|$)(.*); pick one approach and make the
content consistent with the chosen controller.
60fb8e2 to
252fd07
Compare
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/en/configure/networking/architecture/understanding_alb.mdx (1)
88-103: Demo Ingress should specify ingressClassName for ALB.Without an ingressClassName, the Ingress may be picked up by the wrong controller or not at all in multi-controller setups.
Apply:
kind: Ingress metadata: name: hello-world spec: + ingressClassName: $alb_name # replace with your ALB's IngressClass rules:
♻️ Duplicate comments (2)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
12-26: Ingress example inconsistent and wrong capture group; add use-regex and fix target.
- You’re using NGINX annotations with
ingressClassName: alb. If ALB supports these keys, keep them but make the regex usage correct.- For
/(prefix-x)(/|$)(.*), the tail is$3, not$2.- NGINX Ingress typically requires
nginx.ingress.kubernetes.io/use-regex: "true"withpathType: ImplementationSpecific.metadata: - nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$3 name: demo spec: - ingressClassName: alb + ingressClassName: alb @@ - path: /(prefix-x)(/|$)(.*) + path: /(prefix-x)(/|$)(.*) pathType: ImplementationSpecificdocs/en/configure/networking/how_to/alb/deploy_alb.mdx (1)
52-63: Critical: resource table keys don’t match example YAML or schema.The table uses
.spec.config.resource*(singular) but the example and typical schemas use.spec.config.resources*(plural), including nestedalblimits/requests. This will mislead users.Apply:
-#### Resource Configuration -resource related field describes the deployment configuration for the alb. +#### Resource configuration +Resource-related fields describe ALB pod resource settings. @@ -| `.spec.config.nodeSelector` |map[string]string | the node selector for the alb | -| `.spec.config.replicas` | int,optional default 3 | the number of replicas for the alb | -| `.spec.config.resource.limit` | k8s container-resource,optional | limit of nginx container of alb | -| `.spec.config.resource.request` | k8s container-resource,optional | request of nginx container of alb | -| `.spec.config.resource.alb.limit` | k8s container-resource,optional | limit of alb container of alb | -| `.spec.config.resource.alb.request` | k8s container-resource,optional | request of alb container of alb | -| `.spec.config.antiAffinityKey` | string,optional default local | k8s antiAffinityKey | +| `.spec.config.nodeSelector` | map[string]string | Node selector for the ALB. | +| `.spec.config.replicas` | int, optional, default 3 | Number of ALB replicas. | +| `.spec.config.resources.limits` | k8s container resources, optional | Limits for the nginx/OpenResty container. | +| `.spec.config.resources.requests` | k8s container resources, optional | Requests for the nginx/OpenResty container. | +| `.spec.config.resources.alb.limits` | k8s container resources, optional | Limits for the ALB controller/sidecar. | +| `.spec.config.resources.alb.requests` | k8s container resources, optional | Requests for the ALB controller/sidecar. | +| `.spec.config.antiAffinityKey` | string, optional, default `local` | Pod anti-affinity topology key. |
🧹 Nitpick comments (41)
docs/en/configure/networking/how_to/alb/auth.mdx (2)
134-134: Link target change: verify path + tighten wording.
- Please confirm the relative path resolves at build time.
- Consider trimming “specific details” → “details”.
-[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the specific details of the authentication process. +[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the details of the authentication process.
101-121: Ingress example: consider specifying ingressClass to target ALB.Without
ingressClassName: alb, selection depends on default controller behavior.metadata: name: auth-file annotations: "nginx.ingress.kubernetes.io/auth-type": "basic" "nginx.ingress.kubernetes.io/auth-secret": "default/auth-file" "nginx.ingress.kubernetes.io/auth-secret-type": "auth-file" spec: + ingressClassName: alb rules:docs/en/configure/networking/how_to/alb/cors.mdx (2)
9-11: Improve CRD field description grammar for enableCORS.Current phrasing is hard to parse.
-enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain +enableCORS: + description: Enables CORS handling at ALB. When false, ALB forwards requests + unchanged and the backend decides whether to allow cross‑origin access.
8-20: CORS options likely incomplete: consider documenting methods/credentials/expose/max-age.Most deployments need allowMethods, allowCredentials, exposeHeaders, and maxAge, plus how OPTIONS is handled (auto 204 vs upstream). If unsupported by ALB today, call that out explicitly.
docs/en/configure/networking/concepts/gatewayapi.mdx (2)
6-9: Nice context; consider naming the three personas explicitly.E.g., “infrastructure provider, cluster operator, and application developer” improves scannability.
12-14: Clarify supported Gateway API/Kubernetes versions.State the supported Gateway API version (v1 or v1beta1) and minimum Kubernetes version; helps users pick correct apiVersion.
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (2)
6-6: Unify capitalization: use “GatewayAPI”.-# Configure GatewayApi Gateway via ALB +# Configure GatewayAPI Gateway via ALB
36-36: Confirm label as the binding mechanism between Gateway and ALB.Is
alb.cpaas.io/alb-ref(label) the canonical way to bind a Gateway to an ALB2? If so, add a one‑line note stating the controller watches this label. If it should be an annotation instead, please switch.Also applies to: 73-76
docs/en/configure/networking/how_to/alb/header_modification.mdx (4)
18-28: Tighten Go comment phrasing; use concise, capitalized style.Improves readability and matches Go conventions.
type RewriteRequestConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersVar map[string]string `json:"headers_var,omitempty"` // set header, which values are variable name - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple - HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // add header, which values could be multiple and which values are variable name + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersVar map[string]string `json:"headers_var,omitempty"` // Set header; values are variable names + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; multiple values allowed + HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // Add header; multiple values allowed; values are variable names } type RewriteResponseConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; multiple values allowed }
30-41: Polish wording and capitalization in notes and example outcome.-Note: in `*_var` maps the key is the header name and the value is the ALB context variable name. +Note: In `*_var` maps, the key is the header name and the value is the ALB context variable name. @@ -will add key `x-my-host` and value of request host header to request header. -you can refer to the [nginx variable](http://nginx.org/en/docs/varindex.html) for the variable names. +This adds the `x-my-host` header with the value of the request Host header. +You can refer to [NGINX variables](http://nginx.org/en/docs/varindex.html) for variable names.
44-47: Fix minor grammar in variable descriptions.-| `first_forward_or_remote_addr` | the first forwarded address or the remote address, default is `remote_addr` | -| `first_forward` | the first forwarded address , default is empty string | +| `first_forward_or_remote_addr` | The first forwarded address or the remote address; defaults to `remote_addr`. | +| `first_forward` | The first forwarded address; defaults to an empty string. |
49-59: Capitalize section and tighten example intros.-## examples -To add an Authorization header from a cookie, you can use: +## Examples +Add an Authorization header from a cookie: @@ -To set HSTS, you can use: +Set HSTS:docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (3)
6-8: Capitalize heading; improve link label casing.-## prerequisites -[install ingress-nginx](./install_ingress_nginx_via_cluster_plugin.mdx) +## Prerequisites +[Install ingress-nginx](./install_ingress_nginx_via_cluster_plugin.mdx)
9-17: Use Title Case for section headings for consistency.-## max connections +## Max connections @@ -## timeout +## Timeout @@ -## sticky session +## Sticky sessions
18-25: Fix grammar in table entry.-|remove header in request| set a empty header in request | +|remove header in request| set an empty request header |docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (3)
5-5: Title grammar: “Highly Available”.-# Deploy High Available VIP for ALB +# Deploy a Highly Available VIP for ALB
24-24: Punctuate the sentence and end link with a period.-* Please confirm with the network engineer the IP address (public IP, private IP, VIP) or domain name of the ALB service before deployment. If you want to use a domain name as the address for external traffic to access the ALB, you need to apply for a domain name in advance and configure domain name resolution. It is recommended to use a commercial Load Balancer device to provide a VIP, if not, you can use the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx) +* Please confirm with the network engineer the IP address (public IP, private IP, VIP) or domain name of the ALB service before deployment. If you want to use a domain name as the address for external traffic to access the ALB, apply for the domain in advance and configure DNS. It is recommended to use a commercial Load Balancer device to provide a VIP; if not, you can use the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx).
28-35: Clarify health check table text.- | **Protocol** | The protocol type of the health check, it is recommended to use TCP. | - | **Response Timeout** | The time required to receive the health check response, it is recommended to configure it to 2 seconds. | - | **Check Interval** | The time interval for the health check, it is recommended to configure it to 5 seconds. | - | **Unhealthy Threshold** | The number of consecutive failures after which the health check status of the backend server is determined to be failed, it is recommended to configure it to 3 times. | + | **Protocol** | Protocol used for the health check; recommended: TCP. | + | **Response Timeout** | Time allowed to receive the health check response; recommended: 2 seconds. | + | **Check Interval** | Interval between health checks; recommended: 5 seconds. | + | **Unhealthy Threshold** | Consecutive failures before marking backend unhealthy; recommended: 3. |docs/en/configure/networking/functions/configure_alb_rule.mdx (5)
14-16: Clarify callout wording and capitalization.-:::note -rule must be attached to a frontend and alb via label. +:::note +A Rule must be attached to a Frontend and an ALB via labels. :::
152-152: “webui” → “Web UI”.-Each input item on the webui corresponds to a field of the CR +Each input item on the Web UI corresponds to a field of the CR
154-154: Capitalize subsection heading.-### using the CLI +### Using the CLI
160-186: HTTPS section casing and step grammar fixes.-## Https +## HTTPS @@ -#### Edge Mode +#### Edge mode @@ -1. create ft use https protocol -2. create rule with backend protocol http, and specify cert via `.spec.certificate_name` +1. Create an ft using the HTTPS protocol. +2. Create a rule with `backendProtocol: http`, and specify a certificate via `.spec.certificate_name`. @@ -#### Re-encrypt Mode +#### Re-encrypt mode @@ -1. create ft use https protocol -2. create rule with backend protocol https, and specify cert via `.spec.certificate_name` +1. Create an ft using the HTTPS protocol. +2. Create a rule with `backendProtocol: https`, and specify a certificate via `.spec.certificate_name`.
203-213: Capitalize “SSL strategy” heading and tighten bullets.-#### ssl strategy \{#alb_ingress_ssl_strategy} +#### SSL strategy \{#alb_ingress_ssl_strategy} @@ -- `.spec.config.defaultSSLStrategy`: Defines the SSL strategy for ingresses without certificates -- `.spec.config.defaultSSLCert`: Sets the default certificate in the format `$secret_ns/$secret_name` +- `.spec.config.defaultSSLStrategy`: SSL strategy for ingresses without certificates. +- `.spec.config.defaultSSLCert`: Default certificate in the format `$secret_ns/$secret_name`. @@ -- **Never**: Do not create rules on HTTPS ports (default behavior) -- **Always**: Create rules on HTTPS ports using the default certificate +- **Never**: Do not create rules on HTTPS ports (default). +- **Always**: Create rules on HTTPS ports using the default certificate.docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (4)
8-10: Grammar: add article and refine sentence.-The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. -This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. +The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. +This document compares them—[Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)—to help users choose appropriately.
22-24: Subject–verb agreement.-Ingress is the standard specification adopted by the Kubernetes community and are recommended for default use. +Ingress is the standard specification adopted by the Kubernetes community and is recommended for default use.
27-30: Tighten Gateway API wording and fix pluralization.-GatewayAPI provides more flexible isolation mode, however they are not as mature as Ingress. -By using GatewayAPI developer can create their own isolated ALB instances to handle GatewayAPI rules. -Therefore, if you need to delegate the creation and management of ALB instances to developers, you need to choose to use GatewayAPI. +Gateway API provides a more flexible isolation model but is not as mature as Ingress. +Using Gateway API, developers can create their own isolated ALB instances to handle Gateway API rules. +If you need to delegate the creation and management of ALB instances to developers, choose Gateway API.
33-35: Spacing and naming consistency (Gateway API).-ALB Rule(Load Balancer in the UI) provides the most flexible traffic match rules and the most capabilities. In fact, both Ingress and GatewayAPI are implemented by translating them to ALB Rules. -However, the ALB Rule is more complex than Ingress and GatewayAPI and is not a community-standard API. Therefore, we recommend using it only when Ingress and GatewayAPI don't meet your needs. +ALB Rule (Load Balancer in the UI) provides the most flexible traffic match rules and the most capabilities. In fact, both Ingress and Gateway API are implemented by translating them to ALB Rules. +However, ALB Rule is more complex than Ingress and Gateway API and is not a community-standard API. Therefore, we recommend using it only when Ingress and Gateway API don't meet your needs.docs/en/configure/networking/architecture/understanding_alb.mdx (3)
29-46: Nit: tighten YAML comments and keep namespace consistent with other pages.
- “the ip address of node where alb been deployed” → improve grammar.
- Other pages use the cpaas-system namespace; this example uses kube-system. Consider aligning or noting both are acceptable.
Apply:
metadata: - name: alb-demo - namespace: kube-system + name: alb-demo + namespace: cpaas-system # align with other ALB docs, or add a note if kube-system is intended @@ - address: "172.20.0.5" # the ip address of node where alb been deployed + address: "172.20.0.5" # Node IP where the ALB runs (hostNetwork)
106-106: Define the IP used in the curl example.Make it explicit this is the ALB address (spec.address or the LB Service IP/FQDN when in container mode).
Apply:
-Now you can access the app via `curl http://${ip}` +Now you can access the app via `curl http://<ALB_ADDRESS>` (use `.spec.address` in host mode or the LoadBalancer Service address in container mode).
166-169: Unify component naming: “ALB Operator” vs “ALB-Operator”.Use one style across the docs; earlier sections use “ALB Operator”.
Apply:
-### ALB-Operator +### ALB Operator @@ -ALB-Operator, a default component deployed in the cluster, is an operator for ALB. +ALB Operator, a default component deployed in the cluster, manages ALB resources.docs/en/configure/networking/functions/configure_ingress.mdx (4)
18-24: Improve “Implementation Method” wording; add a prerequisites header before controller install links.Minor clarity tweak and structure the controller install links as prerequisites.
Apply:
-Ingress rules depend on the implementation of the Ingress Controller, which is responsible for listening to changes in Ingress and Service. After a new Ingress is created, when the Ingress Controller receives a request, it matches the forwarding rule from the Ingress and distributes the traffic to the specified internal routes, as shown in the diagram below. +Ingress behavior depends on the Ingress controller, which watches Ingress/Service changes. After an Ingress is created, the controller matches incoming requests against the Ingress rules and routes traffic to the configured Services, as shown below. @@ -:::note +:::note @@ -::: -- [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) -- [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +::: + +### Prerequisites +- [Install ingress-nginx](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Deploy ALB](../how_to/alb/deploy_alb.mdx)
53-59: Clarify Callout 2 about ingressClassName and ALB.Current phrasing is hard to parse and doesn’t show how to set the class for ALB.
Apply:
-2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. +2. Set `spec.ingressClassName: nginx` to use the ingress-nginx controller, or set `spec.ingressClassName: $alb_name` to use ALB (replace `$alb_name` with your ALB’s IngressClass).
61-61: Grammar: “Creating an Ingress”.Apply:
-## Creating a Ingress by using the web console +## Creating an Ingress by using the web console
82-86: Grammar: “Creating an Ingress” + ensure code block ends cleanly.Apply:
-## Creating a Ingress by using the CLI +## Creating an Ingress by using the CLI @@ -kubectl apply -f nginx-ingress.yaml +kubectl apply -f nginx-ingress.yamldocs/en/configure/networking/how_to/alb/deploy_alb.mdx (7)
65-73: Tighten networking description; minor grammar.Improve clarity and casing; keep address responsibility explicit.
Apply:
-#### Networking Configuration \{#alb_networking_configuration\} -Networking fields describe how to access the ALB. For example, in `host` mode, alb will use hostnetwork, and you can access the ALB via the node IP. +#### Networking configuration {#alb_networking_configuration} +Networking fields describe how to access the ALB. In `host` mode, the ALB uses hostNetwork and is reachable via the node IP; in `container` mode, it uses a LoadBalancer Service. @@ -| `.spec.address` | string,required | you could manually specify the address of alb | +| `.spec.address` | string, required | Manually specified ALB address (node IP for host mode, or leave empty in container mode to use the LB Service address). |
74-80: Capitalize section title; add descriptions for project fields.Also ensure these keys match the CRD (projects vs project).
Apply:
-#### project configuration -| Field | Type | -|-------|------| -| `.spec.config.projects` | []string,required | -| `.spec.config.portProjects` | string,optional | -| `.spec.config.enablePortProject` | bool,optional | +#### Project configuration +| Field | Type | Description | +|-------|------|-------------| +| `.spec.config.projects` | []string, required | Projects (namespaces set) this ALB serves. Use `ALL_ALL` for cluster-wide. | +| `.spec.config.portProjects` | string, optional | Project name for port-range binding (port-project mode). | +| `.spec.config.enablePortProject` | bool, optional | Enable port-project mode for per-project port ranges. |
81-88: Clarify effects of project and port-project modes.Make consequences explicit; current bullets are terse.
Apply:
-1. In the web UI, only users in the given project can find and configure this ALB. -2. This ALB will handle ingress resources belonging to this project. Please refer to [ingress-sync](../../functions/configure_alb_rule.mdx#alb_ingress_sync). +1. In the web UI, only users in the selected project(s) can view and configure this ALB. +2. The ALB only translates/serves Ingresses in namespaces belonging to the configured project set. See [ingress-sync](../../functions/configure_alb_rule.mdx#alb_ingress_sync). @@ -1. You cannot create ports that do not belong to the port range assigned to the project. +1. Listener ports must fall within the assigned project port range.
89-93: Capitalize and rephrase “tweak configuration” section.Also clarify that these are fields in the ALB CR.
Apply:
-#### tweak configuration -there are some global config which can be tweaked in alb cr. +#### Tweak configuration +Some global behaviors can be tuned via fields on the ALB CR:
94-109: UI text polish and parameter descriptions.Minor grammar; clarify “Allocated By”.
Apply:
-### Operation On ALB +### Operations on ALB @@ -##### Using the web console. +##### Using the web console @@ -Each input item in the web UI corresponds to a field of the CR: +Each input item in the web UI corresponds to a CR field: @@ -|Allocated By| `Instance` means project mode, and you could select project below, port means port-project mode, you could assign port-range after create alb | +|Allocated By| `Instance` = project mode (select projects below). `Port` = port-project mode (assign a port range after creating the ALB). |
192-201: Frontend callouts: fix grammar and be explicit about protocol behavior.Minor phrasing and punctuations.
Apply:
-1. alb label: Required, indicate the ALB instance to which this `Frontend` belongs to. +1. ALB label: Required. Indicates which ALB this `Frontend` belongs to. @@ -3. port: which port which listen on. -4. protocol: what protocol this port uses. +3. port: Listener port. +4. protocol: Listener protocol. @@ - - When selecting the gRPC protocol, the backend protocol defaults to gRPC, which does not support session persistence.If a certificate is set for the gRPC protocol, the load balancer will unload the gRPC certificate and forward the unencrypted gRPC traffic to the backend service. + - For gRPC, the backend protocol defaults to gRPC and does not support session persistence. If a certificate is set for gRPC, the load balancer terminates TLS (gRPCS) and forwards plaintext gRPC to the backend.
213-235: UI/CLI headings + “webui” casing.Minor style fixes for consistency.
Apply:
-### Operation On Frontend +### Operations on Frontend @@ -##### using the web console +##### Using the web console @@ -Each input item on the webui corresponds to a field of the CR +Each input item in the web UI corresponds to a field of the CR: @@ -##### using the CLI +##### Using the CLI
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (4)
docs/en/configure/networking/assets/create_alb_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_ft_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_rule_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/gatewayapi-architecture.pngis excluded by!**/*.png
📒 Files selected for processing (26)
docs/en/configure/networking/architecture/understanding_alb.mdx(3 hunks)docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx(7 hunks)docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx(1 hunks)docs/en/configure/networking/concepts/gatewayapi.mdx(1 hunks)docs/en/configure/networking/functions/configure_alb_rule.mdx(1 hunks)docs/en/configure/networking/functions/configure_ingress.mdx(3 hunks)docs/en/configure/networking/how_to/alb/auth.mdx(2 hunks)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/cors.mdx(1 hunks)docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/deploy_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/header_modification.mdx(1 hunks)docs/en/configure/networking/how_to/alb/http_redirect.mdx(1 hunks)docs/en/configure/networking/how_to/alb/index.mdx(1 hunks)docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx(1 hunks)docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/otel.mdx(4 hunks)docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx(1 hunks)docs/en/configure/networking/how_to/alb/url_rewrite.mdx(1 hunks)docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx(0 hunks)docs/en/configure/networking/how_to/create_loadbalancer.mdx(0 hunks)docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx(0 hunks)docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx(2 hunks)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx(1 hunks)
💤 Files with no reviewable changes (3)
- docs/en/configure/networking/how_to/create_loadbalancer.mdx
- docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx
- docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx
✅ Files skipped from review due to trivial changes (5)
- docs/en/configure/networking/how_to/alb/http_redirect.mdx
- docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx
- docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
- docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx
🚧 Files skipped from review as they are similar to previous changes (5)
- docs/en/configure/networking/how_to/alb/index.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx
- docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx
- docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx
🧰 Additional context used
🪛 LanguageTool
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
[grammar] ~9-~9: There might be a mistake here.
Context: ..._cluster_plugin.mdx) ## max connections [max-worker-connections](https://kubernet...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...map/#max-worker-connections) ## timeout [config timeout](https://kubernetes.githu...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...roxy-connect-timeout) ## sticky session [config sticky session](https://kubernete...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ...ity/cookie/#sticky-sessions) ## header modification |action|link| |--|--| |set header in request|[proxy-se...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...onfigmap/#hide-headers)| ## url rewrite [rewrite](https://kubernetes.github.io/in...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...## HSTS (HTTP Strict Transport Security) [configure HSTS](https://kubernetes.github.io/ingr...
(QB_NEW_EN)
[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ginx-configuration/configmap/#hsts) ## rate limiting [config rate limiting](https://kubernet...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ation/configmap/#hsts) ## rate limiting [config rate limiting](https://kubernetes...
(QB_NEW_EN)
[grammar] ~38-~38: There might be a mistake here.
Context: ...modsecurity/) ## forward-header control [x-forwarded-prefix-header](https://kuber...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...uthentication) ### tls edge termination [backend protocol](https://kubernetes.git...
(QB_NEW_EN)
[grammar] ~49-~49: There might be a mistake here.
Context: ...ions/#backend-protocol) ### passthrough [ssl-passthrough]https://kubernetes.gith...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_ingress.mdx
[grammar] ~24-~24: There might be a mistake here.
Context: ... add the 80 and 443 listening ports. ::: - [install ingress-nginx as ingress-control...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...tall ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - [install alb as ingress-controller](../ho...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...dx) - install alb as ingress-controller ## Example Ingress: ```yaml # nginx-ingres...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ...inxcontroller,$alb_name` to use alb as ingress controller. 3. If you only want...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ..._name` to use alb as ingress controller. 3. If you only want to run ingress locally,...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
[grammar] ~6-~6: Ensure spelling is correct
Context: ...52c10984d03564c0cdec45 --- # Configure GatewayApi Gateway via ALB An inbound gateway (Ga...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx
[grammar] ~6-~6: There might be a mistake here.
Context: ...ps to rewrite the URL. ## Configuration via ingress annotation ```yaml apiVersio...
(QB_NEW_EN)
[grammar] ~48-~48: There might be a mistake here.
Context: ...rget: /$3 ``` Example: client requests /prefix-x/abc; backend receives `/abc`.
(QB_NEW_EN)
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx
[grammar] ~8-~8: There might be a mistake here.
Context: ...multiple ingress traffic specifications in Kubernetes ecosystem. This document com...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... specifications in Kubernetes ecosystem. This document compares them ([Service](....
(QB_NEW_EN)
docs/en/configure/networking/concepts/gatewayapi.mdx
[grammar] ~12-~12: There might be a mistake here.
Context: ...ateway resource maps to an ALB resource. Listeners and routers are handled direct...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_alb_rule.mdx
[grammar] ~1-~1: There might be a mistake here.
Context: # Configure ALB Rules ## Introduction ### What is a Rule? Rule i...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ... must be attached to a frontend and alb via label. ::: ```yaml apiVersion: crd.ala...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...ttached to a frontend and alb via label. ::: ```yaml apiVersion: crd.alauda.io/v...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...e Frontend to which this rule belongs. 2. Required, indicate the ALB to which this...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ... used to describe the matching criteria. For example, the rule below matches a re...
(QB_NEW_EN)
[grammar] ~116-~116: There might be a mistake here.
Context: ...rity` using an integer value. ## Action After a request matches a rule, you can ...
(QB_NEW_EN)
[grammar] ~121-~121: There might be a mistake here.
Context: ...meout](../how_to/alb/l4_l7_timeout.mdx)| | Redirect | Redirects incoming ...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...irect](../how_to/alb/http_redirect.mdx)| | CORS | Enables Cross-Origi...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ... |cors| | Header Modification | Allows modifi...
(QB_NEW_EN)
[grammar] ~124-~124: There might be a mistake here.
Context: ...(../how_to/alb/header_modification.mdx)| | URL Rewrite | Rewrites the URL of...
(QB_NEW_EN)
[grammar] ~125-~125: There might be a mistake here.
Context: ...rewrite](../how_to/alb/url_rewrite.mdx)| | WAF | Integrates Web Appl...
(QB_NEW_EN)
[grammar] ~126-~126: There might be a mistake here.
Context: ... |waf| | OTEL | Enables OpenTelemet...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...g. |otel| | Keepalive | Enables or disable...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...## backend protocol {#backend_protocol} By default, the backend protocol is set ...
(QB_NEW_EN)
[grammar] ~134-~134: There might be a mistake here.
Context: ...ession Affinity Policy {#service_group} You can configure one or more services w...
(QB_NEW_EN)
[grammar] ~141-~141: There might be a mistake here.
Context: ...ty_policy_in_alb.mdx). ## Creating Rule ### Using web console 
[style] ~147-~147: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the load balancer. 4. Click on the name of the listener port. 5. Cl...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~148-~148: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the listener port. 5. Click Add Rule. 6. Refer to the following...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~152-~152: Ensure spelling is correct
Context: ... Click Add. Each input item on the webui corresponds to a field of the CR ### u...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: Ensure spelling is correct
Context: ... the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ule can also be configured to use HTTPS. You can specify the certificate either i...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: .... ### Certificate Annotation in Ingress Certificates can be referenced across na...
(QB_NEW_EN)
[grammar] ~172-~172: There might be a mistake here.
Context: ...Certificate in Rule {#certificate_name} In .spec.certificate_name, the format ...
(QB_NEW_EN)
[grammar] ~175-~175: There might be a mistake here.
Context: ...et_namespace/$secret_name` ### TLS Mode #### Edge Mode In edge mode, the client commu...
(QB_NEW_EN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...ecret_name` ### TLS Mode #### Edge Mode In edge mode, the client communicates wi...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ...th backend services using HTTP protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...ve this: 1. create ft use https protocol 2. create rule with backend protocol http, ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol http, and specify cert...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te rule with backend protocol http, and specify cert via .spec.certificate_name #### ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... ALB communicates with backend services using HTTPS protocol. To achieve this: 1. cre...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...h backend services using HTTPS protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol https, and specify cer...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...e rule with backend protocol https, and specify cert via .spec.certificate_name ## I...
(QB_NEW_EN)
[grammar] ~188-~188: There might be a mistake here.
Context: ...s} ### ingress sync {#alb_ingress_sync} Each ALB creates an IngressClass with th...
(QB_NEW_EN)
[grammar] ~200-~200: There might be a mistake here.
Context: ....source.namespace` is ingress namespace. ::: #### ssl strategy {#alb_ingress_ss...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...sl strategy {#alb_ingress_ssl_strategy} For ingresses that do not have certifica...
(QB_NEW_EN)
[grammar] ~206-~206: There might be a mistake here.
Context: ...om resource with the following settings: - .spec.config.defaultSSLStrategy: Defines the SSL strategy for ingresses...
(QB_NEW_EN)
[grammar] ~210-~210: There might be a mistake here.
Context: ...$secret_name` Available SSL strategies: - Never: Do not create rules on HTTPS po...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/auth.mdx
[style] ~134-~134: This phrase is redundant. Consider writing “details”.
Context: ... series of annotations to configure the specific details of the authentication process. Below is...
(SPECIFIC_DETAILS)
docs/en/configure/networking/how_to/alb/cors.mdx
[grammar] ~3-~3: There might be a mistake here.
Context: # CORS ## Basic Concepts [CORS](https://developer.mozilla.org/en-U...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx
[grammar] ~7-~7: There might be a mistake here.
Context: ...70cb27c0597def5 --- # Deploy ALB ## ALB ALB is a custom resource that represents a ...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...e: nginx ``` #### Resource Configuration resource related field describes the deployment ...
(QB_NEW_EN)
[grammar] ~53-~53: There might be a mistake here.
Context: ...he deployment configuration for the alb. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~66-~66: There might be a mistake here.
Context: ... you can access the ALB via the node IP. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~69-~69: There might be a mistake here.
Context: ...d uses its address as the ALB address. | | .spec.address | string,required | yo...
(QB_NEW_EN)
[grammar] ~70-~70: There might be a mistake here.
Context: ...ld manually specify the address of alb | | .spec.config.vip.enableLbSvc | bool,...
(QB_NEW_EN)
[grammar] ~74-~74: There might be a mistake here.
Context: ...r Service. | #### project configuration | Field | Type | |-------|------| | `.s...
(QB_NEW_EN)
[grammar] ~75-~75: There might be a mistake here.
Context: ... project configuration | Field | Type | |-------|------| | `.spec.config.project...
(QB_NEW_EN)
[grammar] ~76-~76: There might be a mistake here.
Context: ...ation | Field | Type | |-------|------| | .spec.config.projects | []string,req...
(QB_NEW_EN)
[grammar] ~77-~77: There might be a mistake here.
Context: ...c.config.projects| []string,required | |.spec.config.portProjects` | string,o...
(QB_NEW_EN)
[grammar] ~78-~78: There might be a mistake here.
Context: ...config.portProjects| string,optional | |.spec.config.enablePortProject` | boo...
(QB_NEW_EN)
[grammar] ~82-~82: There might be a mistake here.
Context: ...project can find and configure this ALB. 2. This ALB will handle ingress resources b...
(QB_NEW_EN)
[grammar] ~90-~90: There might be a mistake here.
Context: ...obal config which can be tweaked in alb cr. - bind-nic - [ingr...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ch can be tweaked in alb cr. - bind-nic - [ingress-sync](../../functions/configure_...
(QB_NEW_EN)
[grammar] ~105-~105: There might be a mistake here.
Context: ...eld of the CR: |Parameter| Description| |--|--| |Assigned Address| `.spec.addres...
(QB_NEW_EN)
[grammar] ~106-~106: There might be a mistake here.
Context: ...he CR: |Parameter| Description| |--|--| |Assigned Address| .spec.address| |All...
(QB_NEW_EN)
[grammar] ~107-~107: There might be a mistake here.
Context: ...|--| |Assigned Address| .spec.address| |Allocated By| Instance means project ...
(QB_NEW_EN)
[grammar] ~136-~136: There might be a mistake here.
Context: ...tate. 5. Click Update. #### Delete ##### Using the web console :::note After del...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... (tcp|udp). In L4 Proxy use frontend to configure backend service directly. In L7 Proxy u...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...d to configure backend service directly. In L7 Proxy use frontend to configure li...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ..._rule.mdx) to configure backend service. If you need to add an HTTPS listener por...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...adings-in-section */} ### Prerequisites Create a ALB first. ### Configure Front...
(QB_NEW_EN)
[grammar] ~195-~195: There might be a mistake here.
Context: ...ntend name: Format as $alb_name-$port. 3. port: which port which listen on. 4. pro...
(QB_NEW_EN)
[grammar] ~196-~196: There might be a mistake here.
Context: ...t`. 3. port: which port which listen on. 4. protocol: what protocol this port uses. ...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...ed, Format as $secret_ns/$secret_name. 6. backendProtocol: what protocol the backe...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...alls back to the default serviceGroup. 8. [session_affinity_policy](./load_balancin...
(QB_NEW_EN)
[grammar] ~214-~214: There might be a mistake here.
Context: ... ### Operation On Frontend #### Creating ##### using the web console 
[grammar] ~225-~225: Ensure spelling is correct
Context: ...k Add Port. Each input item on the webui corresponds to a field of the CR |Param...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~226-~226: There might be a mistake here.
Context: ... field of the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serv...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serviceGroup.s...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
[grammar] ~17-~17: There might be a mistake here.
Context: ...guration). | Annotation | Description | |---|---| | `metallb.universe.tf/loadBal...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... | Annotation | Description | |---|---| | metallb.universe.tf/loadBalancerIPs ...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... pool to allocate from. | ## Method 2: Use external ALB device to provide VIP * P...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...the ports in use to reduce the downtime of ALB upgrade. The health check configura...
(QB_NEW_EN)
[grammar] ~31-~31: There might be a mistake here.
Context: ...h check, it is recommended to use TCP. | | Response Timeout | The time requir...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ommended to configure it to 2 seconds. | | Check Interval | The time interval...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/header_modification.mdx
[grammar] ~10-~10: There might be a mistake here.
Context: ...annotation key | |---------|-----------------------------...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...---------------------------------------| | ingress | `alb.ingress.cpaas.io/rewrit...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...alb.ingress.cpaas.io/rewrite-response| | rule |alb.rule.cpaas.io/rewrite-r...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ... value is the ALB context variable name. For example, add the following annotatio...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ... | |--------------------------------|------...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ...---------------------------------------| | first_forward_or_remote_addr | the f...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...mote address, default is remote_addr | | first_forward | the f...
(QB_NEW_EN)
🔇 Additional comments (10)
docs/en/configure/networking/how_to/alb/auth.mdx (1)
7-7: Title tweak LGTM.Pluralizing to “Basic Concepts” reads better and matches section content.
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
44-46: Rule CR example: capture group usage is correct.
rewrite_target: /$3matches the regex and produces the intended/abc. Good.docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (2)
53-70: Verify enableAlb semantics in ALB2 spec.
config.enableAlb: falselooks counterintuitive when creating an ALB for a Gateway. If this is required for “gateway mode,” add a short note explaining why; otherwise set it to true.
96-96: Link path update LGTM.The new path to service annotations makes sense in the reorganized docs.
docs/en/configure/networking/how_to/alb/header_modification.mdx (1)
18-28: Resolved: Go block now uses // comments (previous bot comment addressed).docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (1)
24-24: No action needed: referenced document exists and link is valid.The file
soft_data_center_lb_solution.mdxis present atdocs/en/configure/networking/how_to/soft_data_center_lb_solution.mdx, which matches the relative link../soft_data_center_lb_solution.mdx.docs/en/configure/networking/functions/configure_alb_rule.mdx (1)
119-129: All cross-linked documentation files verified
All eight referenced MDX files underdocs/en/configure/networking/how_to/alb/were found, confirming that every link in the ALB rules feature table points to an existing document.docs/en/configure/networking/architecture/understanding_alb.mdx (1)
12-13: Nice clarity on control/data plane roles.The Operator/Instance split and CR-to-DSL flow are explained clearly and align with the rest of the docs.
docs/en/configure/networking/how_to/alb/deploy_alb.mdx (2)
164-171: Grammar: “an ALB”; verify CRD version for Frontend.Small wording fix; also confirm
apiVersion: crd.alauda.io/v1is correct for Frontend while ALB uses v2beta1.Apply:
-Create a ALB first. +Create an ALB first.
251-281: Monitoring section reads well; LGTM.The prerequisites and metric definitions are clear and actionable.
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
Show resolved
Hide resolved
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
Outdated
Show resolved
Hide resolved
5c5decf to
3ae0a2f
Compare
There was a problem hiding this comment.
Actionable comments posted: 5
♻️ Duplicate comments (5)
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (1)
49-50: Fix malformed passthrough linkProper markdown link formatting.
Apply:
-### Passthrough -[ssl-passthrough]https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough) +### Passthrough +[ssl-passthrough](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough)docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
6-7: Controller/annotation mismatch: NGINX annotations withingressClassName: alb.This mixes NGINX-specific annotations with an ALB ingress class. Either convert this to a correct NGINX example or replace with ALB-supported configuration.
Option A — keep NGINX example (recommended for this snippet):
-## Configuration -via ingress annotation +## Configuration +Via Ingress (NGINX) annotations @@ metadata: - nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$3 name: demo spec: - ingressClassName: alb + ingressClassName: ingress-nginx @@ - path: /(prefix-x)(/|$)(.*) + path: /(prefix-x)(/|$)(.*) pathType: ImplementationSpecificOption B — provide an ALB example: replace
nginx.*keys with ALB’s rewrite mechanism (annotations or Rule CR), and keepingressClassName: alb. I can draft the ALB-specific snippet if you share the exact keys supported.Also applies to: 9-16, 24-26
docs/en/configure/networking/functions/configure_alb_rule.mdx (1)
111-113: Annotation domain fixed (cpas → cpaas). LGTM.The ingress priority annotation now uses
alb.cpaas.io. Good catch; examples won’t break configs.docs/en/configure/networking/how_to/alb/deploy_alb.mdx (2)
65-66: Fix escaped anchor so other pages can link here.Escaped braces prevent the
#alb_networking_configurationanchor from being generated.-#### Networking Configuration \{#alb_networking_configuration\} +#### Networking Configuration {#alb_networking_configuration}
52-61: Resource config table keys are incorrect (resource→resources), risking user misconfig.Field paths should match the sample YAML and CRD; current entries use singular
resourceand wrong subkeys.-| `.spec.config.resource.limit` | k8s container-resource,optional | limit of nginx container of alb | -| `.spec.config.resource.request` | k8s container-resource,optional | request of nginx container of alb | -| `.spec.config.resource.alb.limit` | k8s container-resource,optional | limit of alb container of alb | -| `.spec.config.resource.alb.request` | k8s container-resource,optional | request of alb container of alb | +| `.spec.config.resources.limits` | k8s container resources, optional | Limits for the nginx container. | +| `.spec.config.resources.requests` | k8s container resources, optional | Requests for the nginx container. | +| `.spec.config.resources.alb.limits` | k8s container resources, optional | Limits for the ALB container. | +| `.spec.config.resources.alb.requests` | k8s container resources, optional | Requests for the ALB container. |
🧹 Nitpick comments (33)
docs/en/configure/networking/how_to/alb/auth.mdx (1)
134-134: Tighten wording and verify link target resolution
- Drop “specific” (redundant).
- Please confirm the relative path resolves from this file’s location.
Apply:
-[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the specific details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support. +[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support.docs/en/configure/networking/how_to/alb/cors.mdx (4)
8-13: Fix grammar and clarity for enableCORS descriptionStreamline phrasing, fix capitalization, and clarify behavior when disabled.
Apply:
-enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain - type: boolean +enableCORS: + description: Enables Cross-Origin Resource Sharing (CORS). When enableCORS is false, ALB forwards requests to backend services, which then decide whether to allow cross-origin access. + type: boolean
14-16: Capitalize CORS and tighten header descriptionApply:
-corsAllowHeaders: - description: corsAllowHeaders defines the headers allowed by cors - when enableCORS is true, multiple headers are separated by commas - type: string +corsAllowHeaders: + description: Defines the allowed headers. When enableCORS is true, specify multiple headers as a comma‑separated list. + type: string
18-20: Clarify origin description; consistent capitalizationApply:
-corsAllowOrigin: - description: corsAllowOrigin defines the origin allowed by cors when - enableCORS is true, multiple origins are separated by commas - type: string +corsAllowOrigin: + description: Defines the allowed origins. When enableCORS is true, specify multiple origins as a comma‑separated list. + type: string
23-23: Minor style: article and casingApply:
-It can be configured on the rule `.spec`. +It can be configured on the Rule `.spec`.docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (2)
21-23: Article fix: “an empty header”Grammar nit.
Apply:
-|remove header in request| set a empty header in request | +|remove header in request| set an empty header in request |
15-17: Improve link label wordingUse imperative and plural for consistency with other sections.
Apply:
-## Sticky Session -[config sticky session](https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/#sticky-sessions) +## Sticky Sessions +[Configure sticky sessions](https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/#sticky-sessions)docs/en/configure/networking/functions/configure_ingress.mdx (3)
18-18: Clarify controller behavior; simplify sentenceApply:
-Ingress rules depend on the implementation of the Ingress Controller, which is responsible for listening to changes in Ingress and Service. After a new Ingress is created, when the Ingress Controller receives a request, it matches the forwarding rule from the Ingress and distributes the traffic to the specified internal routes, as shown in the diagram below. +Ingress depends on an Ingress Controller, which watches Ingress and Service changes. After a new Ingress is created, the controller matches incoming requests against the Ingress rules and routes traffic to the referenced Services, as shown below.
25-26: Capitalize product names and align phrasingApply:
-- [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) -- [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +- [Install ingress-nginx as the Ingress controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Install ALB as the Ingress controller](../how_to/alb/deploy_alb.mdx)
57-57: Clarify callout about selecting the controllerExplicitly reference ingressClassName; fix grammar.
Apply:
-2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. +2. Set `ingressClassName: nginx` to use the `ingress-nginx` controller, or set `ingressClassName: $alb_name` to use ALB as the Ingress controller.docs/en/configure/networking/how_to/alb/header_modification.mdx (5)
9-14: Capitalize heading; add spacing after comma in inline codeImproves readability and consistency.
Apply:
-### use annotations +### Use annotations @@ -| ingress | `alb.ingress.cpaas.io/rewrite-request`,`alb.ingress.cpaas.io/rewrite-response` | +| ingress | `alb.ingress.cpaas.io/rewrite-request`, `alb.ingress.cpaas.io/rewrite-response` |
18-23: Tighten Go comments for clarity and grammarUse concise, idiomatic phrasing.
Apply:
type RewriteRequestConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersVar map[string]string `json:"headers_var,omitempty"` // set header, which values are variable name - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple - HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // add header, which values could be multiple and which values are variable name + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersVar map[string]string `json:"headers_var,omitempty"` // Set header; values are variable names + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can be multiple + HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // Add header; values can be multiple; values are variable names } type RewriteResponseConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can be multiple }Also applies to: 25-28
39-41: Clarify example result sentence; pluralize “variables”Apply:
-will add key `x-my-host` and value of request host header to request header. -you can refer to the [nginx variable](http://nginx.org/en/docs/varindex.html) for the variable names. +Adds header `x-my-host` with the value of the request’s host header. +You can refer to the [Nginx variables](http://nginx.org/en/docs/varindex.html) for the variable names.
44-48: Tighten variable descriptions; fix spacing and articleApply:
-| `first_forward_or_remote_addr` | the first forwarded address or the remote address, default is `remote_addr` | -| `first_forward` | the first forwarded address , default is empty string | +| `first_forward_or_remote_addr` | The first forwarded address or the remote address; default is `remote_addr`. | +| `first_forward` | The first forwarded address; default is an empty string. |
49-49: Capitalize section titleApply:
-## examples +## Examplesdocs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (4)
6-6: Unify terminology: “GatewayAPI”, hyphenation, and spacing.
- Use “GatewayAPI” (no space) consistently.
- Use “LoadBalancer-type Service(s)”.
- Add a space before the parenthesis in “ALB Rule (Load Balancer in the UI)”.
-# Comparison Among Service, Ingress, Gateway API, and ALB Rule +# Comparison Among Service, Ingress, GatewayAPI, and ALB Rule @@ -This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. +This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [GatewayAPI](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. @@ -Services of type LoadBalancer, Gateway API, and ALB Rules can all expose L4 traffic externally. Here we recommend using the LoadBalancer type Service approach. +Services of type LoadBalancer, GatewayAPI, and ALB Rules can all expose L4 traffic externally. We recommend using the LoadBalancer‑type Service approach. @@ -ALB Rule(Load Balancer in the UI) provides the most flexible traffic match rules and the most capabilities. In fact, both Ingress and GatewayAPI are implemented by translating them to ALB Rules. +ALB Rule (Load Balancer in the UI) provides the most flexible traffic match rules and the most capabilities. In fact, both Ingress and GatewayAPI are implemented by translating them to ALB Rules.Also applies to: 9-9, 13-15, 31-35
8-10: Tighten grammar in the lead sentence.Add “the” and simplify phrasing.
-The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. -This document compares them (...omitted...) to help users make the right choice. +The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. +This document compares them (...omitted...) to help you choose the right one.
22-24: Subject–verb agreement.“Ingress … are recommended” → “Ingress … is recommended.”
-Ingress is the standard specification adopted by the Kubernetes community and are recommended for default use. +Ingress is the standard specification adopted by the Kubernetes community and is recommended for general use.
27-30: Clarify isolation wording and articles.“isolation mode” → “isolation model”; add articles; reduce repetition.
-GatewayAPI provides more flexible isolation mode, however they are not as mature as Ingress. -By using GatewayAPI developer can create their own isolated ALB instances to handle GatewayAPI rules. -Therefore, if you need to delegate the creation and management of ALB instances to developers, you need to choose to use GatewayAPI. +GatewayAPI provides a more flexible isolation model; however, it is not as mature as Ingress. +With GatewayAPI, a developer can create an isolated ALB instance to handle GatewayAPI rules. +If you need to delegate creation and management of ALB instances to developers, choose GatewayAPI.docs/en/configure/networking/how_to/alb/url_rewrite.mdx (2)
6-7: Heading casing and clarity.Use title case and plural “annotations”.
-via ingress annotation +Via Ingress annotations
48-48: Polish the example sentence.Minor grammar.
-Example: client requests `/prefix-x/abc`; backend receives `/abc`. +Example: When the client requests `/prefix-x/abc`, the backend receives `/abc`.docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (4)
6-6: Fix title capitalization.Use “GatewayAPI”.
-# Configure GatewayApi Gateway via ALB +# Configure GatewayAPI Gateway via ALB
90-97: Hyphenate “LoadBalancer‑type” and streamline phrasing.Also prefer “using” over “by using”.
-| **Internal Routing Annotation** | Used to declare the configuration or capabilities for LoadBalancer type internal routing. For specific annotation information, please refer to [LoadBalancer type internal routing annotation instructions](../../functions/configure_service.mdx#loadbalancer_type_service_annotation). | +| **Internal Routing Annotation** | Declares configuration/capabilities for LoadBalancer‑type internal routing. See [LoadBalancer‑type internal routing annotations](../../functions/configure_service.mdx#loadbalancer_type_service_annotation). |
231-234: Consistent naming: “Inbound Gateway”.Capitalize consistently; avoid switching to “ingress gateway”.
-Once the listening is set up in the ingress gateway, the gateway will monitor traffic from specified domains and ports in real-time. The route rules can forward the incoming traffic to backend instances as desired. +Once listening is set up in the Inbound Gateway, it monitors traffic from specified domains and ports in real time. Route rules then forward the matching traffic to backend instances.
291-297: Clarify constraints and avoid duplicates in “Action” section.Small grammar and readability tweaks.
-Within the same route rule, there cannot be multiple **Header** type actions with the same **value**. -Within the same route rule, only one type of either **Redirect** or **Rewrite**, and only one mode of either **FullPath** or **PrefixPath** can exist. +Within the same route rule, you cannot define multiple **Header** actions with the same **value**. +Within the same route rule, define at most one of **Redirect** or **Rewrite**, and choose only one mode: **FullPath** or **PrefixPath**.docs/en/configure/networking/concepts/gatewayapi.mdx (2)
8-10: Follow through on “3 personas” sentence.Either list the personas or reference them in the diagram caption to avoid a dangling statement.
-The overall resource model focuses on 3 separate personas and corresponding resources that they are expected to manage: - +The overall resource model focuses on three personas (infrastructure provider, platform operator, and application developer) and the resources they manage: +
12-14: Use correct term “routes”, not “routers”.And add a trailing period to the link sentence.
-Listeners and routers are handled directly by ALB; they are not translated into `Frontend` or `Rule`. -[Create a GatewayAPI Gateway via ALB](../how_to/alb/configure_gatewayapi_gateway_via_alb.mdx) +Listeners and routes are handled directly by ALB; they are not translated into `Frontend` or `Rule`. +[Create a GatewayAPI Gateway via ALB](../how_to/alb/configure_gatewayapi_gateway_via_alb.mdx).docs/en/configure/networking/architecture/understanding_alb.mdx (4)
21-26: Helm commands: consider splitting for readability.Non-blocking; current one-liner works.
-helm repo add alb https://alauda.github.io/alb/;helm repo update;helm search repo|grep alb +helm repo add alb https://alauda.github.io/alb/ +helm repo update +helm search repo | grep alb
37-41: Polish YAML comments and casing.Minor grammar/style fixes.
- address: "172.20.0.5" # the ip address of node where alb been deployed + address: "172.20.0.5" # The IP address of the node where ALB is deployed @@ - projects: + projects:
88-104: Ingress example: consider specifying the IngressClass.To ensure this Ingress is handled by ALB, add
.spec.ingressClassName(or the controller-specific class) to the example.spec: + ingressClassName: alb # Replace with your ALB's IngressClass rules:
181-189: Consistency: “Rule” vs “RULE”, “ALB leader” vs “ALB-Leader”.Unify casing across the section.
-### RULE -... -RULE is a resource defined by ALB itself. +### Rule +... +Rule is a resource defined by ALB itself. @@ -RULE could be created by ALB-Leader or user manually. +Rule can be created by the ALB leader or by users manually. @@ -## ALB Leader +## ALB leader @@ -1. Translating the Ingress into Rules. +1. Translating the Ingress into Rules.Also applies to: 193-202
docs/en/configure/networking/functions/configure_alb_rule.mdx (1)
160-166: Nit: capitalize HTTPS in heading.Improves consistency with other protocol headings.
-## Https +## HTTPSdocs/en/configure/networking/how_to/alb/deploy_alb.mdx (1)
69-73: Minor clarity improvements (optional).
- Clarify required/optional phrasing and capitalization.
-| `.spec.address` | string,required | you could manually specify the address of alb | +| `.spec.address` | string, required | Manually specified ALB address. | -| `.spec.config.vip.enableLbSvc` | bool, optional | Automatically true in `container` mode. | +| `.spec.config.vip.enableLbSvc` | bool, optional | Becomes true automatically in `container` mode. | -| `.spec.config.vip.lbSvcAnnotations` | map[string]string, optional | Extra annotations for the LoadBalancer Service. | +| `.spec.config.vip.lbSvcAnnotations` | map[string]string, optional | Additional annotations for the LoadBalancer Service. |
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (4)
docs/en/configure/networking/assets/create_alb_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_ft_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_rule_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/gatewayapi-architecture.pngis excluded by!**/*.png
📒 Files selected for processing (26)
docs/en/configure/networking/architecture/understanding_alb.mdx(3 hunks)docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx(7 hunks)docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx(1 hunks)docs/en/configure/networking/concepts/gatewayapi.mdx(1 hunks)docs/en/configure/networking/functions/configure_alb_rule.mdx(1 hunks)docs/en/configure/networking/functions/configure_ingress.mdx(3 hunks)docs/en/configure/networking/how_to/alb/auth.mdx(2 hunks)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/cors.mdx(1 hunks)docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/deploy_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/header_modification.mdx(1 hunks)docs/en/configure/networking/how_to/alb/http_redirect.mdx(1 hunks)docs/en/configure/networking/how_to/alb/index.mdx(1 hunks)docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx(1 hunks)docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/otel.mdx(4 hunks)docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx(1 hunks)docs/en/configure/networking/how_to/alb/url_rewrite.mdx(1 hunks)docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx(0 hunks)docs/en/configure/networking/how_to/create_loadbalancer.mdx(0 hunks)docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx(0 hunks)docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx(2 hunks)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx(1 hunks)
💤 Files with no reviewable changes (3)
- docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx
- docs/en/configure/networking/how_to/create_loadbalancer.mdx
- docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx
✅ Files skipped from review due to trivial changes (3)
- docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx
- docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx
- docs/en/configure/networking/how_to/alb/index.mdx
🚧 Files skipped from review as they are similar to previous changes (7)
- docs/en/configure/networking/how_to/alb/http_redirect.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
- docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx
- docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx
- docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx
- docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx
🧰 Additional context used
🪛 LanguageTool
docs/en/configure/networking/how_to/alb/auth.mdx
[style] ~134-~134: This phrase is redundant. Consider writing “details”.
Context: ... series of annotations to configure the specific details of the authentication process. Below is...
(SPECIFIC_DETAILS)
docs/en/configure/networking/functions/configure_ingress.mdx
[grammar] ~24-~24: There might be a mistake here.
Context: ... add the 80 and 443 listening ports. ::: - [install ingress-nginx as ingress-control...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...tall ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - [install alb as ingress-controller](../ho...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...dx) - install alb as ingress-controller ## Example Ingress: ```yaml # nginx-ingres...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ...inxcontroller,$alb_name` to use alb as ingress controller. 3. If you only want...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ..._name` to use alb as ingress controller. 3. If you only want to run ingress locally,...
(QB_NEW_EN)
docs/en/configure/networking/concepts/gatewayapi.mdx
[grammar] ~12-~12: There might be a mistake here.
Context: ...ateway resource maps to an ALB resource. Listeners and routers are handled direct...
(QB_NEW_EN)
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx
[grammar] ~8-~8: There might be a mistake here.
Context: ...multiple ingress traffic specifications in Kubernetes ecosystem. This document com...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... specifications in Kubernetes ecosystem. This document compares them ([Service](....
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_alb_rule.mdx
[grammar] ~1-~1: There might be a mistake here.
Context: # Configure ALB Rules ## Introduction ### What is a Rule? Rule i...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ... must be attached to a frontend and alb via label. ::: ```yaml apiVersion: crd.ala...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...ttached to a frontend and alb via label. ::: ```yaml apiVersion: crd.alauda.io/v...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...e Frontend to which this rule belongs. 2. Required, indicate the ALB to which this...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ... used to describe the matching criteria. For example, the rule below matches a re...
(QB_NEW_EN)
[grammar] ~116-~116: There might be a mistake here.
Context: ...rity` using an integer value. ## Action After a request matches a rule, you can ...
(QB_NEW_EN)
[grammar] ~121-~121: There might be a mistake here.
Context: ...meout](../how_to/alb/l4_l7_timeout.mdx)| | Redirect | Redirects incoming ...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...irect](../how_to/alb/http_redirect.mdx)| | CORS | Enables Cross-Origi...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ... |cors| | Header Modification | Allows modifi...
(QB_NEW_EN)
[grammar] ~124-~124: There might be a mistake here.
Context: ...(../how_to/alb/header_modification.mdx)| | URL Rewrite | Rewrites the URL of...
(QB_NEW_EN)
[grammar] ~125-~125: There might be a mistake here.
Context: ...rewrite](../how_to/alb/url_rewrite.mdx)| | WAF | Integrates Web Appl...
(QB_NEW_EN)
[grammar] ~126-~126: There might be a mistake here.
Context: ... |waf| | OTEL | Enables OpenTelemet...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...g. |otel| | Keepalive | Enables or disable...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...## backend protocol {#backend_protocol} By default, the backend protocol is set ...
(QB_NEW_EN)
[grammar] ~134-~134: There might be a mistake here.
Context: ...ession Affinity Policy {#service_group} You can configure one or more services w...
(QB_NEW_EN)
[grammar] ~141-~141: There might be a mistake here.
Context: ...ty_policy_in_alb.mdx). ## Creating Rule ### Using web console 
[style] ~147-~147: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the load balancer. 4. Click on the name of the listener port. 5. Cl...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~148-~148: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the listener port. 5. Click Add Rule. 6. Refer to the following...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~152-~152: Ensure spelling is correct
Context: ... Click Add. Each input item on the webui corresponds to a field of the CR ### u...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: Ensure spelling is correct
Context: ... the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ule can also be configured to use HTTPS. You can specify the certificate either i...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: .... ### Certificate Annotation in Ingress Certificates can be referenced across na...
(QB_NEW_EN)
[grammar] ~172-~172: There might be a mistake here.
Context: ...Certificate in Rule {#certificate_name} In .spec.certificate_name, the format ...
(QB_NEW_EN)
[grammar] ~175-~175: There might be a mistake here.
Context: ...et_namespace/$secret_name` ### TLS Mode #### Edge Mode In edge mode, the client commu...
(QB_NEW_EN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...ecret_name` ### TLS Mode #### Edge Mode In edge mode, the client communicates wi...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ...th backend services using HTTP protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...ve this: 1. create ft use https protocol 2. create rule with backend protocol http, ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol http, and specify cert...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te rule with backend protocol http, and specify cert via .spec.certificate_name #### ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... ALB communicates with backend services using HTTPS protocol. To achieve this: 1. cre...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...h backend services using HTTPS protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol https, and specify cer...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...e rule with backend protocol https, and specify cert via .spec.certificate_name ## I...
(QB_NEW_EN)
[grammar] ~188-~188: There might be a mistake here.
Context: ...s} ### ingress sync {#alb_ingress_sync} Each ALB creates an IngressClass with th...
(QB_NEW_EN)
[grammar] ~200-~200: There might be a mistake here.
Context: ....source.namespace` is ingress namespace. ::: #### ssl strategy {#alb_ingress_ss...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...sl strategy {#alb_ingress_ssl_strategy} For ingresses that do not have certifica...
(QB_NEW_EN)
[grammar] ~206-~206: There might be a mistake here.
Context: ...om resource with the following settings: - .spec.config.defaultSSLStrategy: Defines the SSL strategy for ingresses...
(QB_NEW_EN)
[grammar] ~210-~210: There might be a mistake here.
Context: ...$secret_name` Available SSL strategies: - Never: Do not create rules on HTTPS po...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
[grammar] ~6-~6: Ensure spelling is correct
Context: ...52c10984d03564c0cdec45 --- # Configure GatewayApi Gateway via ALB An inbound gateway (Ga...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/en/configure/networking/how_to/alb/cors.mdx
[grammar] ~3-~3: There might be a mistake here.
Context: # CORS ## Basic Concepts [CORS](https://developer.mozilla.org/en-U...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx
[grammar] ~7-~7: There might be a mistake here.
Context: ...70cb27c0597def5 --- # Deploy ALB ## ALB ALB is a custom resource that represents a ...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...e: nginx ``` #### Resource Configuration resource related field describes the deployment ...
(QB_NEW_EN)
[grammar] ~53-~53: There might be a mistake here.
Context: ...he deployment configuration for the alb. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~66-~66: There might be a mistake here.
Context: ... you can access the ALB via the node IP. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~69-~69: There might be a mistake here.
Context: ...d uses its address as the ALB address. | | .spec.address | string,required | yo...
(QB_NEW_EN)
[grammar] ~70-~70: There might be a mistake here.
Context: ...ld manually specify the address of alb | | .spec.config.vip.enableLbSvc | bool,...
(QB_NEW_EN)
[grammar] ~74-~74: There might be a mistake here.
Context: ...r Service. | #### project configuration | Field | Type | |-------|------| | `.s...
(QB_NEW_EN)
[grammar] ~75-~75: There might be a mistake here.
Context: ... project configuration | Field | Type | |-------|------| | `.spec.config.project...
(QB_NEW_EN)
[grammar] ~76-~76: There might be a mistake here.
Context: ...ation | Field | Type | |-------|------| | .spec.config.projects | []string,req...
(QB_NEW_EN)
[grammar] ~77-~77: There might be a mistake here.
Context: ...c.config.projects| []string,required | |.spec.config.portProjects` | string,o...
(QB_NEW_EN)
[grammar] ~78-~78: There might be a mistake here.
Context: ...config.portProjects| string,optional | |.spec.config.enablePortProject` | boo...
(QB_NEW_EN)
[grammar] ~82-~82: There might be a mistake here.
Context: ...project can find and configure this ALB. 2. This ALB will handle ingress resources b...
(QB_NEW_EN)
[grammar] ~90-~90: There might be a mistake here.
Context: ...obal config which can be tweaked in alb cr. - bind-nic - [ingr...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ch can be tweaked in alb cr. - bind-nic - [ingress-sync](../../functions/configure_...
(QB_NEW_EN)
[grammar] ~105-~105: There might be a mistake here.
Context: ...eld of the CR: |Parameter| Description| |--|--| |Assigned Address| `.spec.addres...
(QB_NEW_EN)
[grammar] ~106-~106: There might be a mistake here.
Context: ...he CR: |Parameter| Description| |--|--| |Assigned Address| .spec.address| |All...
(QB_NEW_EN)
[grammar] ~107-~107: There might be a mistake here.
Context: ...|--| |Assigned Address| .spec.address| |Allocated By| Instance means project ...
(QB_NEW_EN)
[grammar] ~136-~136: There might be a mistake here.
Context: ...tate. 5. Click Update. #### Delete ##### Using the web console :::note After del...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... (tcp|udp). In L4 Proxy use frontend to configure backend service directly. In L7 Proxy u...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...d to configure backend service directly. In L7 Proxy use frontend to configure li...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ..._rule.mdx) to configure backend service. If you need to add an HTTPS listener por...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...adings-in-section */} ### Prerequisites Create a ALB first. ### Configure Front...
(QB_NEW_EN)
[grammar] ~195-~195: There might be a mistake here.
Context: ...ntend name: Format as $alb_name-$port. 3. port: which port which listen on. 4. pro...
(QB_NEW_EN)
[grammar] ~196-~196: There might be a mistake here.
Context: ...t`. 3. port: which port which listen on. 4. protocol: what protocol this port uses. ...
(QB_NEW_EN)
[grammar] ~197-~197: There might be a mistake here.
Context: ... protocol: what protocol this port uses. - L7 protocol https|http|grpcs|grpc and L4...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...ed, Format as $secret_ns/$secret_name. 6. backendProtocol: what protocol the backe...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...alls back to the default serviceGroup. 8. [session_affinity_policy](./load_balancin...
(QB_NEW_EN)
[grammar] ~214-~214: There might be a mistake here.
Context: ... ### Operation On Frontend #### Creating ##### using the web console 
[grammar] ~225-~225: Ensure spelling is correct
Context: ...k Add Port. Each input item on the webui corresponds to a field of the CR |Param...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~226-~226: There might be a mistake here.
Context: ... field of the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serv...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serviceGroup.s...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
[grammar] ~17-~17: There might be a mistake here.
Context: ...guration). | Annotation | Description | |---|---| | `metallb.universe.tf/loadBal...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... | Annotation | Description | |---|---| | metallb.universe.tf/loadBalancerIPs ...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... pool to allocate from. | ## Method 2: Use external ALB device to provide VIP * P...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...the ports in use to reduce the downtime of ALB upgrade. The health check configura...
(QB_NEW_EN)
[grammar] ~31-~31: There might be a mistake here.
Context: ...h check, it is recommended to use TCP. | | Response Timeout | The time requir...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/header_modification.mdx
[grammar] ~10-~10: There might be a mistake here.
Context: ...annotation key | |---------|-----------------------------...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...---------------------------------------| | ingress | `alb.ingress.cpaas.io/rewrit...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...alb.ingress.cpaas.io/rewrite-response| | rule |alb.rule.cpaas.io/rewrite-r...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ... value is the ALB context variable name. For example, add the following annotatio...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ... | |--------------------------------|------...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ...---------------------------------------| | first_forward_or_remote_addr | the f...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...mote address, default is remote_addr | | first_forward | the f...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx
[grammar] ~6-~6: There might be a mistake here.
Context: ...ps to rewrite the URL. ## Configuration via ingress annotation ```yaml apiVersio...
(QB_NEW_EN)
[grammar] ~48-~48: There might be a mistake here.
Context: ...rget: /$3 ``` Example: client requests /prefix-x/abc; backend receives `/abc`.
(QB_NEW_EN)
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
[grammar] ~9-~9: There might be a mistake here.
Context: ..._cluster_plugin.mdx) ## Max Connections [max-worker-connections](https://kubernet...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...map/#max-worker-connections) ## Timeout [config timeout](https://kubernetes.githu...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ...sticky-sessions) ## Header Modification |action|link| |--|--| |set header in req...
(QB_NEW_EN)
[grammar] ~19-~19: There might be a mistake here.
Context: ...s) ## Header Modification |action|link| |--|--| |set header in request|[proxy-se...
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...eader Modification |action|link| |--|--| |set header in request|[proxy-set-header...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...figuration/annotations/#custom-headers)| |remove header in request| set a empty h...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...## HSTS (HTTP Strict Transport Security) [configure HSTS](https://kubernetes.github.io/ingr...
(QB_NEW_EN)
[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ginx-configuration/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernet...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ation/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernetes...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tion/annotations/#rate-limiting) ## WAF [modsecurity](https://kubernetes.github.i...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...uthentication) ### TLS edge termination [backend protocol](https://kubernetes.git...
(QB_NEW_EN)
[grammar] ~49-~49: There might be a mistake here.
Context: ...ions/#backend-protocol) ### Passthrough [ssl-passthrough]https://kubernetes.gith...
(QB_NEW_EN)
🔇 Additional comments (12)
docs/en/configure/networking/how_to/alb/auth.mdx (1)
7-7: Heading tweak looks goodPluralizing to “Basic Concepts” reads better. No further changes needed.
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (1)
33-35: Tone down absolute performance claim or add a reference.“degrades significantly” is strong without data. Consider softening or linking to internal benchmarks.
-Both Gateway API and ALB Rules are implemented by ALB, which is a userspace proxy, and their performance degrades significantly when handling L4 traffic compared to LoadBalancer type Services. +Both GatewayAPI and ALB Rules are implemented by ALB, which is a userspace proxy, and may have lower L4 performance than LoadBalancer‑type Services.docs/en/configure/networking/how_to/alb/url_rewrite.mdx (2)
28-46: API version check for Rule CR.Confirm
crd.alauda.io/v1is the correct and current apiVersion for Rule in this release; other docs usecrd.alauda.io/v2beta1for ALB2.
43-46: Good fix: correct capture group.
rewrite_target: /$3matches^/(prefix-x)(/|$)(.*)as intended.docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (2)
28-39: Verify Gateway apiVersion.You’re using
gateway.networking.k8s.io/v1beta1. Many environments usev1for Gateway/HTTPRoute now. Please confirm which version ACP supports and update consistently (this page and the HTTPRoute example below).
36-37: Callouts and labels read well; keep.Label
alb.cpaas.io/alb-refand callouts 1–4 align and help users map resources.Also applies to: 68-70, 72-78
docs/en/configure/networking/concepts/gatewayapi.mdx (1)
6-6: Intro reads well.Good concise positioning of GatewayAPI.
docs/en/configure/networking/architecture/understanding_alb.mdx (2)
12-14: Core components section is clear and accurate.Good control-plane/data-plane wording and lifecycle summary.
122-122: Nice navigation update.Link now points to the new deploy page.
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (1)
13-16: Next Steps for ALB Documentation DeletionPlease review and address the following:
• Update inbound link in
docs/en/configure/networking/how_to/alb/deploy_alb.mdx(line 14)
– Change[Configure VIP](./deploy_high_available_vip_for_alb.mdx)to point at the new or consolidated VIP configuration doc.
• Confirm thealb_networking_configurationanchor indeploy_alb.mdxis defined (e.g.,## ALB networking configuration {#alb_networking_configuration}) so links resolve correctly.
• Search acrossdocs/for any remaining references todeploy_high_available_vip_for_alb.mdxand update or remove them to avoid 404s.docs/en/configure/networking/how_to/alb/deploy_alb.mdx (2)
225-229: UI mapping now matches snake_case field.Good alignment with the YAML example:
session_affinity_policy.
14-14: No action needed: VIP doc exists and link is correctThe file
deploy_high_available_vip_for_alb.mdxis present atdocs/en/configure/networking/how_to/alb/, and the relative link indeploy_alb.mdxcorrectly points to it. You can safely ignore the suggestion to add a redirect or to confirm its removal.Likely an incorrect or invalid review comment.
| ### Quick demo of rule \{#alb_add_rule} | ||
| Here is a demo rule to give you a quick first impression of how to use rules. |
There was a problem hiding this comment.
Unescape heading IDs so internal links work.
Escaped braces prevent Docusaurus/MDX from generating the anchors referenced throughout this page.
Apply:
-### Quick demo of rule \{#alb_add_rule}
+### Quick demo of rule {#alb_add_rule}
-### backend protocol \{#backend_protocol}
+### backend protocol {#backend_protocol}
-### Service Group and Session Affinity Policy \{#service_group}
+### Service Group and Session Affinity Policy {#service_group}
-### Certificate in Rule \{#certificate_name}
+### Certificate in Rule {#certificate_name}
-## Ingress \{#alb_ingress}
+## Ingress {#alb_ingress}
-### ingress sync \{#alb_ingress_sync}
+### ingress sync {#alb_ingress_sync}
-#### ssl strategy \{#alb_ingress_ssl_strategy}
+#### ssl strategy {#alb_ingress_ssl_strategy}Also applies to: 131-135, 172-174, 187-188, 203-213
🤖 Prompt for AI Agents
In docs/en/configure/networking/functions/configure_alb_rule.mdx around lines
11-12 (and also adjust lines 131-135, 172-174, 187-188, 203-213), unescape the
heading ID attributes by removing the backslashes before braces so
Docusaurus/MDX can generate anchors; e.g., change any occurrences of
"\{#some_id\}" to "{#some_id}" for each heading referenced and verify internal
links resolve.
| alb.networking.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls | ||
| ``` |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Verify annotation domain consistency (alb.networking.cpaas.io vs alb.cpaas.io).
Two domains are used in examples. Confirm both are valid and intentional, or standardize.
🏁 Script executed:
#!/bin/bash
# Inspect annotation domains across docs
rg -nP '\balb(\.networking)?\.cpaas\.io/' docs | sort -uLength of output: 588
Please standardize ALB annotation domains
We’ve identified two different annotation domains in the docs—alb.cpaas.io and alb.networking.cpaas.io—which can confuse readers. Choose one domain (we recommend using alb.cpaas.io for all ALB annotations) and update every occurrence accordingly:
• docs/en/configure/networking/functions/configure_alb_rule.mdx
– Lines 111–112:
yaml # alb.cpaas.io/ingress-rule-priority-$rule_index-$path_index alb.cpaas.io/ingress-rule-priority-0-0: "10"
– Line 169 (currently):
yaml alb.networking.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls
• docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
– Line 36:
yaml alb.cpaas.io/alb-ref: test-o93q7 # [!code callout]
Please replace alb.networking.cpaas.io/tls (and any other alb.networking.cpaas.io/*) with alb.cpaas.io/tls to ensure consistency.
🤖 Prompt for AI Agents
In docs/en/configure/networking/functions/configure_alb_rule.mdx around lines
169–170, the ALB annotation uses the inconsistent domain
"alb.networking.cpaas.io/tls"; replace it with the standardized domain
"alb.cpaas.io/tls" (and scan the file for any other occurrences of
"alb.networking.cpaas.io/*" to change them to "alb.cpaas.io/*") so all ALB
annotations use the single recommended domain.
| The high availability of the **Load Balancer** requires a VIP. Please refer to [Configure VIP](./deploy_high_available_vip_for_alb.mdx). | ||
| ### Configure ALB |
There was a problem hiding this comment.
Broken link risk: VIP page was removed; point to local section instead.
Replace link to the deleted VIP doc with the local networking section that covers VIP options.
-The high availability of the **Load Balancer** requires a VIP. Please refer to [Configure VIP](./deploy_high_available_vip_for_alb.mdx).
+The high availability of the **Load Balancer** requires a VIP. See [Networking Configuration](#alb_networking_configuration) for VIP options.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| The high availability of the **Load Balancer** requires a VIP. Please refer to [Configure VIP](./deploy_high_available_vip_for_alb.mdx). | |
| ### Configure ALB | |
| The high availability of the **Load Balancer** requires a VIP. See [Networking Configuration](#alb_networking_configuration) for VIP options. | |
| ### Configure ALB |
🤖 Prompt for AI Agents
In docs/en/configure/networking/how_to/alb/deploy_alb.mdx around lines 14-15,
the link points to the removed VIP doc
(./deploy_high_available_vip_for_alb.mdx); replace that href with a link to the
local networking section that documents VIP options (for example
docs/en/configure/networking/index.mdx#vip-options or the appropriate networking
VIP subsection path), keeping the surrounding text unchanged so it reads "Please
refer to [Configure VIP](<local-networking-vip-anchor>)".
| - Please set specifications reasonably according to business needs. You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_makeing_for_performance_selection_of_alb.mdx) for guidance. | ||
|
|
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Typo in linked filename (“decision_makeing”).
Likely intended “decision_making”. Fix to avoid 404.
- - Please set specifications reasonably according to business needs. You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_makeing_for_performance_selection_of_alb.mdx) for guidance.
+ - Please set specifications reasonably according to business needs. You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_making_for_performance_selection_of_alb.mdx) for guidance.🏁 Script executed:
#!/bin/bash
# Verify actual filename exists (one of the two)
fd -a 'decision_*for_performance_selection_of_alb.mdx' docs || echo "Missing target doc"Length of output: 61
🏁 Script executed:
#!/bin/bash
# Locate deploy_alb.mdx
echo "Looking for deploy_alb.mdx:"
fd -t f deploy_alb.mdx || echo "deploy_alb.mdx not found"
# Search for decision_*.mdx files under docs
echo -e "\nLooking for decision_*.mdx under docs:"
fd -e mdx -t f decision_* docs || echo "No decision_*.mdx files found under docs"Length of output: 366
Fix typo in ALB performance decision document filename
The link in docs/en/configure/networking/how_to/alb/deploy_alb.mdx (lines 130–131) points to
./decision_makeing_for_performance_selection_of_alb.mdx, but the correct spelling is “making,” not “makeing.” This will lead to a broken link (404) once the file is renamed.
Please:
- Rename the file at
docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx
to
docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx - Update the link in deploy_alb.mdx accordingly.
Proposed diff:
@@ docs/en/configure/networking/how_to/alb/deploy_alb.mdx
- You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_makeing_for_performance_selection_of_alb.mdx) for guidance.
+ You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_making_for_performance_selection_of_alb.mdx) for guidance.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - Please set specifications reasonably according to business needs. You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_makeing_for_performance_selection_of_alb.mdx) for guidance. | |
| - Please set specifications reasonably according to business needs. You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_making_for_performance_selection_of_alb.mdx) for guidance. |
🤖 Prompt for AI Agents
In docs/en/configure/networking/how_to/alb/deploy_alb.mdx around lines 130-131,
the link currently points to
./decision_makeing_for_performance_selection_of_alb.mdx (typo “makeing”); rename
the physical file at
docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx
to
docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx
and update the link in deploy_alb.mdx to
./decision_making_for_performance_selection_of_alb.mdx so the path matches the
corrected filename.
3ae0a2f to
c1fd6c9
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
docs/en/configure/networking/how_to/alb/auth.mdx (1)
152-152: Annotation table accuracy: mark auth-type supported and restrict valuesThe row shows “-” in support and “basic or digest”, yet digest isn’t supported. Set support to v and restrict type to basic to avoid ambiguity.
-| nginx.ingress.kubernetes.io/auth-type | - | "basic" or "digest" | basic: supports apr1 **digest: not supported** | +| nginx.ingress.kubernetes.io/auth-type | v | "basic" | Supports Basic only (apr1). Digest is not supported. |docs/en/configure/networking/architecture/understanding_alb.mdx (1)
92-103: Bind the Ingress to this ALB via ingressClassName.Without an explicit
ingressClassName, clusters with multiple controllers may route to the wrong controller.spec: + ingressClassName: alb-demo # set to this ALB's IngressClass rules:
♻️ Duplicate comments (8)
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (1)
49-50: Fix malformed markdown link for SSL passthroughMissing opening parenthesis.
-[ssl-passthrough]https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough) +[ssl-passthrough](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (1)
13-15: Hyphenation and previously fixed anchor
- “built‑in” needs a hyphen.
- The internal anchor to deploy_alb.mdx was previously flagged and addressed—looks good now.
-You can use the platform built‑in implementation. For setup, see [Configure MetalLB](../../functions/create_metallb.mdx). +You can use the platform built-in implementation. For setup, see [Configure MetalLB](../../functions/create_metallb.mdx).docs/en/configure/networking/functions/configure_alb_rule.mdx (2)
11-12: Unescape heading IDs so anchors workBackslashes prevent anchor generation; internal links won’t resolve.
-### Quick demo of rule \{#alb_add_rule} +### Quick demo of rule {#alb_add_rule} @@ -### backend protocol \{#backend_protocol} +### backend protocol {#backend_protocol} @@ -### Service Group and Session Affinity Policy \{#service_group} +### Service Group and Session Affinity Policy {#service_group} @@ -### Certificate in Rule \{#certificate_name} +### Certificate in Rule {#certificate_name} @@ -## Ingress \{#alb_ingress} +## Ingress {#alb_ingress} @@ -#### ssl strategy \{#alb_ingress_ssl_strategy} +#### ssl strategy {#alb_ingress_ssl_strategy}Also applies to: 131-131, 134-134, 172-172, 187-187, 203-203
169-170: Standardize annotation domain: use alb.cpaas.io/tlsCurrent example uses
alb.networking.cpaas.io/tls, which is inconsistent with other examples.-alb.networking.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls +alb.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tlsdocs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
9-16: Ingress example mixes NGINX annotations withingressClassName: albThis is misleading and likely nonfunctional. Choose one:
- Convert to NGINX (update class and add
use-regex), or- Replace with an ALB-specific example (or remove if not supported via Ingress annotations).
Below converts to NGINX for correctness.
metadata: - nginx.ingress.kubernetes.io/rewrite-target: /$2 + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$3 name: demo spec: - ingressClassName: alb + ingressClassName: ingress-nginxAlternatively, if ALB supports rewrite via annotations, replace
nginx.*with the ALB keys and keep/$3. Happy to provide an ALB-specific snippet if you confirm the keys.docs/en/configure/networking/how_to/alb/deploy_alb.mdx (3)
130-131: Fix typo in linked filename (“decision_makeing” → “decision_making”).Same issue flagged earlier; please correct the link (and file) to avoid 404s.
- - Please set specifications reasonably according to business needs. You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_makeing_for_performance_selection_of_alb.mdx) for guidance. + - Please set specifications reasonably according to business needs. You can also refer to the relevant [How to properly allocate CPU and memory resources](./decision_making_for_performance_selection_of_alb.mdx) for guidance.Verify which file exists:
#!/bin/bash fd -a 'decision_*for_performance_selection_of_alb.mdx' docs || echo "No decision_* doc found"
151-153: Example mismatch: deleting a different ALB than the one created.Create example uses
alb-demo; delete example usestest-alb.-kubectl delete alb2 test-alb -n cpaas-system +kubectl delete alb2 alb-demo -n cpaas-system
52-63: Critical: wrong key paths in the Resource Configuration table.Table uses
.spec.config.resource*but YAML and CRD use.spec.config.resources*(and nestedresources.alb.*). This will mislead users.-#### Resource Configuration -resource related field describes the deployment configuration for the alb. +#### Resource Configuration +Resource-related fields describe the deployment configuration for the ALB. | Field | Type | Description | |-------|------|-------------| | `.spec.config.nodeSelector` |map[string]string | the node selector for the alb | | `.spec.config.replicas` | int,optional default 3 | the number of replicas for the alb | -| `.spec.config.resource.limit` | k8s container-resource,optional | limit of nginx container of alb | -| `.spec.config.resource.request` | k8s container-resource,optional | request of nginx container of alb | -| `.spec.config.resource.alb.limit` | k8s container-resource,optional | limit of alb container of alb | -| `.spec.config.resource.alb.request` | k8s container-resource,optional | request of alb container of alb | +| `.spec.config.resources.limits` | k8s container resources, optional | Limits for the nginx container. | +| `.spec.config.resources.requests` | k8s container resources, optional | Requests for the nginx container. | +| `.spec.config.resources.alb.limits` | k8s container resources, optional | Limits for the ALB sidecar/container. | +| `.spec.config.resources.alb.requests` | k8s container resources, optional | Requests for the ALB sidecar/container. | | `.spec.config.antiAffinityKey` | string,optional default local | k8s antiAffinityKey |
🧹 Nitpick comments (38)
docs/en/configure/networking/how_to/alb/auth.mdx (4)
7-7: Section heading nit: keep style consistent across ALB docsConsider “Basic Concepts” → “Basics” or keep as-is but ensure other ALB pages use the same section name.
220-224: Compound modifier hyphenationUse “app-request-related” for readability.
-### Construct app-request related annotations +### Construct app-request-related annotations
254-256: Heading wording“Redirect sign related configuration” → “Redirect-related configuration”.
-### Redirect sign related configuration +### Redirect-related configuration
134-134: Update link and trim redundancy in authentication description
- Confirmed that
docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdxexists and the relative link renders correctly.- Replace “specific details” with “details” for conciseness.
Apply the following change:
-[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the specific details of the authentication process. +[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the details of the authentication process.(optional nit)
docs/en/configure/networking/how_to/alb/cors.mdx (3)
8-13: Grammar/casing fixes for enableCORS descriptionAlign field casing and tighten phrasing.
-enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain +enableCORS: + description: Controls whether cross-origin requests are handled at ALB. + When enableCORS is false, alb2 forwards requests to backend services, + which then decide whether to allow cross-origin access.
14-20: Clarify headers/origin descriptions; consider adding allowed methods
- Improve grammar.
- Optional: document allowed methods since CORS typically needs it.
-corsAllowHeaders: - description: corsAllowHeaders defines the headers allowed by cors - when enableCORS is true, multiple headers are separated by commas +corsAllowHeaders: + description: Comma-separated list of request headers allowed by CORS type: string -corsAllowOrigin: - description: corsAllowOrigin defines the origin allowed by cors when - enableCORS is true, multiple origins are separated by commas +corsAllowOrigin: + description: Comma-separated list of allowed origins when enableCORS is true type: string +corsAllowMethods: + description: Comma-separated list of allowed methods (e.g., GET,POST,OPTIONS) + type: stringIf adding corsAllowMethods isn’t supported by the CRD, please omit the new field and keep only the grammar fixes.
23-23: Usage note: add a minimal Rule exampleA tiny YAML example under this line would help users apply it correctly.
I can draft a 10–15 line example if you confirm the exact spec path (e.g., .spec.config.cors on Rule/Frontend).
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (2)
21-23: Request header removal phrasing“set a empty header” → “set an empty header” (that effectively clears it for upstream).
-|remove header in request| set a empty header in request | +|remove header in request| set an empty header in request |
12-16: Consistency: use “Configure …” in link captionsOptional polish for uniform tone.
-## Timeout -[config timeout](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-connect-timeout) +## Timeout +[Configure timeout](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#proxy-connect-timeout) -## Sticky Session -[config sticky session](https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/#sticky-sessions) +## Sticky Session +[Configure sticky session](https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/#sticky-sessions)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (2)
6-6: Use the canonical term “Gateway API” in titleAligns with upstream docs naming.
-# Configure GatewayApi Gateway via ALB +# Configure Gateway API Gateway via ALB
118-144: Resource names consistency with earlier calloutTable shows “name-lb-random” pattern, while earlier you call out ALB2 name format
{gatewayName}-{random}. Please align or add a note explaining the “-lb-” infix if intentional.docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (2)
5-5: Title grammarUse “High-Availability”/“Highly Available”.
-# Deploy High Available VIP for ALB +# Deploy a High-Availability VIP for ALB
24-24: Run-on sentence; add punctuationSplit into shorter sentences and end with a period.
-* Please confirm with the network engineer the IP address (public IP, private IP, VIP) or domain name of the ALB service before deployment. If you want to use a domain name as the address for external traffic to access the ALB, you need to apply for a domain name in advance and configure domain name resolution. It is recommended to use a commercial Load Balancer device to provide a VIP, if not, you can use the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx) +* Please confirm with the network engineer the IP address (public, private, VIP) or domain name of the ALB service before deployment. If you use a domain name for external access, apply and configure DNS in advance. Using a commercial Load Balancer device to provide the VIP is recommended. If unavailable, consider the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx).docs/en/configure/networking/how_to/alb/header_modification.mdx (5)
9-14: Capitalize headings and tidy table entries
- Title-case “Use annotations” for consistency.
- Add a space after the comma between inline-code keys to improve readability.
-### use annotations +### Use annotations @@ -| ingress | `alb.ingress.cpaas.io/rewrite-request`,`alb.ingress.cpaas.io/rewrite-response` | +| ingress | `alb.ingress.cpaas.io/rewrite-request`, `alb.ingress.cpaas.io/rewrite-response` |
17-28: Polish Go comments for clarity and grammarTighten phrasing; use “values are variable names” and “can have multiple values.”
type RewriteRequestConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersVar map[string]string `json:"headers_var,omitempty"` // set header, which values are variable name - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple - HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // add header, which values could be multiple and which values are variable name + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersVar map[string]string `json:"headers_var,omitempty"` // Set header; values are variable names + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can have multiple entries + HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // Add header using variables; values can have multiple entries } type RewriteResponseConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can have multiple entries }
30-41: Improve explanatory text and capitalizationCapitalize sentence starts; clarify the example outcome and NGINX reference.
-Note: in `*_var` maps the key is the header name and the value is the ALB context variable name. -For example, add the following annotation to an Ingress: +Note: In `*_var` maps, the key is the header name and the value is the ALB context variable name. +For example, add the following annotation to an Ingress: @@ -will add key `x-my-host` and value of request host header to request header. -you can refer to the [nginx variable](http://nginx.org/en/docs/varindex.html) for the variable names. +This adds header `x-my-host` with the value from the request host header. +You can refer to [NGINX variables](http://nginx.org/en/docs/varindex.html) for variable names.
42-48: Tighten variable descriptions; fix spacingMinor grammar fixes and spacing.
-| `first_forward_or_remote_addr` | the first forwarded address or the remote address, default is `remote_addr` | -| `first_forward` | the first forwarded address , default is empty string | +| `first_forward_or_remote_addr` | The first forwarded address or the remote address; default: `remote_addr`. | +| `first_forward` | The first forwarded address; default: empty string. |
49-53: Document cookie variable conventionReaders may not know how to reference cookies. Add a note that cookie variables follow the
cookie_<name>convention (e.g.,cookie_auth_token).To add an Authorization header from a cookie, you can use: ```yaml alb.ingress.cpaas.io/rewrite-request: '{"headers_var":{"Authorization":"cookie_auth_token"}}'
+> Note: Cookie variables use the
cookie_<name>convention. For example, the cookieauth_tokenis exposed ascookie_auth_token.</blockquote></details> <details> <summary>docs/en/configure/networking/functions/configure_alb_rule.mdx (2)</summary><blockquote> `160-160`: **Use “HTTPS” in heading** Acronym should be fully capitalized. ```diff -## Https +## HTTPS
10-16: Minor wording: capitalize and clarify prerequisites and noteImprove professionalism and consistency.
-### Prerequisites -[install alb and ft](../how_to/alb/deploy_alb.mdx) +### Prerequisites +[Install ALB and Frontend (FT)](../how_to/alb/deploy_alb.mdx) @@ -:::note -rule must be attached to a frontend and alb via label. +:::note +A rule must be attached to a Frontend and ALB via labels.docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
6-8: Title-case section headingsAlign with docs style.
-## Configuration -via ingress annotation +## Configuration +Via Ingress annotation @@ -via rule +Via RuleAlso applies to: 28-28
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (1)
6-10: Grammar and terminology consistency (“the Kubernetes ecosystem”, subject–verb, “Gateway API”)Unify “Gateway API” and fix minor grammar.
-The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. -This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. +The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. +This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help you choose the right option. @@ -While Ingress, GatewayAPI, and ALB Rules can all expose L7 traffic externally, they differ in their capabilities and isolation models. +While Ingress, Gateway API, and ALB Rules can all expose L7 traffic externally, they differ in capabilities and isolation models. @@ -GatewayAPI provides more flexible isolation mode, however they are not as mature as Ingress. -By using GatewayAPI developer can create their own isolated ALB instances to handle GatewayAPI rules. -Therefore, if you need to delegate the creation and management of ALB instances to developers, you need to choose to use GatewayAPI. +Gateway API provides a more flexible isolation model; however, it is not as mature as Ingress. +With Gateway API, developers can create their own isolated ALB instances to handle Gateway API routes. +Therefore, choose Gateway API when you need to delegate creation and management of ALB instances to developers. @@ -ALB Rule(Load Balancer in the UI) provides the most flexible traffic match rules and the most capabilities. In fact, both Ingress and GatewayAPI are implemented by translating them to ALB Rules. -However, the ALB Rule is more complex than Ingress and GatewayAPI and is not a community-standard API. Therefore, we recommend using it only when Ingress and GatewayAPI don't meet your needs. +ALB Rule (Load Balancer in the UI) provides the most flexible matching rules and the broadest capabilities. In fact, both Ingress and Gateway API are implemented by translating them to ALB Rules. +However, ALB Rule is more complex than Ingress and Gateway API and is not a community‑standard API. Use it only when Ingress or Gateway API don’t meet your needs.Also applies to: 18-19, 27-30, 33-34
docs/en/configure/networking/architecture/understanding_alb.mdx (5)
24-25: Add namespace flags to Helm install for clarity and consistency.Explicitly set a namespace (and create it) to avoid installing into default. Align with the namespace used in the examples across docs.
-helm install alb-operator alb/alauda-alb2 +helm install -n cpaas-system --create-namespace alb-operator alb/alauda-alb2
35-36: Unify namespace with other pages.This page uses
kube-system, while deploy_alb.mdx usescpaas-system. Pick one and use it consistently.- namespace: kube-system + namespace: cpaas-system
106-106: Clarify the target address in the curl example.
${ip}is undefined. Point to the ALB address defined above.-Now you can access the app via `curl http://${ip}` +Now you can access the app via `curl http://172.20.0.5/` (replace with your ALB address).
150-169: Tighten wording; avoid colloquialisms.Minor edits improve clarity.
-### ALB -ALB is an Ingress controller. -In Kubernetes cluster, we use the `alb2` resource to operate an ALB. You could use `kubectl get alb2 -A` to view all the ALBs in the cluster. +### ALB +ALB is an Ingress controller. +In a Kubernetes cluster, use the `alb2` resource to manage an ALB. Run `kubectl get alb2 -A` to view all ALBs in the cluster. -### ALB Instance -ALB also is a Deployment (bunch of pods) running in the cluster. Each pod is called an ALB instance. +### ALB Instance +ALB runs as a Kubernetes Deployment (a set of pods). Each pod is an ALB instance. -Each ALB instance handles requests independently, but all instances share Frontend (FT), Rule, and other configurations belonging to the same ALB. +Each ALB instance handles requests independently, and they share the same Frontend (FT), Rule, and other ALB-scoped configurations.
170-191: Standardize FT/RULE sections and grammar.Improve readability and consistency.
-### Frontend (abbreviation: FT) -FT is a resource defined by ALB itself. It is used to represent the ALB instance listening ports. -FT could be created by ALB-Leader or user manually. +### Frontend (FT) +FT is an ALB-defined resource representing the ALB’s listening ports. +FTs can be created by the ALB leader or manually by a user. -### RULE -RULE is a resource defined by ALB itself. -It takes the same role as the Ingress, but it is more specific. -A RULE is uniquely associated with a FT. +### Rule +Rule is an ALB-defined resource. +It plays a role similar to Ingress, but is more specific. +Each Rule is uniquely associated with an FT.docs/en/configure/networking/functions/configure_ingress.mdx (4)
25-26: Polish prerequisite links and capitalization.Small grammar and casing fixes.
-- [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) -- [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +- [Install ingress-nginx as an Ingress controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Install ALB as an Ingress controller](../how_to/alb/deploy_alb.mdx)
57-59: Clarify controller selection wording.Tighten phrasing and casing.
-2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. +2. Use `nginx` to target the `ingress-nginx` controller; use `$alb_name` to target the ALB controller.
61-61: Grammar: “an Ingress.”-## Creating a Ingress by using the web console +## Creating an Ingress by using the web console
82-82: Grammar: “an Ingress.”-## Creating a Ingress by using the CLI +## Creating an Ingress by using the CLIdocs/en/configure/networking/how_to/alb/deploy_alb.mdx (7)
65-72: Networking section: minor grammar and clarity.Capitalize and clarify
.spec.address.-#### Networking Configuration \{#alb_networking_configuration\} -Networking fields describe how to access the ALB. For example, in `host` mode, alb will use hostnetwork, and you can access the ALB via the node IP. +#### Networking Configuration {#alb_networking_configuration} +Networking fields describe how to access the ALB. For example, in `host` mode the ALB uses host networking, and you can access it via the node IP. ... -| `.spec.address` | string,required | you could manually specify the address of alb | +| `.spec.address` | string, required | Manually specify the ALB address (node IP or LoadBalancer IP). |
74-80: Title case and consistency for “Project Configuration.”-#### project configuration +#### Project Configuration
89-93: Polish: tweak configuration paragraph.-#### tweak configuration -there are some global config which can be tweaked in alb cr. +#### Tweak Configuration +Some global settings can be tweaked in the ALB custom resource.
164-166: Grammar: “an ALB.”-Create a ALB first. +Create an ALB first.
194-205: Callouts: tighten grammar and explanations.-1. alb label: Required, indicate the ALB instance to which this `Frontend` belongs to. -2. frontend name: Format as `$alb_name-$port`. -3. port: which port which listen on. -4. protocol: what protocol this port uses. +1. ALB label: required. Indicates which ALB this `Frontend` belongs to. +2. Frontend name: format as `$alb_name-$port`. +3. Port: the listener port. +4. Protocol: the listener protocol. ... -5. certificate_name: for grpcs and https protocol which the default cert used, Format as `$secret_ns/$secret_name`. -6. backendProtocol: what protocol the backend service uses. +5. certificate_name: default cert for `grpcs`/`https`. Format: `$secret_ns/$secret_name`. +6. backendProtocol: protocol used by the backend service.
198-201: gRPC certificate note: split sentences for readability.- - When selecting the gRPC protocol, the backend protocol defaults to gRPC, which does not support session persistence.If a certificate is set for the gRPC protocol, the load balancer will unload the gRPC certificate and forward the unencrypted gRPC traffic to the backend service. + - For gRPC, the backend protocol defaults to gRPC and does not support session persistence. + - If a certificate is set for gRPC, the load balancer terminates TLS and forwards unencrypted gRPC traffic to the backend.
225-229: “web UI” and session affinity path confirmation.
- Spelling/casing fix.
- Good job aligning
session_affinity_policywith the YAML above.-Each input item on the webui corresponds to a field of the CR +Each input item in the web UI corresponds to a field of the CR
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (4)
docs/en/configure/networking/assets/create_alb_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_ft_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_rule_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/gatewayapi-architecture.pngis excluded by!**/*.png
📒 Files selected for processing (26)
docs/en/configure/networking/architecture/understanding_alb.mdx(3 hunks)docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx(7 hunks)docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx(1 hunks)docs/en/configure/networking/concepts/gatewayapi.mdx(1 hunks)docs/en/configure/networking/functions/configure_alb_rule.mdx(1 hunks)docs/en/configure/networking/functions/configure_ingress.mdx(3 hunks)docs/en/configure/networking/how_to/alb/auth.mdx(2 hunks)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/cors.mdx(1 hunks)docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/deploy_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/header_modification.mdx(1 hunks)docs/en/configure/networking/how_to/alb/http_redirect.mdx(1 hunks)docs/en/configure/networking/how_to/alb/index.mdx(1 hunks)docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx(1 hunks)docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/otel.mdx(4 hunks)docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx(1 hunks)docs/en/configure/networking/how_to/alb/url_rewrite.mdx(1 hunks)docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx(0 hunks)docs/en/configure/networking/how_to/create_loadbalancer.mdx(0 hunks)docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx(0 hunks)docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx(2 hunks)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx(1 hunks)
💤 Files with no reviewable changes (3)
- docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx
- docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx
- docs/en/configure/networking/how_to/create_loadbalancer.mdx
✅ Files skipped from review due to trivial changes (1)
- docs/en/configure/networking/how_to/alb/http_redirect.mdx
🚧 Files skipped from review as they are similar to previous changes (9)
- docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx
- docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx
- docs/en/configure/networking/how_to/alb/index.mdx
- docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx
- docs/en/configure/networking/how_to/alb/decision_makeing_for_performance_selection_of_alb.mdx
- docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx
🧰 Additional context used
🪛 LanguageTool
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx
[grammar] ~8-~8: There might be a mistake here.
Context: ...multiple ingress traffic specifications in Kubernetes ecosystem. This document com...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... specifications in Kubernetes ecosystem. This document compares them ([Service](....
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_ingress.mdx
[grammar] ~24-~24: There might be a mistake here.
Context: ... add the 80 and 443 listening ports. ::: - [install ingress-nginx as ingress-control...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...tall ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - [install alb as ingress-controller](../ho...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...dx) - install alb as ingress-controller ## Example Ingress: ```yaml # nginx-ingres...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ...inxcontroller,$alb_name` to use alb as ingress controller. 3. If you only want...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ..._name` to use alb as ingress controller. 3. If you only want to run ingress locally,...
(QB_NEW_EN)
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
[grammar] ~9-~9: There might be a mistake here.
Context: ..._cluster_plugin.mdx) ## Max Connections [max-worker-connections](https://kubernet...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...map/#max-worker-connections) ## Timeout [config timeout](https://kubernetes.githu...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ...sticky-sessions) ## Header Modification |action|link| |--|--| |set header in req...
(QB_NEW_EN)
[grammar] ~19-~19: There might be a mistake here.
Context: ...s) ## Header Modification |action|link| |--|--| |set header in request|[proxy-se...
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...eader Modification |action|link| |--|--| |set header in request|[proxy-set-header...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...figuration/annotations/#custom-headers)| |remove header in request| set a empty h...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...onfigmap/#hide-headers)| ## URL Rewrite [rewrite](https://kubernetes.github.io/in...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...## HSTS (HTTP Strict Transport Security) [configure HSTS](https://kubernetes.github.io/ingr...
(QB_NEW_EN)
[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ginx-configuration/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernet...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ation/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernetes...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tion/annotations/#rate-limiting) ## WAF [modsecurity](https://kubernetes.github.i...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...uthentication) ### TLS edge termination [backend protocol](https://kubernetes.git...
(QB_NEW_EN)
[grammar] ~49-~49: There might be a mistake here.
Context: ...ions/#backend-protocol) ### Passthrough [ssl-passthrough]https://kubernetes.gith...
(QB_NEW_EN)
docs/en/configure/networking/concepts/gatewayapi.mdx
[grammar] ~12-~12: There might be a mistake here.
Context: ...ateway resource maps to an ALB resource. Listeners and routers are handled direct...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_alb_rule.mdx
[grammar] ~1-~1: There might be a mistake here.
Context: # Configure ALB Rules ## Introduction ### What is a Rule? Rule i...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ... must be attached to a frontend and alb via label. ::: ```yaml apiVersion: crd.ala...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...ttached to a frontend and alb via label. ::: ```yaml apiVersion: crd.alauda.io/v...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...e Frontend to which this rule belongs. 2. Required, indicate the ALB to which this...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ... used to describe the matching criteria. For example, the rule below matches a re...
(QB_NEW_EN)
[grammar] ~116-~116: There might be a mistake here.
Context: ...rity` using an integer value. ## Action After a request matches a rule, you can ...
(QB_NEW_EN)
[grammar] ~121-~121: There might be a mistake here.
Context: ...meout](../how_to/alb/l4_l7_timeout.mdx)| | Redirect | Redirects incoming ...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...irect](../how_to/alb/http_redirect.mdx)| | CORS | Enables Cross-Origi...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ... |cors| | Header Modification | Allows modifi...
(QB_NEW_EN)
[grammar] ~124-~124: There might be a mistake here.
Context: ...(../how_to/alb/header_modification.mdx)| | URL Rewrite | Rewrites the URL of...
(QB_NEW_EN)
[grammar] ~125-~125: There might be a mistake here.
Context: ...rewrite](../how_to/alb/url_rewrite.mdx)| | WAF | Integrates Web Appl...
(QB_NEW_EN)
[grammar] ~126-~126: There might be a mistake here.
Context: ... |waf| | OTEL | Enables OpenTelemet...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...g. |otel| | Keepalive | Enables or disable...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...## backend protocol {#backend_protocol} By default, the backend protocol is set ...
(QB_NEW_EN)
[grammar] ~134-~134: There might be a mistake here.
Context: ...ession Affinity Policy {#service_group} You can configure one or more services w...
(QB_NEW_EN)
[grammar] ~141-~141: There might be a mistake here.
Context: ...ty_policy_in_alb.mdx). ## Creating Rule ### Using web console 
[style] ~147-~147: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the load balancer. 4. Click on the name of the listener port. 5. Cl...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~148-~148: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the listener port. 5. Click Add Rule. 6. Refer to the following...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~152-~152: Ensure spelling is correct
Context: ... Click Add. Each input item on the webui corresponds to a field of the CR ### u...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: Ensure spelling is correct
Context: ... the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ule can also be configured to use HTTPS. You can specify the certificate either i...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: .... ### Certificate Annotation in Ingress Certificates can be referenced across na...
(QB_NEW_EN)
[grammar] ~172-~172: There might be a mistake here.
Context: ...Certificate in Rule {#certificate_name} In .spec.certificate_name, the format ...
(QB_NEW_EN)
[grammar] ~175-~175: There might be a mistake here.
Context: ...et_namespace/$secret_name` ### TLS Mode #### Edge Mode In edge mode, the client commu...
(QB_NEW_EN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...ecret_name` ### TLS Mode #### Edge Mode In edge mode, the client communicates wi...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ...th backend services using HTTP protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...his: 1. create ft use https protocol 2. create rule with backend protocol http, and sp...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol http, and specify cert...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te rule with backend protocol http, and specify cert via .spec.certificate_name #### ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... ALB communicates with backend services using HTTPS protocol. To achieve this: 1. cre...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...h backend services using HTTPS protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol https, and specify cer...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...e rule with backend protocol https, and specify cert via .spec.certificate_name ## I...
(QB_NEW_EN)
[grammar] ~188-~188: There might be a mistake here.
Context: ...s} ### ingress sync {#alb_ingress_sync} Each ALB creates an IngressClass with th...
(QB_NEW_EN)
[grammar] ~200-~200: There might be a mistake here.
Context: ....source.namespace` is ingress namespace. ::: #### ssl strategy {#alb_ingress_ss...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...sl strategy {#alb_ingress_ssl_strategy} For ingresses that do not have certifica...
(QB_NEW_EN)
[grammar] ~206-~206: There might be a mistake here.
Context: ...om resource with the following settings: - .spec.config.defaultSSLStrategy: Defines the SSL strategy for ingresses...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...ategy for ingresses without certificates - .spec.config.defaultSSLCert: Sets the default certificate in the fo...
(QB_NEW_EN)
[grammar] ~210-~210: There might be a mistake here.
Context: ...$secret_name` Available SSL strategies: - Never: Do not create rules on HTTPS po...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/auth.mdx
[style] ~134-~134: This phrase is redundant. Consider writing “details”.
Context: ... series of annotations to configure the specific details of the authentication process. Below is...
(SPECIFIC_DETAILS)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
[grammar] ~6-~6: Ensure spelling is correct
Context: ...52c10984d03564c0cdec45 --- # Configure GatewayApi Gateway via ALB An inbound gateway (Ga...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/en/configure/networking/how_to/alb/cors.mdx
[grammar] ~3-~3: There might be a mistake here.
Context: # CORS ## Basic Concepts [CORS](https://developer.mozilla.org/en-U...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx
[grammar] ~7-~7: There might be a mistake here.
Context: ...70cb27c0597def5 --- # Deploy ALB ## ALB ALB is a custom resource that represents a ...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...e: nginx ``` #### Resource Configuration resource related field describes the deployment ...
(QB_NEW_EN)
[grammar] ~53-~53: There might be a mistake here.
Context: ...he deployment configuration for the alb. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~66-~66: There might be a mistake here.
Context: ... you can access the ALB via the node IP. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~69-~69: There might be a mistake here.
Context: ...d uses its address as the ALB address. | | .spec.address | string,required | yo...
(QB_NEW_EN)
[grammar] ~70-~70: There might be a mistake here.
Context: ...ld manually specify the address of alb | | .spec.config.vip.enableLbSvc | bool,...
(QB_NEW_EN)
[grammar] ~74-~74: There might be a mistake here.
Context: ...r Service. | #### project configuration | Field | Type | |-------|------| | `.s...
(QB_NEW_EN)
[grammar] ~75-~75: There might be a mistake here.
Context: ... project configuration | Field | Type | |-------|------| | `.spec.config.project...
(QB_NEW_EN)
[grammar] ~76-~76: There might be a mistake here.
Context: ...ation | Field | Type | |-------|------| | .spec.config.projects | []string,req...
(QB_NEW_EN)
[grammar] ~77-~77: There might be a mistake here.
Context: ...c.config.projects| []string,required | |.spec.config.portProjects` | string,o...
(QB_NEW_EN)
[grammar] ~78-~78: There might be a mistake here.
Context: ...config.portProjects| string,optional | |.spec.config.enablePortProject` | boo...
(QB_NEW_EN)
[grammar] ~82-~82: There might be a mistake here.
Context: ...project can find and configure this ALB. 2. This ALB will handle ingress resources b...
(QB_NEW_EN)
[grammar] ~90-~90: There might be a mistake here.
Context: ...obal config which can be tweaked in alb cr. - bind-nic - [ingr...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ch can be tweaked in alb cr. - bind-nic - [ingress-sync](../../functions/configure_...
(QB_NEW_EN)
[grammar] ~105-~105: There might be a mistake here.
Context: ...eld of the CR: |Parameter| Description| |--|--| |Assigned Address| `.spec.addres...
(QB_NEW_EN)
[grammar] ~106-~106: There might be a mistake here.
Context: ...he CR: |Parameter| Description| |--|--| |Assigned Address| .spec.address| |All...
(QB_NEW_EN)
[grammar] ~107-~107: There might be a mistake here.
Context: ...|--| |Assigned Address| .spec.address| |Allocated By| Instance means project ...
(QB_NEW_EN)
[grammar] ~136-~136: There might be a mistake here.
Context: ...tate. 5. Click Update. #### Delete ##### Using the web console :::note After del...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... (tcp|udp). In L4 Proxy use frontend to configure backend service directly. In L7 Proxy u...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...d to configure backend service directly. In L7 Proxy use frontend to configure li...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ..._rule.mdx) to configure backend service. If you need to add an HTTPS listener por...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...adings-in-section */} ### Prerequisites Create a ALB first. ### Configure Front...
(QB_NEW_EN)
[grammar] ~195-~195: There might be a mistake here.
Context: ...ntend name: Format as $alb_name-$port. 3. port: which port which listen on. 4. pro...
(QB_NEW_EN)
[grammar] ~196-~196: There might be a mistake here.
Context: ...t`. 3. port: which port which listen on. 4. protocol: what protocol this port uses. ...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...ed, Format as $secret_ns/$secret_name. 6. backendProtocol: what protocol the backe...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...alls back to the default serviceGroup. 8. [session_affinity_policy](./load_balancin...
(QB_NEW_EN)
[grammar] ~214-~214: There might be a mistake here.
Context: ... ### Operation On Frontend #### Creating ##### using the web console 
[grammar] ~225-~225: Ensure spelling is correct
Context: ...k Add Port. Each input item on the webui corresponds to a field of the CR |Param...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~226-~226: There might be a mistake here.
Context: ... field of the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serv...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serviceGroup.s...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
[grammar] ~17-~17: There might be a mistake here.
Context: ...guration). | Annotation | Description | |---|---| | `metallb.universe.tf/loadBal...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... | Annotation | Description | |---|---| | metallb.universe.tf/loadBalancerIPs ...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... pool to allocate from. | ## Method 2: Use external ALB device to provide VIP * P...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...the ports in use to reduce the downtime of ALB upgrade. The health check configura...
(QB_NEW_EN)
[grammar] ~31-~31: There might be a mistake here.
Context: ...h check, it is recommended to use TCP. | | Response Timeout | The time requir...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/header_modification.mdx
[grammar] ~10-~10: There might be a mistake here.
Context: ...annotation key | |---------|-----------------------------...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...---------------------------------------| | ingress | `alb.ingress.cpaas.io/rewrit...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...alb.ingress.cpaas.io/rewrite-response| | rule |alb.rule.cpaas.io/rewrite-r...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ... value is the ALB context variable name. For example, add the following annotatio...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ... | |--------------------------------|------...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ...---------------------------------------| | first_forward_or_remote_addr | the f...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...mote address, default is remote_addr | | first_forward | the f...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx
[grammar] ~6-~6: There might be a mistake here.
Context: ...ps to rewrite the URL. ## Configuration via ingress annotation ```yaml apiVersio...
(QB_NEW_EN)
[grammar] ~48-~48: There might be a mistake here.
Context: ...rget: /$3 ``` Example: client requests /prefix-x/abc; backend receives `/abc`.
(QB_NEW_EN)
🔇 Additional comments (8)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (2)
90-97: Anchor Verified – No Further Changes RequiredThe anchor
loadbalancer_type_service_annotationis present at line 319 indocs/en/configure/networking/functions/configure_service.mdx, so the internal link inconfigure_gatewayapi_gateway_via_alb.mdxwill resolve correctly.
24-70: Consider switching to gateway.networking.k8s.io/v1 for the Gateway resourceThis document currently specifies the Gateway API at v1beta1, while other guides (e.g. the Canary Deployment walkthrough) are already using the stable v1 version. If your cluster’s Gateway CRDs support v1, please align this example for consistency; otherwise you can safely retain v1beta1.
Locations to update:
- docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx: line 28 (Gateway apiVersion)
- docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx: line 239 (Gateway apiVersion)
Suggested diff:
--- a/docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx +++ b/docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx @@ -25,7 +25,7 @@ apiVersion: gateway.networking.k8s.io/v1beta1 kind: Gateway metadata: @@ - apiVersion: gateway.networking.k8s.io/v1beta1 + apiVersion: gateway.networking.k8s.io/v1 kind: Gatewaydocs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (1)
30-34: Confirm port values (11782/1936) match product defaults• Port 11782 is referenced in:
– docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (line 30)
– docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (lines 45, 211, 294)• Port 1936 is referenced in:
– docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (line 30)
– docs/en/configure/networking/how_to/soft_data_center_lb_solution.mdx (lines 102, 126)All occurrences consistently document “11782 for global clusters” and “1936 for business clusters.” Please verify these values against your actual product defaults (e.g., in the service configuration or codebase) to ensure accuracy.
docs/en/configure/networking/how_to/alb/header_modification.mdx (1)
10-13: Verify and standardize ALB annotation domainsOur documentation currently mixes multiple annotation domain prefixes:
alb.ingress.cpaas.io(used in auth, header modification, session‐affinity, OpenTelemetry and tracing examples)alb.rule.cpaas.io(used in header_modification.mdx)alb.networking.cpaas.io(used for TLS in configure_alb_rule.mdx)alb.cpaas.io(used for ingress‐rule‐priority andalb-ref)Please confirm which domain is the canonical, supported prefix (for example,
alb.cpaas.io/*) and update all affected docs to use it consistently.Key files/locations to update:
- docs/en/configure/networking/functions/configure_alb_rule.mdx (lines around 111–112, 169)
- docs/en/configure/networking/how_to/alb/auth.mdx
- docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
- docs/en/configure/networking/how_to/alb/header_modification.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/observability/tracing/installation.mdx
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
1-5: Good: Rule CR example and capture group usage are correct
rewrite_target: /$3matches the provided regex and the example explanation is consistent.Also applies to: 44-46, 48-48
docs/en/configure/networking/concepts/gatewayapi.mdx (1)
6-9: LGTM: Clear intro and diagram contextGood high‑level framing and helpful visual reference.
docs/en/configure/networking/architecture/understanding_alb.mdx (1)
212-212: Link target looks correct.The new destination aligns with the restructured docs.
docs/en/configure/networking/how_to/alb/deploy_alb.mdx (1)
14-15: ALB VIP documentation link is validThe file
deploy_high_available_vip_for_alb.mdxexists indocs/en/configure/networking/how_to/alb/, so the link[Configure VIP](./deploy_high_available_vip_for_alb.mdx)resolves correctly. No update is needed.
c1fd6c9 to
01bf95f
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (9)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
6-26: Ingress example mixes NGINX annotations with ingressClassName: alb — remove or clearly label.ALB does not honor nginx.ingress.kubernetes.io/rewrite-target. Keep this ALB page consistent by removing the NGINX snippet or explicitly labeling it as NGINX and fixing it there.
-## Configuration -via ingress annotation -```yaml -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - nginx.ingress.kubernetes.io/rewrite-target: /$2 - name: demo -spec: - ingressClassName: alb - rules: - - http: - paths: - - backend: - service: - name: frontend - port: - number: 8080 - path: /(prefix-x)(/|$)(.*) - pathType: ImplementationSpecific -``` +## Configuration +> Note: The ALB controller does not support URL rewrite via ingress annotations. Use the Rule CRD approach below.docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (1)
41-50: Fix malformed passthrough link.### Passthrough -[ssl-passthrough]https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough) +[ssl-passthrough](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough)docs/en/configure/networking/concepts/gatewayapi.mdx (1)
11-14: Good fix: “routes” (Gateway API term) used consistently.Thanks for aligning with upstream terminology.
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (1)
15-15: Broken anchor reference in ALB documentationThe link in
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx:[ALB networking configuration](./deploy_alb.mdx#alb_networking_configuration)points to an anchor that doesn’t exist in
docs/en/configure/networking/how_to/alb/deploy_alb.mdx. To resolve this:
In
docs/en/configure/networking/how_to/alb/deploy_alb.mdx, locate the “#### Networking Configuration” header and add the missing anchor identifier. For example:#### Networking Configuration {#alb_networking_configuration}Alternatively, if the intended target is a different header, update the link in
deploy_high_available_vip_for_alb.mdxto match the actual{#…}ID defined indeploy_alb.mdx.Please ensure the anchor ID is consistent between the link and the header.
docs/en/configure/networking/functions/configure_alb_rule.mdx (2)
11-12: Unescape heading IDs so anchors work.Same issue noted previously; anchors won’t generate with escaped braces.
-### Quick demo of rule \{#alb_add_rule} +### Quick demo of rule {#alb_add_rule} @@ -### backend protocol \{#backend_protocol} +### backend protocol {#backend_protocol} @@ -### Service Group and Session Affinity Policy \{#service_group} +### Service Group and Session Affinity Policy {#service_group} @@ -### Certificate in Rule \{#certificate_name} +### Certificate in Rule {#certificate_name} @@ -## Ingress \{#alb_ingress} -### ingress sync \{#alb_ingress_sync} +## Ingress {#alb_ingress} +### ingress sync {#alb_ingress_sync} @@ -#### ssl strategy \{#alb_ingress_ssl_strategy} +#### ssl strategy {#alb_ingress_ssl_strategy}Also applies to: 131-131, 134-134, 172-172, 187-188, 203-203
169-170: Standardize annotation domain to alb.cpaas.io.Previously flagged; keep a single domain to avoid confusion.
-alb.networking.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls +alb.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tlsdocs/en/configure/networking/how_to/alb/header_modification.mdx (1)
17-28: Tighten Go comments (phrasing); prior issue partially fixed.Replace awkward “which values …” with concise wording.
type RewriteRequestConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersVar map[string]string `json:"headers_var,omitempty"` // set header, which values are variable name - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple - HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // add header, which values could be multiple and which values are variable name + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersVar map[string]string `json:"headers_var,omitempty"` // Set header; values are variable names + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can contain multiple entries + HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // Add header; values can contain multiple entries; values are variable names } type RewriteResponseConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can contain multiple entries }docs/en/configure/networking/how_to/alb/deploy_alb.mdx (2)
14-15: Fix broken VIP link to local section.This page removes the standalone VIP doc; link to the Networking section here.
-The high availability of the **Load Balancer** requires a VIP. Please refer to [Configure VIP](./deploy_high_available_vip_for_alb.mdx). +The high availability of the **Load Balancer** requires a VIP. See [Networking Configuration](#alb_networking_configuration) for VIP options.
58-61: Resource table paths are incorrect (resource→resources); align with example YAML.These typos will mislead users.
-| `.spec.config.resource.limit` | k8s container-resource,optional | limit of nginx container of alb | -| `.spec.config.resource.request` | k8s container-resource,optional | request of nginx container of alb | -| `.spec.config.resource.alb.limit` | k8s container-resource,optional | limit of alb container of alb | -| `.spec.config.resource.alb.request` | k8s container-resource,optional | request of alb container of alb | +| `.spec.config.resources.limits` | k8s container resources, optional | Limits for the nginx container. | +| `.spec.config.resources.requests` | k8s container resources, optional | Requests for the nginx container. | +| `.spec.config.resources.alb.limits` | k8s container resources, optional | Limits for the ALB container. | +| `.spec.config.resources.alb.requests` | k8s container resources, optional | Requests for the ALB container. |
🧹 Nitpick comments (38)
docs/en/configure/networking/how_to/alb/cors.mdx (1)
3-5: Tighten wording in Basic Concepts.Minor grammar polish for clarity.
-## Basic Concepts -[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) (Cross-Origin Resource Sharing) is a mechanism that allows resources (e.g., fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain from which the resource originated. +## Basic Concepts +[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) (Cross‑Origin Resource Sharing) allows a web page to request resources (for example, fonts or JavaScript) from a different origin.docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
48-48: Minor wording tweak.-Example: client requests `/prefix-x/abc`; backend receives `/abc`. +Example: client requests `/prefix-x/abc`; the backend receives `/abc`.docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (2)
21-24: Grammar and directive name in table.
- “a empty” → “an empty”.
- The directive is more_set_headers (plural, underscores).
-|remove header in request| set a empty header in request | -|set header in response|[configuration-snippets](https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/) with [more-set-header](https://github.com/openresty/headers-more-nginx-module?tab=readme-ov-file#more_set_headers) directive | +|remove header in request| set an empty header in request | +|set header in response|[configuration-snippets](https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/) with [more_set_headers](https://github.com/openresty/headers-more-nginx-module?tab=readme-ov-file#more_set_headers) directive |
38-40: Heading consistency.Consider “Forwarded headers” to match common terminology; optional.
-## Forward-header control +## Forwarded headersdocs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (5)
6-6: Use canonical “GatewayAPI” casing in the title.Keeps terminology consistent across the docs and avoids broken anchors.
Apply:
-# Configure GatewayApi Gateway via ALB +# Configure GatewayAPI Gateway via ALB
36-36: Example names/labels are consistent; add a brief note to replace placeholders.Readers may copy-paste values like
test-o93q7. Add a line reminding them to substitute real names.labels: - alb.cpaas.io/alb-ref: test-o93q7 # [!code callout] + alb.cpaas.io/alb-ref: test-o93q7 # [!code callout] replace with your ALB2 name ... name: test-o93q7 # [!code callout]Also consider appending after the Callouts block: “Replace test/test-o93q7 with your Gateway/ALB2 names.”
Also applies to: 51-51, 73-76
39-39: Link “Gateway Class” to the concept page for quick reference.Improves discoverability of available classes like
exclusive-gateway.- gatewayClassName: exclusive-gateway # [!code callout] + gatewayClassName: exclusive-gateway # [!code callout] (see concepts: GatewayAPI)And in Callouts item 2, link directly:
-2. See the Gateway Class introduction below. +2. See the Gateway Class introduction below and the [GatewayAPI concepts](../../concepts/gatewayapi.mdx).Also applies to: 72-76
28-30: Consider updating Gateway API versions to v1 where supported.If your clusters ship GA CRDs, prefer
gateway.networking.k8s.io/v1forGatewayandHTTPRoute.-apiVersion: gateway.networking.k8s.io/v1beta1 +apiVersion: gateway.networking.k8s.io/v1 ... -# example-httproute.yaml -apiVersion: gateway.networking.k8s.io/v1beta1 +# example-httproute.yaml +apiVersion: gateway.networking.k8s.io/v1If some environments still require v1beta1, add a note listing the minimum Kubernetes/Gateway API versions.
Also applies to: 239-241
118-137: Naming consistency: “ALB2 name format” vs resources table uses “name-lb-random”.Callouts state
{gatewayName}-{random}, while the table showsname-lb-random. Align to a single convention to avoid confusion.docs/en/configure/networking/concepts/gatewayapi.mdx (1)
8-9: Add one‑line bullets for the three personas.The image is great; a short list improves skimmability and accessibility.
The overall resource model focuses on 3 separate personas and corresponding resources that they are expected to manage:  +• Infrastructure provider: defines GatewayClasses +• Platform operator: manages Gateways +• Application developer: owns Route resourcesdocs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx (2)
4-4: Unify project naming: prefer “Ingress NGINX”.The header uses “Ingress‑Nginx” while body uses “Ingress NGINX”. Standardize for consistency.
-# Install Ingress-Nginx via Cluster Plugin +# Install Ingress NGINX via Cluster Plugin
158-161: Capitalize link text and clarify targets.Minor polish and consistency with section titles.
-[tasks for ingress-nginx](./tasks_for_ingress_nginx.mdx) +[Tasks for Ingress NGINX](./tasks_for_ingress_nginx.mdx)docs/en/configure/networking/how_to/alb/auth.mdx (1)
136-152: Table: clarify support for auth-type.Support column shows “-” while notes say basic is supported. Mark as supported and note digest unsupported.
-| nginx.ingress.kubernetes.io/auth-type | - | "basic" or "digest" | basic: supports apr1 **digest: not supported** | +| nginx.ingress.kubernetes.io/auth-type | v | "basic" | basic supported (apr1). digest not supported. |docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (2)
5-5: Title: use “High‑Availability” phrasing.More idiomatic English and better SEO.
-# Deploy High Available VIP for ALB +# Deploy a High‑Availability VIP for ALB
28-35: Health check table: minor copy edits for clarity.Tighten phrasing; keep parameters intact.
- | **Protocol** | The protocol type of the health check, it is recommended to use TCP. | - | **Response Timeout** | The time required to receive the health check response, it is recommended to configure it to 2 seconds. | - | **Check Interval** | The time interval for the health check, it is recommended to configure it to 5 seconds. | - | **Unhealthy Threshold** | The number of consecutive failures after which the health check status of the backend server is determined to be failed, it is recommended to configure it to 3 times. | + | **Protocol** | Health check protocol. Recommended: TCP. | + | **Response Timeout** | Time to wait for a health check response. Recommended: 2s. | + | **Check Interval** | Interval between health checks. Recommended: 5s. | + | **Unhealthy Threshold** | Consecutive failures to mark backend unhealthy. Recommended: 3. |docs/en/configure/networking/functions/configure_ingress.mdx (4)
18-24: Tighten “Implementation Method” wording; fix port phrasing.Clearer, idiomatic phrasing and correct “port 80/443” usage.
-Ingress rules depend on the implementation of the Ingress Controller, which is responsible for listening to changes in Ingress and Service. After a new Ingress is created, when the Ingress Controller receives a request, it matches the forwarding rule from the Ingress and distributes the traffic to the specified internal routes, as shown in the diagram below. +Ingress behavior depends on the Ingress controller implementation. After an Ingress is created, the controller watches Ingress/Service changes and, on each request, matches rules from the Ingress to route traffic to the specified backends, as shown below. @@ -For the HTTP protocol, Ingress only supports the 80 port as the external port. For the HTTPS protocol, Ingress only supports the 443 port as the external port. The platform's load balancer will automatically add the 80 and 443 listening ports. +For HTTP, Ingress exposes port 80; for HTTPS, it exposes port 443. The platform load balancer automatically listens on ports 80 and 443.
25-26: Capitalize product names; improve link copy.-- [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) -- [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +- [Install Ingress-NGINX as an Ingress controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Install ALB as an Ingress controller](../how_to/alb/deploy_alb.mdx)
53-60: Clarify Callouts item 2.Make controller selection explicit and grammatical.
-2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. +2. Set `ingressClassName: nginx` to use the Ingress-NGINX controller, or set `ingressClassName: $alb_name` to use the ALB controller.
61-61: Use “an Ingress.”-## Creating a Ingress by using the web console +## Creating an Ingress by using the web console @@ -## Creating a Ingress by using the CLI +## Creating an Ingress by using the CLIAlso applies to: 82-82
docs/en/configure/networking/functions/configure_alb_rule.mdx (5)
10-10: Clarify prerequisite wording and link to Frontend section.-[install alb and ft](../how_to/alb/deploy_alb.mdx) +[Install ALB and create a Frontend](../how_to/alb/deploy_alb.mdx#configure-frontend)
56-58: Title case section headings; be consistent with “DSLX.”-### match request with dslx and priority -#### dslx +### Match requests with DSLX and priority +#### DSLX
66-67: Grammar: cookie bullet.-- has a cookie name is uid +- has a cookie named `uid`
152-152: “webui” → “web UI.”-Each input item on the webui corresponds to a field of the CR +Each input item on the web UI corresponds to a field of the CR
160-160: Capitalize HTTPS.-## Https +## HTTPSdocs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (3)
8-10: Tighten intro; add article before “Kubernetes ecosystem.”-The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. -This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. +The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. +This document compares [Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx) to help you choose the right one.
22-24: Subject–verb agreement; minor polish.-Ingress is the standard specification adopted by the Kubernetes community and are recommended for default use. -The Ingress is handled by ALB instances that are managed by the platform administrator. +Ingress is the standard specification adopted by the Kubernetes community and is recommended for default use. +Ingress resources are handled by ALB instances managed by the platform administrator.
18-18: Use “Gateway API” consistently and improve phrasing.-While Ingress, GatewayAPI, and ALB Rules can all expose L7 traffic externally, they differ in their capabilities and isolation models. +While Ingress, Gateway API, and ALB Rules can all expose L7 traffic externally, they differ in capabilities and isolation models. @@ -### GatewayAPI +### Gateway API @@ -GatewayAPI provides more flexible isolation mode, however they are not as mature as Ingress. -By using GatewayAPI developer can create their own isolated ALB instances to handle GatewayAPI rules. -Therefore, if you need to delegate the creation and management of ALB instances to developers, you need to choose to use GatewayAPI. +Gateway API provides a more flexible isolation model, but it is not as mature as Ingress. +With Gateway API, developers can create isolated ALB instances to handle Gateway API rules. +Choose Gateway API if you need to delegate ALB instance creation and management to developers.Also applies to: 25-30
docs/en/configure/networking/how_to/alb/header_modification.mdx (3)
9-13: Title case heading.-### use annotations +### Use annotations
39-41: Clarify explanatory sentence.-will add key `x-my-host` and value of request host header to request header. -you can refer to the [nginx variable](http://nginx.org/en/docs/varindex.html) for the variable names. +This adds header `x-my-host` with the request Host value. +See [NGINX variables](http://nginx.org/en/docs/varindex.html) for available variable names.
49-49: Title case section heading.-## examples +## Examplesdocs/en/configure/networking/how_to/alb/deploy_alb.mdx (8)
65-66: Unescape anchor ID; refine sentence.-#### Networking Configuration \{#alb_networking_configuration\} -Networking fields describe how to access the ALB. For example, in `host` mode, alb will use hostnetwork, and you can access the ALB via the node IP. +#### Networking Configuration {#alb_networking_configuration} +Networking fields describe how to access the ALB. For example, in `host` mode the ALB uses host networking, and you can access it via the node IP.
70-72: Minor grammar/casing nits.-| `.spec.address` | string,required | you could manually specify the address of alb | +| `.spec.address` | string, required | Manually specify the ALB address. | @@ -| `.spec.config.vip.enableLbSvc` | bool, optional | Automatically true in `container` mode. | +| `.spec.config.vip.enableLbSvc` | bool, optional | Automatically set to true in `container` mode. |
74-74: Normalize heading capitalization; tighten wording.-#### project configuration +#### Project configuration @@ -#### tweak configuration -there are some global config which can be tweaked in alb cr. +#### Tweak configuration +Some global configuration can be tweaked in the ALB CR:Also applies to: 89-90
165-165: Article usage.-Create a ALB first. +Create an ALB first.
159-161: Clarify L4/L7 sentences.-In L4 Proxy use frontend to configure backend service directly. -In L7 Proxy use frontend to configure listener ports, and use [rule](../../functions/configure_alb_rule.mdx) to configure backend service. +For L4 proxying, configure the backend service directly on the Frontend. +For L7 proxying, configure listener ports on the Frontend and backend routing via [Rules](../../functions/configure_alb_rule.mdx).
195-201: Polish Callouts: grammar and clarity.-1. alb label: Required, indicate the ALB instance to which this `Frontend` belongs to. -2. frontend name: Format as `$alb_name-$port`. -3. port: which port which listen on. -4. protocol: what protocol this port uses. +1. ALB label: required; indicates the ALB instance this `Frontend` belongs to. +2. Frontend name: format as `$alb_name-$port`. +3. Port: the port to listen on. +4. Protocol: the listener protocol. @@ -5. certificate_name: for grpcs and https protocol which the default cert used, Format as `$secret_ns/$secret_name`. -6. backendProtocol: what protocol the backend service uses. +5. certificate_name: default certificate for GRPCS/HTTPS; format `$secret_ns/$secret_name`. +6. backendProtocol: the protocol used to connect to the backend service.Also applies to: 203-206
200-201: Fix punctuation and readability.- - When selecting the gRPC protocol, the backend protocol defaults to gRPC, which does not support session persistence.If a certificate is set for the gRPC protocol, the load balancer will unload the gRPC certificate and forward the unencrypted gRPC traffic to the backend service. + - When selecting the gRPC protocol, the backend protocol defaults to gRPC (no session persistence). If a certificate is set for gRPC, the load balancer terminates TLS and forwards unencrypted gRPC traffic to the backend service.
225-225: “webui” → “web UI.”-Each input item on the webui corresponds to a field of the CR +Each input item on the web UI corresponds to a field of the CR
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (4)
docs/en/configure/networking/assets/create_alb_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_ft_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_rule_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/gatewayapi-architecture.pngis excluded by!**/*.png
📒 Files selected for processing (26)
docs/en/configure/networking/architecture/understanding_alb.mdx(3 hunks)docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx(7 hunks)docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx(1 hunks)docs/en/configure/networking/concepts/gatewayapi.mdx(1 hunks)docs/en/configure/networking/functions/configure_alb_rule.mdx(1 hunks)docs/en/configure/networking/functions/configure_ingress.mdx(3 hunks)docs/en/configure/networking/how_to/alb/auth.mdx(2 hunks)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/cors.mdx(1 hunks)docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/deploy_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/header_modification.mdx(1 hunks)docs/en/configure/networking/how_to/alb/http_redirect.mdx(1 hunks)docs/en/configure/networking/how_to/alb/index.mdx(1 hunks)docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx(1 hunks)docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/otel.mdx(4 hunks)docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx(1 hunks)docs/en/configure/networking/how_to/alb/url_rewrite.mdx(1 hunks)docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx(0 hunks)docs/en/configure/networking/how_to/create_loadbalancer.mdx(0 hunks)docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx(0 hunks)docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx(2 hunks)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx(1 hunks)
💤 Files with no reviewable changes (3)
- docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx
- docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx
- docs/en/configure/networking/how_to/create_loadbalancer.mdx
✅ Files skipped from review due to trivial changes (2)
- docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx
- docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx
🚧 Files skipped from review as they are similar to previous changes (6)
- docs/en/configure/networking/how_to/alb/index.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx
- docs/en/configure/networking/architecture/understanding_alb.mdx
- docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx
🧰 Additional context used
🪛 LanguageTool
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
[grammar] ~9-~9: There might be a mistake here.
Context: ..._cluster_plugin.mdx) ## Max Connections [max-worker-connections](https://kubernet...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...map/#max-worker-connections) ## Timeout [config timeout](https://kubernetes.githu...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ...sticky-sessions) ## Header Modification |action|link| |--|--| |set header in req...
(QB_NEW_EN)
[grammar] ~19-~19: There might be a mistake here.
Context: ...s) ## Header Modification |action|link| |--|--| |set header in request|[proxy-se...
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...eader Modification |action|link| |--|--| |set header in request|[proxy-set-header...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...figuration/annotations/#custom-headers)| |remove header in request| set a empty h...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...## HSTS (HTTP Strict Transport Security) [configure HSTS](https://kubernetes.github.io/ingr...
(QB_NEW_EN)
[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ginx-configuration/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernet...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ation/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernetes...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tion/annotations/#rate-limiting) ## WAF [modsecurity](https://kubernetes.github.i...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...uthentication) ### TLS edge termination [backend protocol](https://kubernetes.git...
(QB_NEW_EN)
[grammar] ~49-~49: There might be a mistake here.
Context: ...ions/#backend-protocol) ### Passthrough [ssl-passthrough]https://kubernetes.gith...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_alb_rule.mdx
[grammar] ~1-~1: There might be a mistake here.
Context: # Configure ALB Rules ## Introduction ### What is a Rule? Rule i...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ... must be attached to a frontend and alb via label. ::: ```yaml apiVersion: crd.ala...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...ttached to a frontend and alb via label. ::: ```yaml apiVersion: crd.alauda.io/v...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...e Frontend to which this rule belongs. 2. Required, indicate the ALB to which this...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ... used to describe the matching criteria. For example, the rule below matches a re...
(QB_NEW_EN)
[grammar] ~116-~116: There might be a mistake here.
Context: ...rity` using an integer value. ## Action After a request matches a rule, you can ...
(QB_NEW_EN)
[grammar] ~121-~121: There might be a mistake here.
Context: ...meout](../how_to/alb/l4_l7_timeout.mdx)| | Redirect | Redirects incoming ...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...irect](../how_to/alb/http_redirect.mdx)| | CORS | Enables Cross-Origi...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ... |cors| | Header Modification | Allows modifi...
(QB_NEW_EN)
[grammar] ~124-~124: There might be a mistake here.
Context: ...(../how_to/alb/header_modification.mdx)| | URL Rewrite | Rewrites the URL of...
(QB_NEW_EN)
[grammar] ~125-~125: There might be a mistake here.
Context: ...rewrite](../how_to/alb/url_rewrite.mdx)| | WAF | Integrates Web Appl...
(QB_NEW_EN)
[grammar] ~126-~126: There might be a mistake here.
Context: ... |waf| | OTEL | Enables OpenTelemet...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...g. |otel| | Keepalive | Enables or disable...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...## backend protocol {#backend_protocol} By default, the backend protocol is set ...
(QB_NEW_EN)
[grammar] ~134-~134: There might be a mistake here.
Context: ...ession Affinity Policy {#service_group} You can configure one or more services w...
(QB_NEW_EN)
[grammar] ~141-~141: There might be a mistake here.
Context: ...ty_policy_in_alb.mdx). ## Creating Rule ### Using web console 
[style] ~147-~147: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the load balancer. 4. Click on the name of the listener port. 5. Cl...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~148-~148: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the listener port. 5. Click Add Rule. 6. Refer to the following...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~152-~152: Ensure spelling is correct
Context: ... Click Add. Each input item on the webui corresponds to a field of the CR ### u...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: Ensure spelling is correct
Context: ... the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ule can also be configured to use HTTPS. You can specify the certificate either i...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: .... ### Certificate Annotation in Ingress Certificates can be referenced across na...
(QB_NEW_EN)
[grammar] ~172-~172: There might be a mistake here.
Context: ...Certificate in Rule {#certificate_name} In .spec.certificate_name, the format ...
(QB_NEW_EN)
[grammar] ~175-~175: There might be a mistake here.
Context: ...et_namespace/$secret_name` ### TLS Mode #### Edge Mode In edge mode, the client commu...
(QB_NEW_EN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...ecret_name` ### TLS Mode #### Edge Mode In edge mode, the client communicates wi...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ...th backend services using HTTP protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...his: 1. create ft use https protocol 2. create rule with backend protocol http, and sp...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol http, and specify cert...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te rule with backend protocol http, and specify cert via .spec.certificate_name #### ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... ALB communicates with backend services using HTTPS protocol. To achieve this: 1. cre...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...h backend services using HTTPS protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol https, and specify cer...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...e rule with backend protocol https, and specify cert via .spec.certificate_name ## I...
(QB_NEW_EN)
[grammar] ~188-~188: There might be a mistake here.
Context: ...s} ### ingress sync {#alb_ingress_sync} Each ALB creates an IngressClass with th...
(QB_NEW_EN)
[grammar] ~200-~200: There might be a mistake here.
Context: ....source.namespace` is ingress namespace. ::: #### ssl strategy {#alb_ingress_ss...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...sl strategy {#alb_ingress_ssl_strategy} For ingresses that do not have certifica...
(QB_NEW_EN)
[grammar] ~206-~206: There might be a mistake here.
Context: ...om resource with the following settings: - .spec.config.defaultSSLStrategy: Defines the SSL strategy for ingresses...
(QB_NEW_EN)
[grammar] ~210-~210: There might be a mistake here.
Context: ...$secret_name` Available SSL strategies: - Never: Do not create rules on HTTPS po...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx
[grammar] ~7-~7: There might be a mistake here.
Context: ...70cb27c0597def5 --- # Deploy ALB ## ALB ALB is a custom resource that represents a ...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...e: nginx ``` #### Resource Configuration resource related field describes the deployment ...
(QB_NEW_EN)
[grammar] ~53-~53: There might be a mistake here.
Context: ...he deployment configuration for the alb. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~66-~66: There might be a mistake here.
Context: ... you can access the ALB via the node IP. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~69-~69: There might be a mistake here.
Context: ...d uses its address as the ALB address. | | .spec.address | string,required | yo...
(QB_NEW_EN)
[grammar] ~70-~70: There might be a mistake here.
Context: ...ld manually specify the address of alb | | .spec.config.vip.enableLbSvc | bool,...
(QB_NEW_EN)
[grammar] ~74-~74: There might be a mistake here.
Context: ...r Service. | #### project configuration | Field | Type | |-------|------| | `.s...
(QB_NEW_EN)
[grammar] ~75-~75: There might be a mistake here.
Context: ... project configuration | Field | Type | |-------|------| | `.spec.config.project...
(QB_NEW_EN)
[grammar] ~76-~76: There might be a mistake here.
Context: ...ation | Field | Type | |-------|------| | .spec.config.projects | []string,req...
(QB_NEW_EN)
[grammar] ~77-~77: There might be a mistake here.
Context: ...c.config.projects| []string,required | |.spec.config.portProjects` | string,o...
(QB_NEW_EN)
[grammar] ~78-~78: There might be a mistake here.
Context: ...config.portProjects| string,optional | |.spec.config.enablePortProject` | boo...
(QB_NEW_EN)
[grammar] ~82-~82: There might be a mistake here.
Context: ...project can find and configure this ALB. 2. This ALB will handle ingress resources b...
(QB_NEW_EN)
[grammar] ~90-~90: There might be a mistake here.
Context: ...obal config which can be tweaked in alb cr. - bind-nic - [ingr...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ch can be tweaked in alb cr. - bind-nic - [ingress-sync](../../functions/configure_...
(QB_NEW_EN)
[grammar] ~105-~105: There might be a mistake here.
Context: ...eld of the CR: |Parameter| Description| |--|--| |Assigned Address| `.spec.addres...
(QB_NEW_EN)
[grammar] ~106-~106: There might be a mistake here.
Context: ...he CR: |Parameter| Description| |--|--| |Assigned Address| .spec.address| |All...
(QB_NEW_EN)
[grammar] ~107-~107: There might be a mistake here.
Context: ...|--| |Assigned Address| .spec.address| |Allocated By| Instance means project ...
(QB_NEW_EN)
[grammar] ~136-~136: There might be a mistake here.
Context: ...tate. 5. Click Update. #### Delete ##### Using the web console :::note After del...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... (tcp|udp). In L4 Proxy use frontend to configure backend service directly. In L7 Proxy u...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...d to configure backend service directly. In L7 Proxy use frontend to configure li...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ..._rule.mdx) to configure backend service. If you need to add an HTTPS listener por...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...adings-in-section */} ### Prerequisites Create a ALB first. ### Configure Front...
(QB_NEW_EN)
[grammar] ~195-~195: There might be a mistake here.
Context: ...ntend name: Format as $alb_name-$port. 3. port: which port which listen on. 4. pro...
(QB_NEW_EN)
[grammar] ~196-~196: There might be a mistake here.
Context: ...t`. 3. port: which port which listen on. 4. protocol: what protocol this port uses. ...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...ed, Format as $secret_ns/$secret_name. 6. backendProtocol: what protocol the backe...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...alls back to the default serviceGroup. 8. [session_affinity_policy](./load_balancin...
(QB_NEW_EN)
[grammar] ~214-~214: There might be a mistake here.
Context: ... ### Operation On Frontend #### Creating ##### using the web console 
[grammar] ~225-~225: Ensure spelling is correct
Context: ...k Add Port. Each input item on the webui corresponds to a field of the CR |Param...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~226-~226: There might be a mistake here.
Context: ... field of the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serv...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serviceGroup.s...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_ingress.mdx
[grammar] ~24-~24: There might be a mistake here.
Context: ... add the 80 and 443 listening ports. ::: - [install ingress-nginx as ingress-control...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...tall ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - [install alb as ingress-controller](../ho...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...dx) - install alb as ingress-controller ## Example Ingress: ```yaml # nginx-ingres...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ...inxcontroller,$alb_name` to use alb as ingress controller. 3. If you only want...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ..._name` to use alb as ingress controller. 3. If you only want to run ingress locally,...
(QB_NEW_EN)
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx
[grammar] ~8-~8: There might be a mistake here.
Context: ...multiple ingress traffic specifications in Kubernetes ecosystem. This document com...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... specifications in Kubernetes ecosystem. This document compares them ([Service](....
(QB_NEW_EN)
docs/en/configure/networking/concepts/gatewayapi.mdx
[grammar] ~12-~12: There might be a mistake here.
Context: ...ateway resource maps to an ALB resource. Listeners and routes are handled directl...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/auth.mdx
[style] ~134-~134: This phrase is redundant. Consider writing “details”.
Context: ... series of annotations to configure the specific details of the authentication process. Below is...
(SPECIFIC_DETAILS)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
[grammar] ~6-~6: Ensure spelling is correct
Context: ...52c10984d03564c0cdec45 --- # Configure GatewayApi Gateway via ALB An inbound gateway (Ga...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/en/configure/networking/how_to/alb/cors.mdx
[grammar] ~3-~3: There might be a mistake here.
Context: # CORS ## Basic Concepts [CORS](https://developer.mozilla.org/en-U...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
[grammar] ~17-~17: There might be a mistake here.
Context: ...guration). | Annotation | Description | |---|---| | `metallb.universe.tf/loadBal...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... | Annotation | Description | |---|---| | metallb.universe.tf/loadBalancerIPs ...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... pool to allocate from. | ## Method 2: Use external ALB device to provide VIP * P...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...the ports in use to reduce the downtime of ALB upgrade. The health check configura...
(QB_NEW_EN)
[grammar] ~31-~31: There might be a mistake here.
Context: ...h check, it is recommended to use TCP. | | Response Timeout | The time requir...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/header_modification.mdx
[grammar] ~10-~10: There might be a mistake here.
Context: ...annotation key | |---------|-----------------------------...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...---------------------------------------| | ingress | `alb.ingress.cpaas.io/rewrit...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...alb.ingress.cpaas.io/rewrite-response| | rule |alb.rule.cpaas.io/rewrite-r...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ... value is the ALB context variable name. For example, add the following annotatio...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ... | |--------------------------------|------...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ...---------------------------------------| | first_forward_or_remote_addr | the f...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...mote address, default is remote_addr | | first_forward | the f...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx
[grammar] ~6-~6: There might be a mistake here.
Context: ...ps to rewrite the URL. ## Configuration via ingress annotation ```yaml apiVersio...
(QB_NEW_EN)
[grammar] ~48-~48: There might be a mistake here.
Context: ...rget: /$3 ``` Example: client requests /prefix-x/abc; backend receives `/abc`.
(QB_NEW_EN)
🔇 Additional comments (11)
docs/en/configure/networking/how_to/alb/http_redirect.mdx (1)
7-7: Consistent pluralization — LGTM.Header rename to “Basic Concepts” aligns with other ALB how-to pages.
docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx (2)
6-6: Title improvement — LGTM.The new title better reflects decision guidance.
18-18: Asset Path Verification Complete
- Located the three images in
docs/en/configure/networking/assets/:
loadbalancer-mini.pngloadbalancer-middle.pngloadbalancer-large.png- Confirmed the MDX file at
docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx
references them on lines 18, 28, and 38 via.- Verified that
../../assets/correctly resolves from the MDX file’s directory to the assets folder.No broken links detected—no further action required.
docs/en/configure/networking/how_to/alb/cors.mdx (1)
8-21: Fix grammar, casing, and hyphenation in CORS doc; verify field names in CRD schemaThe proposed text clarifies and standardizes terminology but we’ve not located the canonical CRD definition in the repo to confirm these field names. Please double-check the actual CRD spec—if it uses snake_case you’ll need to update these examples accordingly.
• Apply prose fixes in docs/en/configure/networking/how_to/alb/cors.mdx:
enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain + description: Whether to enable cross-domain requests (CORS). + When enableCORS is false, ALB forwards the request as is and the backend + decides whether to allow cross-domain access. type: boolean corsAllowHeaders: - description: corsAllowHeaders defines the headers allowed by cors - when enableCORS is true, multiple headers are separated by commas + description: Comma-separated list of allowed request headers (Access-Control-Allow-Headers). type: string corsAllowOrigin: - description: corsAllowOrigin defines the origin allowed by cors when - enableCORS is true, multiple origins are separated by commas + description: Comma-separated list of allowed origins (Access-Control-Allow-Origin). type: string• Manual verification needed:
– Confirm the CRD actually defines these fields asenableCORS,corsAllowHeaders, andcorsAllowOrigin.
– If the CRD usesenable_cors,cors_allow_headers, orcors_allow_origin, update the docs to match.docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
28-46: Rule example — capture group usage looks correct.Using
$3for/(prefix-x)(/|$)(.*)is correct.docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (1)
96-96: Confirmed anchor existsThe anchor
#loadbalancer_type_service_annotationis present indocs/en/configure/networking/functions/configure_service.mdx(line 319), so the internal link is valid. No changes are needed.docs/en/configure/networking/concepts/gatewayapi.mdx (1)
14-14: Cross-link path verified
The target filedocs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdxexists, and the relative link fromdocs/en/configure/networking/concepts/gatewayapi.mdx(../how_to/alb/configure_gatewayapi_gateway_via_alb.mdx) correctly resolves to it. No further action needed.docs/en/configure/networking/how_to/alb/auth.mdx (3)
7-7: Good: “Basic Concepts” heading reads better.Terminology improved.
134-134: Link target verification completeThe file
docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdxexists, and the updated link indocs/en/configure/networking/how_to/alb/auth.mdxis correct. No further changes are needed.
68-70: Consistency: Standardize ALB2 CRD apiVersion Across DocsI’ve noticed that some guides reference the ALB2 CRD as
crd.alauda.io/v2while others usecrd.alauda.io/v2beta1. To avoid confusion and ensure we’re documenting the correct, currently supported API version, please:• Confirm the source-of-truth CRD version (e.g. in the operator’s CRD manifests or Helm chart).
• Update all examples to use that same apiVersion.Examples of mismatches:
- docs/en/configure/networking/functions/create_domain.mdx (apiVersion: crd.alauda.io/v2)
- docs/en/configure/networking/how_to/alb/use_oauth_proxy_with_alb.mdx (apiVersion: crd.alauda.io/v2)
- docs/en/configure/networking/how_to/alb/auth.mdx (lines 68–69, apiVersion: crd.alauda.io/v2)
- docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (lines 47–48, apiVersion: crd.alauda.io/v2beta1)
- docs/en/configure/networking/how_to/alb/deploy_alb.mdx (lines 19–20, apiVersion: crd.alauda.io/v2beta1)
Once you’ve confirmed the correct version, apply a unified change. For example, if
v2beta1is current:- apiVersion: crd.alauda.io/v2 + apiVersion: crd.alauda.io/v2beta1 kind: ALB2 metadata: …And similarly update all other occurrences.
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (1)
24-24: Link validation successful: soft_data_center_lb_solution.mdx is present
The target document atdocs/en/configure/networking/how_to/soft_data_center_lb_solution.mdxexists, so the relative link../soft_data_center_lb_solution.mdxwill not be broken. No further changes required.
| ### Version Compatibility | ||
| Current version mapping: | ||
| - ACP Ingress NGINX 4.1.x corresponds to official Ingress NGINX 4.12.2 | ||
| ACP Ingress-NGINX 4.1.x corresponds to the official chart 4.12.2 (controller v1.12.3) |
There was a problem hiding this comment.
💡 Verification agent
❓ Verification inconclusive
Version mapping may drift; verify against upstream releases.
Confirm that “ACP Ingress‑NGINX 4.1.x -> chart 4.12.2 (controller v1.12.3)” is current as of publication.
🌐 Web query:
What are the latest stable versions of the Ingress-NGINX Helm chart and controller, and is chart 4.12.2 paired with controller v1.12.3?
Error during web search
Fix Ingress-NGINX chart/controller version mapping
The official Ingress-NGINX Helm Chart v4.12.2 bundles controller v1.12.2—not v1.12.3—and controller v1.12.3 is only included starting in chart v4.12.3. Please update the snippet in
docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx (around line 156):
• If you intend to document chart 4.12.2, change to:
ACP Ingress-NGINX 4.1.x corresponds to the official chart 4.12.2 (controller v1.12.2)• Or, if you need controller v1.12.3, bump to chart 4.12.3:
ACP Ingress-NGINX 4.1.x corresponds to the official chart 4.12.3 (controller v1.12.3)Adding a link to the upstream GitHub Releases page will help prevent future drift.
🤖 Prompt for AI Agents
In
docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx
around line 156, the chart/controller version mapping is incorrect: update the
text to either state chart v4.12.2 maps to controller v1.12.2 if you want to
keep chart 4.12.2, or change the chart to 4.12.3 if you require controller
v1.12.3; also add a link to the upstream ingress-nginx GitHub Releases page to
prevent future drift.
8795f80 to
c30e36d
Compare
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (7)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx (2)
52-63: Fix schema path typos: resource vs resources; align with example YAMLThe table uses
.spec.config.resource*but the example uses.spec.config.resourceswith nestedalb/limits/requests. This mismatch will mislead users.-#### Resource Configuration -resource related field describes the deployment configuration for the alb. +#### Resource Configuration +Resource fields describe deployment configuration for the ALB. @@ -| `.spec.config.nodeSelector` |map[string]string | the node selector for the alb | -| `.spec.config.replicas` | int,optional default 3 | the number of replicas for the alb | -| `.spec.config.resource.limit` | k8s container-resource,optional | limit of nginx container of alb | -| `.spec.config.resource.request` | k8s container-resource,optional | request of nginx container of alb | -| `.spec.config.resource.alb.limit` | k8s container-resource,optional | limit of alb container of alb | -| `.spec.config.resource.alb.request` | k8s container-resource,optional | request of alb container of alb | -| `.spec.config.antiAffinityKey` | string,optional default local | k8s antiAffinityKey | +| `.spec.config.nodeSelector` | map[string]string | Node selector for the ALB. | +| `.spec.config.replicas` | int, optional, default 3 | Number of ALB replicas. | +| `.spec.config.resources.requests` | k8s container resources, optional | Requests for the nginx container. | +| `.spec.config.resources.limits` | k8s container resources, optional | Limits for the nginx container. | +| `.spec.config.resources.alb.requests` | k8s container resources, optional | Requests for the ALB container. | +| `.spec.config.resources.alb.limits` | k8s container resources, optional | Limits for the ALB container. | +| `.spec.config.antiAffinityKey` | string, optional, default `local` | Pod anti‑affinity key. |
65-65: Fix escaped anchor to restore internal linkingThe custom ID isn’t being emitted because the backslash is escaping the brace. Update the heading to generate the anchor so cross-page links resolve correctly.
Locations to update:
- docs/en/configure/networking/how_to/alb/deploy_alb.mdx (line 65)
- Verify references in docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (line 15)
Required change:
-#### Networking Configuration \{#alb_networking_configuration\} +#### Networking Configuration {#alb_networking_configuration}docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
7-26: Remove NGINX-only annotations from an ALB how-to, or clearly relabel as NGINX.This example uses NGINX annotations while
ingressClassName: alb, which is misleading in an ALB page. Either remove it and add a note that ALB does not support URL rewrite via ingress annotations, or convert it into a correct NGINX example (change class toingress-nginxand addnginx.ingress.kubernetes.io/use-regex: "true").Preferred fix for this page (ALB focus): replace the snippet with a callout.
-## Configuration -via ingress annotation -```yaml -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - nginx.ingress.kubernetes.io/rewrite-target: /$2 - name: demo -spec: - ingressClassName: alb - rules: - - http: - paths: - - backend: - service: - name: frontend - port: - number: 8080 - path: /(prefix-x)(/|$)(.*) - pathType: ImplementationSpecific -``` +## Configuration +> Note: ALB does not support URL rewrite via ingress annotations. Use the Rule CRD approach below.If you prefer to keep an NGINX example, I can provide a corrected variant side-by-side and label controllers explicitly.
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (1)
49-50: Fix malformed link formatting.-### Passthrough -[ssl-passthrough]https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough) +### Passthrough +[ssl-passthrough](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough)docs/en/configure/networking/functions/configure_alb_rule.mdx (2)
11-11: Unescape heading IDs so anchors work.Backslashes prevent Docusaurus from generating anchors used by internal links.
Apply:
-### Quick demo of rule \{#alb_add_rule} +### Quick demo of rule {#alb_add_rule} -### backend protocol \{#backend_protocol} +### backend protocol {#backend_protocol} -### Service Group and Session Affinity Policy \{#service_group} +### Service Group and Session Affinity Policy {#service_group} -### Certificate in Rule \{#certificate_name} +### Certificate in Rule {#certificate_name} -## Ingress \{#alb_ingress} +## Ingress {#alb_ingress} -### ingress sync \{#alb_ingress_sync} +### ingress sync {#alb_ingress_sync} -#### ssl strategy \{#alb_ingress_ssl_strategy} +#### ssl strategy {#alb_ingress_ssl_strategy}Also applies to: 131-131, 134-134, 172-172, 187-187, 188-188, 203-203
169-170: Standardize annotation domain (alb.networking.cpaas.io→alb.cpaas.io).Using two domains is confusing and can break copy/paste.
Apply:
-alb.networking.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls +alb.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tlsAlso scan this file for any remaining
alb.networking.cpaas.io/*and replace withalb.cpaas.io/*.docs/en/configure/networking/how_to/alb/header_modification.mdx (1)
17-28: Use concise, idiomatic Go comments in the type definitions.Apply:
type RewriteRequestConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersVar map[string]string `json:"headers_var,omitempty"` // set header, which values are variable name - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple - HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // add header, which values could be multiple and which values are variable name + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersVar map[string]string `json:"headers_var,omitempty"` // Set header; values are variable names + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can contain multiple entries + HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // Add header; values can contain multiple entries; values are variable names } type RewriteResponseConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can contain multiple entries }
🧹 Nitpick comments (28)
docs/en/configure/networking/how_to/alb/cors.mdx (2)
3-4: Fix minor grammar in introAdd a period and keep casing consistent.
-## Basic Concepts -[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) (Cross-Origin Resource Sharing) is a mechanism that allows resources (e.g., fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain from which the resource originated. +## Basic Concepts +[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) (Cross-Origin Resource Sharing) allows a web page to request resources (for example, fonts or JavaScript) from a different origin.
23-23: Be explicit about the field path“It can be configured on the rule .spec.” is vague; name the exact keys.
-It can be configured on the rule `.spec`. +Configure these under the Rule spec (for example, `.spec.actions.cors.*`).docs/en/configure/networking/functions/configure_ingress.mdx (2)
25-26: Polish link labelsCapitalize and standardize wording.
-- [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) -- [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +- [Install Ingress‑nginx as the Ingress controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Install ALB as the Ingress controller](../how_to/alb/deploy_alb.mdx)
57-57: Clarify ingressClassName guidanceMake it clear what values to use for different controllers.
-2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. +2. Set `ingressClassName` to `nginx` to use the ingress‑nginx controller. Set it to the ALB class name (for example, `$alb_name`) to use ALB.If ALB requires a specific class naming convention (for example,
alb-$name), confirm it here to avoid confusion.docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (1)
26-34: Tighten health‑check wordingMinor grammar and consistency tweaks.
-* According to the business scenario, the external ALB needs to configure health checks for all the ports in use to reduce the downtime of ALB upgrade. The health check configuration is as follows: +* Configure health checks for all ports in use to minimize downtime during ALB upgrades. Recommended settings: @@ - | **Protocol** | The protocol type of the health check, it is recommended to use TCP. | - | **Response Timeout** | The time required to receive the health check response, it is recommended to configure it to 2 seconds. | - | **Check Interval** | The time interval for the health check, it is recommended to configure it to 5 seconds. | - | **Unhealthy Threshold** | The number of consecutive failures after which the health check status of the backend server is determined to be failed, it is recommended to configure it to 3 times. | + | **Protocol** | Use TCP. | + | **Response Timeout** | 2 seconds. | + | **Check Interval** | 5 seconds. | + | **Unhealthy Threshold** | 3 consecutive failures. |docs/en/configure/networking/how_to/alb/deploy_alb.mdx (3)
66-73: Minor grammar and clarity in Networking tableTweak phrasing; capitalize ALB; clarify address description.
-Networking fields describe how to access the ALB. For example, in `host` mode, alb will use hostnetwork, and you can access the ALB via the node IP. +Networking fields describe how to access the ALB. For example, in `host` mode the ALB uses host networking and is reachable via the node IP. @@ -| `.spec.address` | string,required | you could manually specify the address of alb | +| `.spec.address` | string, required | Manually specify the ALB address. |
74-80: Capitalize heading; add brief descriptionsMake section headers consistent and add one‑liners for less obvious fields.
-#### project configuration +#### Project Configuration @@ -| `.spec.config.portProjects` | string,optional | -| `.spec.config.enablePortProject` | bool,optional | +| `.spec.config.portProjects` | string, optional | Port‑range to bind to the project (for Port mode). | +| `.spec.config.enablePortProject` | bool, optional | Enable Port mode for per‑project port ranges. |
164-167: Article usage“a ALB” -> “an ALB”.
-Create a ALB first. +Create an ALB first.docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (4)
8-10: Tighten grammar and article usage in intro sentence.Add “the” before “Kubernetes ecosystem” and simplify the sentence.
-The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. -This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. +The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. +This document compares [Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx) to help you choose the right option.
18-18: Use consistent terminology: “Gateway API” vs “GatewayAPI”.Standardize across the page (and docs) to either “Gateway API” or “GatewayAPI”; recommend “Gateway API” for readability.
-While Ingress, GatewayAPI, and ALB Rules can all expose L7 traffic externally, they differ in their capabilities and isolation models. +While Ingress, Gateway API, and ALB Rules can all expose L7 traffic externally, they differ in their capabilities and isolation models.
22-24: Subject–verb agreement and clarity for Ingress section.Fix agreement and make the second sentence clearer.
-Ingress is the standard specification adopted by the Kubernetes community and are recommended for default use. -The Ingress is handled by ALB instances that are managed by the platform administrator. +Ingress is the standard specification adopted by the Kubernetes community and is the recommended default. +Ingress traffic is handled by ALB instances managed by the platform administrator.
27-30: Grammar and terminology (“routes” not “rules” for Gateway API).Also switch plural “they” to singular “it” for “Gateway API”.
-GatewayAPI provides more flexible isolation mode, however they are not as mature as Ingress. -By using GatewayAPI developer can create their own isolated ALB instances to handle GatewayAPI rules. -Therefore, if you need to delegate the creation and management of ALB instances to developers, you need to choose to use GatewayAPI. +Gateway API provides a more flexible isolation model; however, it is not as mature as Ingress. +With Gateway API, developers can create isolated ALB instances to handle Gateway API routes. +Choose Gateway API when you want to delegate creation and management of ALB instances to application teams.docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
48-48: Minor wording polish.-Example: client requests `/prefix-x/abc`; backend receives `/abc`. +Example: The client requests `/prefix-x/abc`; the backend receives `/abc`.docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (4)
6-6: Use “Gateway API” consistently in the title.-# Configure GatewayApi Gateway via ALB +# Configure Gateway API Gateway via ALB
22-23: Hyphenate “LoadBalancer-type internal routing”.-The platform administrator must ensure that the cluster supports LoadBalancer type internal routing. +The platform administrator must ensure that the cluster supports LoadBalancer‑type internal routing.
24-25: Consistent resource name casing (“ALB2”).-## Example Gateway and Alb2 custom resource (CR) +## Example Gateway and ALB2 custom resource (CR)
229-234: Name consistency: “inbound gateway” vs “ingress gateway”.This section switches to “ingress gateway.” Use one term consistently (earlier sections use “Inbound Gateway”).
-Once the listening is set up in the ingress gateway, the gateway will monitor traffic... +Once the listening is set up in the inbound gateway, the gateway will monitor traffic...docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (2)
7-7: Capitalize link text for consistency.-[install ingress-nginx](./install_ingress_nginx_via_cluster_plugin.mdx) +[Install Ingress‑NGINX](./install_ingress_nginx_via_cluster_plugin.mdx)
21-24: Fix wording and provide actionable guidance for removing request headers.-|remove header in request| set a empty header in request | +|remove header in request| Use configuration snippets with the headers‑more module (e.g., clear or unset the header) |If you want, I can add a short snippet showing a
configuration-snippetthat clears a specific request header.docs/en/configure/networking/functions/configure_alb_rule.mdx (5)
5-7: Tighten intro phrasing.Apply:
-Rule is a Custom Resource(CR) that defines how incoming requests are matched and processed by the ALB. +A Rule is a Custom Resource (CR) that defines how incoming requests are matched and processed by the ALB. - -Ingresses handled by ALB can be [auto translated to rules](./configure_alb_rule.mdx#alb_ingress). +Ingresses handled by ALB can be [auto‑translated into Rules](./configure_alb_rule.mdx#alb_ingress).
10-10: Consistent capitalization and terminology (UI, CLI, HTTPS, SSL).Apply:
-[install alb and ft](../how_to/alb/deploy_alb.mdx) +[Install ALB and Frontend (FT)](../how_to/alb/deploy_alb.mdx) -Each input item on the webui corresponds to a field of the CR +Each input item in the Web UI corresponds to a field of the CR -### using the CLI +### Using the CLI -## Https +## HTTPS -### ingress sync {#alb_ingress_sync} +### Ingress sync {#alb_ingress_sync} -#### ssl strategy {#alb_ingress_ssl_strategy} +#### SSL strategy {#alb_ingress_ssl_strategy}Also applies to: 152-152, 154-154, 160-160, 188-188, 203-203
121-128: Unify link text casing in the Actions table.Apply:
-|[timeout](../how_to/alb/l4_l7_timeout.mdx)| +|[Timeout](../how_to/alb/l4_l7_timeout.mdx)| -|[redirect](../how_to/alb/http_redirect.mdx)| +|[Redirect](../how_to/alb/http_redirect.mdx)| -|[cors](../how_to/alb/cors.mdx)| +|[CORS](../how_to/alb/cors.mdx)| -|[header modification](../how_to/alb/header_modification.mdx)| +|[Header Modification](../how_to/alb/header_modification.mdx)| -|[url-rewrite](../how_to/alb/url_rewrite.mdx)| +|[URL Rewrite](../how_to/alb/url_rewrite.mdx)| -|[waf](../how_to/alb/modsecurity.mdx)| +|[WAF](../how_to/alb/modsecurity.mdx)| -|[otel](../how_to/alb/otel.mdx)| +|[OTEL](../how_to/alb/otel.mdx)| -|[keepalive](../how_to/alb/tcp_http_keepalive.mdx)| +|[Keepalive](../how_to/alb/tcp_http_keepalive.mdx)|
179-185: Clarify TLS mode steps; fix grammar.Apply:
-1. create ft use https protocol -2. create rule with backend protocol http, and specify cert via `.spec.certificate_name` +1. Create a Frontend using the HTTPS protocol. +2. Create a Rule with backendProtocol set to HTTP, and specify the certificate via `.spec.certificate_name`. -1. create ft use https protocol -2. create rule with backend protocol https, and specify cert via `.spec.certificate_name` +1. Create a Frontend using the HTTPS protocol. +2. Create a Rule with backendProtocol set to HTTPS, and specify the certificate via `.spec.certificate_name`.
210-212: Polish SSL strategy descriptions.Apply:
-- **Never**: Do not create rules on HTTPS ports (default behavior) -- **Always**: Create rules on HTTPS ports using the default certificate +- **Never**: Do not create Rules on HTTPS ports (default). +- **Always**: Create Rules on HTTPS ports using the default certificate.docs/en/configure/networking/how_to/alb/header_modification.mdx (4)
9-14: Capitalize heading; pluralize column; add spacing in annotation list.Apply:
-### use annotations -| target | annotation key | +### Use annotations +| target | annotation keys | |---------|----------------------------------------| -| ingress | `alb.ingress.cpaas.io/rewrite-request`,`alb.ingress.cpaas.io/rewrite-response` | +| ingress | `alb.ingress.cpaas.io/rewrite-request`, `alb.ingress.cpaas.io/rewrite-response` | | rule | `alb.rule.cpaas.io/rewrite-request`, `alb.rule.cpaas.io/rewrite-response` |
30-30: Tighten explanatory text.Apply:
-Note: in `*_var` maps the key is the header name and the value is the ALB context variable name. +Note: In `*_var` maps, the key is the header name and the value is the ALB context variable name. @@ -will add key `x-my-host` and value of request host header to request header. -you can refer to the [nginx variable](http://nginx.org/en/docs/varindex.html) for the variable names. +This adds the `x-my-host` header with the value of the request's Host header. +You can refer to the [Nginx variables](http://nginx.org/en/docs/varindex.html) for variable names.Also applies to: 39-41
44-48: Polish variable descriptions.Apply:
-| `first_forward_or_remote_addr` | the first forwarded address or the remote address, default is `remote_addr` | -| `first_forward` | the first forwarded address , default is empty string | +| `first_forward_or_remote_addr` | The first forwarded address or, if absent, the remote address (default: `remote_addr`). | +| `first_forward` | The first forwarded address (default: empty string). |
49-49: Capitalize section title.Apply:
-## examples +## Examples
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (4)
docs/en/configure/networking/assets/create_alb_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_ft_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_rule_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/gatewayapi-architecture.pngis excluded by!**/*.png
📒 Files selected for processing (26)
docs/en/configure/networking/architecture/understanding_alb.mdx(3 hunks)docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx(7 hunks)docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx(1 hunks)docs/en/configure/networking/concepts/gatewayapi.mdx(1 hunks)docs/en/configure/networking/functions/configure_alb_rule.mdx(1 hunks)docs/en/configure/networking/functions/configure_ingress.mdx(3 hunks)docs/en/configure/networking/how_to/alb/auth.mdx(2 hunks)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/cors.mdx(1 hunks)docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/deploy_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/header_modification.mdx(1 hunks)docs/en/configure/networking/how_to/alb/http_redirect.mdx(1 hunks)docs/en/configure/networking/how_to/alb/index.mdx(1 hunks)docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx(1 hunks)docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/otel.mdx(4 hunks)docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx(1 hunks)docs/en/configure/networking/how_to/alb/url_rewrite.mdx(1 hunks)docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx(0 hunks)docs/en/configure/networking/how_to/create_loadbalancer.mdx(0 hunks)docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx(0 hunks)docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx(2 hunks)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx(1 hunks)
💤 Files with no reviewable changes (3)
- docs/en/configure/networking/how_to/create_loadbalancer.mdx
- docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx
- docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx
✅ Files skipped from review due to trivial changes (3)
- docs/en/configure/networking/how_to/alb/http_redirect.mdx
- docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
🚧 Files skipped from review as they are similar to previous changes (8)
- docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx
- docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx
- docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx
- docs/en/configure/networking/how_to/alb/index.mdx
- docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx
- docs/en/configure/networking/architecture/understanding_alb.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx
🧰 Additional context used
🪛 LanguageTool
docs/en/configure/networking/functions/configure_ingress.mdx
[grammar] ~25-~25: There might be a mistake here.
Context: ...tall ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - [install alb as ingress-controller](../how_to/al...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ...inxcontroller,$alb_name` to use alb as ingress controller. 3. If you only want...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ..._name` to use alb as ingress controller. 3. If you only want to run ingress locally,...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/header_modification.mdx
[grammar] ~10-~10: There might be a mistake here.
Context: ...annotation key | |---------|-----------------------------...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...---------------------------------------| | ingress | `alb.ingress.cpaas.io/rewrit...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...alb.ingress.cpaas.io/rewrite-response| | rule |alb.rule.cpaas.io/rewrite-r...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ... value is the ALB context variable name. For example, add the following annotatio...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ... | |--------------------------------|------...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ...---------------------------------------| | first_forward_or_remote_addr | the f...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...mote address, default is remote_addr | | first_forward | the f...
(QB_NEW_EN)
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
[grammar] ~9-~9: There might be a mistake here.
Context: ..._cluster_plugin.mdx) ## Max Connections [max-worker-connections](https://kubernet...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...map/#max-worker-connections) ## Timeout [config timeout](https://kubernetes.githu...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ...sticky-sessions) ## Header Modification |action|link| |--|--| |set header in req...
(QB_NEW_EN)
[grammar] ~19-~19: There might be a mistake here.
Context: ...s) ## Header Modification |action|link| |--|--| |set header in request|[proxy-se...
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...eader Modification |action|link| |--|--| |set header in request|[proxy-set-header...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...figuration/annotations/#custom-headers)| |remove header in request| set a empty h...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...onfigmap/#hide-headers)| ## URL Rewrite [rewrite](https://kubernetes.github.io/in...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...## HSTS (HTTP Strict Transport Security) [configure HSTS](https://kubernetes.github.io/ingr...
(QB_NEW_EN)
[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ginx-configuration/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernet...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ation/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernetes...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tion/annotations/#rate-limiting) ## WAF [modsecurity](https://kubernetes.github.i...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...uthentication) ### TLS edge termination [backend protocol](https://kubernetes.git...
(QB_NEW_EN)
[grammar] ~49-~49: There might be a mistake here.
Context: ...ions/#backend-protocol) ### Passthrough [ssl-passthrough]https://kubernetes.gith...
(QB_NEW_EN)
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx
[grammar] ~8-~8: There might be a mistake here.
Context: ...multiple ingress traffic specifications in Kubernetes ecosystem. This document com...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... specifications in Kubernetes ecosystem. This document compares them ([Service](....
(QB_NEW_EN)
docs/en/configure/networking/concepts/gatewayapi.mdx
[grammar] ~12-~12: There might be a mistake here.
Context: ...ateway resource maps to an ALB resource. Listeners and routes are handled directl...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_alb_rule.mdx
[grammar] ~1-~1: There might be a mistake here.
Context: # Configure ALB Rules ## Introduction ### What is a Rule? Rule i...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ... must be attached to a frontend and alb via label. ::: ```yaml apiVersion: crd.ala...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...ttached to a frontend and alb via label. ::: ```yaml apiVersion: crd.alauda.io/v...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...e Frontend to which this rule belongs. 2. Required, indicate the ALB to which this...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ... used to describe the matching criteria. For example, the rule below matches a re...
(QB_NEW_EN)
[grammar] ~116-~116: There might be a mistake here.
Context: ...rity` using an integer value. ## Action After a request matches a rule, you can ...
(QB_NEW_EN)
[grammar] ~121-~121: There might be a mistake here.
Context: ...meout](../how_to/alb/l4_l7_timeout.mdx)| | Redirect | Redirects incoming ...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...irect](../how_to/alb/http_redirect.mdx)| | CORS | Enables Cross-Origi...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ... |cors| | Header Modification | Allows modifi...
(QB_NEW_EN)
[grammar] ~124-~124: There might be a mistake here.
Context: ...(../how_to/alb/header_modification.mdx)| | URL Rewrite | Rewrites the URL of...
(QB_NEW_EN)
[grammar] ~125-~125: There might be a mistake here.
Context: ...rewrite](../how_to/alb/url_rewrite.mdx)| | WAF | Integrates Web Appl...
(QB_NEW_EN)
[grammar] ~126-~126: There might be a mistake here.
Context: ... |waf| | OTEL | Enables OpenTelemet...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...g. |otel| | Keepalive | Enables or disable...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...## backend protocol {#backend_protocol} By default, the backend protocol is set ...
(QB_NEW_EN)
[grammar] ~134-~134: There might be a mistake here.
Context: ...ession Affinity Policy {#service_group} You can configure one or more services w...
(QB_NEW_EN)
[grammar] ~141-~141: There might be a mistake here.
Context: ...ty_policy_in_alb.mdx). ## Creating Rule ### Using web console 
[style] ~147-~147: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the load balancer. 4. Click on the name of the listener port. 5. Cl...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~148-~148: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the listener port. 5. Click Add Rule. 6. Refer to the following...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~152-~152: Ensure spelling is correct
Context: ... Click Add. Each input item on the webui corresponds to a field of the CR ### u...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: Ensure spelling is correct
Context: ... the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ule can also be configured to use HTTPS. You can specify the certificate either i...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: .... ### Certificate Annotation in Ingress Certificates can be referenced across na...
(QB_NEW_EN)
[grammar] ~172-~172: There might be a mistake here.
Context: ...Certificate in Rule {#certificate_name} In .spec.certificate_name, the format ...
(QB_NEW_EN)
[grammar] ~175-~175: There might be a mistake here.
Context: ...et_namespace/$secret_name` ### TLS Mode #### Edge Mode In edge mode, the client commu...
(QB_NEW_EN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...ecret_name` ### TLS Mode #### Edge Mode In edge mode, the client communicates wi...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ...th backend services using HTTP protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...ve this: 1. create ft use https protocol 2. create rule with backend protocol http, ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol http, and specify cert...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te rule with backend protocol http, and specify cert via .spec.certificate_name #### ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... ALB communicates with backend services using HTTPS protocol. To achieve this: 1. cre...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...h backend services using HTTPS protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol https, and specify cer...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...e rule with backend protocol https, and specify cert via .spec.certificate_name ## I...
(QB_NEW_EN)
[grammar] ~188-~188: There might be a mistake here.
Context: ...s} ### ingress sync {#alb_ingress_sync} Each ALB creates an IngressClass with th...
(QB_NEW_EN)
[grammar] ~200-~200: There might be a mistake here.
Context: ....source.namespace` is ingress namespace. ::: #### ssl strategy {#alb_ingress_ss...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...sl strategy {#alb_ingress_ssl_strategy} For ingresses that do not have certifica...
(QB_NEW_EN)
[grammar] ~206-~206: There might be a mistake here.
Context: ...om resource with the following settings: - .spec.config.defaultSSLStrategy: Defines the SSL strategy for ingresses...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...ategy for ingresses without certificates - .spec.config.defaultSSLCert: Sets the default certificate in the fo...
(QB_NEW_EN)
[grammar] ~210-~210: There might be a mistake here.
Context: ...$secret_name` Available SSL strategies: - Never: Do not create rules on HTTPS po...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/auth.mdx
[style] ~134-~134: This phrase is redundant. Consider writing “details”.
Context: ... series of annotations to configure the specific details of the authentication process. Below is...
(SPECIFIC_DETAILS)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
[grammar] ~6-~6: Ensure spelling is correct
Context: ...52c10984d03564c0cdec45 --- # Configure GatewayApi Gateway via ALB An inbound gateway (Ga...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/en/configure/networking/how_to/alb/cors.mdx
[grammar] ~3-~3: There might be a mistake here.
Context: # CORS ## Basic Concepts [CORS](https://developer.mozilla.org/en-U...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx
[grammar] ~7-~7: There might be a mistake here.
Context: ...70cb27c0597def5 --- # Deploy ALB ## ALB ALB is a custom resource that represents a ...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...e: nginx ``` #### Resource Configuration resource related field describes the deployment ...
(QB_NEW_EN)
[grammar] ~53-~53: There might be a mistake here.
Context: ...he deployment configuration for the alb. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~66-~66: There might be a mistake here.
Context: ... you can access the ALB via the node IP. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~69-~69: There might be a mistake here.
Context: ...d uses its address as the ALB address. | | .spec.address | string,required | yo...
(QB_NEW_EN)
[grammar] ~70-~70: There might be a mistake here.
Context: ...ld manually specify the address of alb | | .spec.config.vip.enableLbSvc | bool,...
(QB_NEW_EN)
[grammar] ~74-~74: There might be a mistake here.
Context: ...r Service. | #### project configuration | Field | Type | |-------|------| | `.s...
(QB_NEW_EN)
[grammar] ~75-~75: There might be a mistake here.
Context: ... project configuration | Field | Type | |-------|------| | `.spec.config.project...
(QB_NEW_EN)
[grammar] ~76-~76: There might be a mistake here.
Context: ...ation | Field | Type | |-------|------| | .spec.config.projects | []string,req...
(QB_NEW_EN)
[grammar] ~77-~77: There might be a mistake here.
Context: ...c.config.projects| []string,required | |.spec.config.portProjects` | string,o...
(QB_NEW_EN)
[grammar] ~78-~78: There might be a mistake here.
Context: ...config.portProjects| string,optional | |.spec.config.enablePortProject` | boo...
(QB_NEW_EN)
[grammar] ~82-~82: There might be a mistake here.
Context: ...project can find and configure this ALB. 2. This ALB will handle ingress resources b...
(QB_NEW_EN)
[grammar] ~90-~90: There might be a mistake here.
Context: ...obal config which can be tweaked in alb cr. - bind-nic - [ingr...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ch can be tweaked in alb cr. - bind-nic - [ingress-sync](../../functions/configure_...
(QB_NEW_EN)
[grammar] ~105-~105: There might be a mistake here.
Context: ...eld of the CR: |Parameter| Description| |--|--| |Assigned Address| `.spec.addres...
(QB_NEW_EN)
[grammar] ~106-~106: There might be a mistake here.
Context: ...he CR: |Parameter| Description| |--|--| |Assigned Address| .spec.address| |All...
(QB_NEW_EN)
[grammar] ~107-~107: There might be a mistake here.
Context: ...|--| |Assigned Address| .spec.address| |Allocated By| Instance means project ...
(QB_NEW_EN)
[grammar] ~136-~136: There might be a mistake here.
Context: ...tate. 5. Click Update. #### Delete ##### Using the web console :::note After del...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... (tcp|udp). In L4 Proxy use frontend to configure backend service directly. In L7 Proxy u...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...d to configure backend service directly. In L7 Proxy use frontend to configure li...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ..._rule.mdx) to configure backend service. If you need to add an HTTPS listener por...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...adings-in-section */} ### Prerequisites Create a ALB first. ### Configure Front...
(QB_NEW_EN)
[grammar] ~195-~195: There might be a mistake here.
Context: ...ntend name: Format as $alb_name-$port. 3. port: which port which listen on. 4. pro...
(QB_NEW_EN)
[grammar] ~196-~196: There might be a mistake here.
Context: ...t`. 3. port: which port which listen on. 4. protocol: what protocol this port uses. ...
(QB_NEW_EN)
[grammar] ~197-~197: There might be a mistake here.
Context: ... protocol: what protocol this port uses. - L7 protocol https|http|grpcs|grpc and L4...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...ed, Format as $secret_ns/$secret_name. 6. backendProtocol: what protocol the backe...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...alls back to the default serviceGroup. 8. [session_affinity_policy](./load_balancin...
(QB_NEW_EN)
[grammar] ~214-~214: There might be a mistake here.
Context: ... ### Operation On Frontend #### Creating ##### using the web console 
[grammar] ~225-~225: Ensure spelling is correct
Context: ...k Add Port. Each input item on the webui corresponds to a field of the CR |Param...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~226-~226: There might be a mistake here.
Context: ... field of the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serv...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serviceGroup.s...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
[grammar] ~17-~17: There might be a mistake here.
Context: ...guration). | Annotation | Description | |---|---| | `metallb.universe.tf/loadBal...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... | Annotation | Description | |---|---| | metallb.universe.tf/loadBalancerIPs ...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... pool to allocate from. | ## Method 2: Use external ALB device to provide VIP * P...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...the ports in use to reduce the downtime of ALB upgrade. The health check configura...
(QB_NEW_EN)
[grammar] ~31-~31: There might be a mistake here.
Context: ...h check, it is recommended to use TCP. | | Response Timeout | The time requir...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx
[grammar] ~6-~6: There might be a mistake here.
Context: ...ps to rewrite the URL. ## Configuration via ingress annotation ```yaml apiVersio...
(QB_NEW_EN)
[grammar] ~48-~48: There might be a mistake here.
Context: ...rget: /$3 ``` Example: client requests /prefix-x/abc; backend receives `/abc`.
(QB_NEW_EN)
🔇 Additional comments (15)
docs/en/configure/networking/how_to/alb/auth.mdx (2)
7-7: Heading pluralization is fine“Basic Concepts” reads better and aligns with other pages.
134-134: Tighten wording for authentication detailsThe link target
install_ingress_nginx_via_cluster_plugin.mdxhas been confirmed to exist underdocs/en/configure/networking/how_to/, so the reference is valid. To simplify the phrasing, please apply the following nit:• File:
docs/en/configure/networking/how_to/alb/auth.mdx
• Line: 134-[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the specific details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support. +[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support.docs/en/configure/networking/how_to/alb/cors.mdx (1)
8-21: Clarify CORS fields and add concrete Rule exampledocs/en/configure/networking/how_to/alb/cors.mdx (lines 8–21)
Proposed changes:
- Use consistent camelCase (
enableCORS,corsAllowHeaders,corsAllowOrigin).- Capitalize “CORS” and tighten descriptions for true/false behavior.
- Add a fully-fleshed Rule example under
spec.actions.cors.-enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain - type: boolean -corsAllowHeaders: - description: corsAllowHeaders defines the headers allowed by cors - when enableCORS is true, multiple headers are separated by commas - type: string -corsAllowOrigin: - description: corsAllowOrigin defines the origin allowed by cors when - enableCORS is true, multiple origins are separated by commas - type: string +enableCORS: + description: When true, the ALB sets CORS response headers. When false, the backend service controls cross-origin behavior. + type: boolean +corsAllowHeaders: + description: Comma-separated list of request headers allowed when CORS is enabled. + type: string +corsAllowOrigin: + description: Comma-separated list of origins allowed when CORS is enabled. + type: stringAdd this example immediately after the CRD block to show usage in a Rule:
apiVersion: crd.alauda.io/v1 kind: Rule spec: actions: cors: enableCORS: true corsAllowHeaders: Authorization,Content-Type corsAllowOrigin: https://app.example.com,https://admin.example.comPlease verify that these fields indeed live under
.spec.actions.corsin the Rule CRD (and confirm any default values), so the docs align exactly with the schema.docs/en/configure/networking/functions/configure_ingress.mdx (1)
18-24: Reworded controller behavior LGTMThe revised description accurately reflects request‑time rule matching by the controller.
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (2)
15-21: Table renders fine; cross‑ref anchor seems correctLinking to “Networking Configuration” is appropriate given the new anchor.
24-24: Relative link is correct as writtenThe
soft_data_center_lb_solution.mdxfile lives indocs/en/configure/networking/how_to/, one level above thealb/folder. The current link[Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx)correctly resolves from
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdxtodocs/en/configure/networking/how_to/soft_data_center_lb_solution.mdx, so no change is needed.Likely an incorrect or invalid review comment.
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (1)
33-35: Cross-doc consistency with GatewayAPI mapping.Here you state Ingress/Gateway API are “translated to ALB Rules,” but in concepts/gatewayapi.mdx (Lines 12–13) you say “listeners and routes are handled directly … not translated into Frontend or Rule.” Please reconcile and pick one model, then align both docs.
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
28-46: Rule CRD example looks correct (capture group fixed to $3).Regex, rewrite_base, and rewrite_target are consistent.
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (2)
27-46: Confirm Gateway API version (v1 vs v1beta1).If your platform supports Gateway API v1, prefer the GA version. If not, keep v1beta1 but consider adding a note stating the supported version.
96-96: Anchor correctness for service-annotation link.Verify the target anchor
#loadbalancer_type_service_annotationexists at ../../functions/configure_service.mdx; adjust if the slug differs.docs/en/configure/networking/concepts/gatewayapi.mdx (1)
12-14: Align mapping model with the comparison doc.This page says “Listeners and routes are handled directly by ALB; they are not translated into
FrontendorRule,” while the comparison doc claims Ingress/Gateway API are translated to ALB Rules. Please choose one description and update both pages to match.docs/en/configure/networking/functions/configure_alb_rule.mdx (3)
23-24: Confirm label prefixalb2.cpaas.io/*.Docs elsewhere use
alb.cpaas.io/*for annotations; here labels usealb2.cpaas.io/*. If intentional (labels vs annotations or ALB v2), add a short note. If not, align prefixes.
161-161: Verify protocol name “GRPCS”.Confirm whether the product uses “GRPCS”, “gRPC over TLS”, or “GRPCS (gRPCS)”. If not “GRPCS”, adjust for accuracy.
116-129: Nice cross-linking of Actions to dedicated how-to pages.docs/en/configure/networking/how_to/alb/header_modification.mdx (1)
55-59: Good, practical examples (Authorization and HSTS).
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (5)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
7-26: Remove NGINX-only annotations underingressClassName: alb; they won’t work with ALB.This snippet is misleading in an ALB guide. Replace with a note and keep the Rule CR example.
-## Configuration -via ingress annotation -```yaml -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - nginx.ingress.kubernetes.io/rewrite-target: /$2 - name: demo -spec: - ingressClassName: alb - rules: - - http: - paths: - - backend: - service: - name: frontend - port: - number: 8080 - path: /(prefix-x)(/|$)(.*) - pathType: ImplementationSpecific -``` +## Configuration +> Note: ALB does not support URL rewrite via Ingress annotations. Use the Rule CRD method below.docs/en/configure/networking/functions/configure_alb_rule.mdx (3)
187-213: Unescape remaining heading IDs and capitalize “Ingress”.-## Ingress \{#alb_ingress} -### ingress sync \{#alb_ingress_sync} -#### ssl strategy \{#alb_ingress_ssl_strategy} +## Ingress {#alb_ingress} +### Ingress sync {#alb_ingress_sync} +#### SSL strategy {#alb_ingress_ssl_strategy}
11-16: Unescape heading IDs so anchors render.-### Quick demo of rule \{#alb_add_rule} +### Quick demo of rule {#alb_add_rule}Repeat for other headings with
\{#...}in this file.
166-171: Standardize TLS annotation domain.-alb.networking.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls +alb.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tlsdocs/en/configure/networking/how_to/alb/deploy_alb.mdx (1)
56-63: Correct key paths: use.spec.config.resources*(plural) to match the YAML/CRD.The table uses
resourcesingular and misses theresources.alb.*nesting; this will mislead users.-| `.spec.config.resource.limit` | k8s container-resource,optional | limit of nginx container of alb | -| `.spec.config.resource.request` | k8s container-resource,optional | request of nginx container of alb | -| `.spec.config.resource.alb.limit` | k8s container-resource,optional | limit of alb container of alb | -| `.spec.config.resource.alb.request` | k8s container-resource,optional | request of alb container of alb | +| `.spec.config.resources.limits` | k8s container resources, optional | Limits for the nginx container. | +| `.spec.config.resources.requests` | k8s container resources, optional | Requests for the nginx container. | +| `.spec.config.resources.alb.limits` | k8s container resources, optional | Limits for the ALB sidecar/container. | +| `.spec.config.resources.alb.requests` | k8s container resources, optional | Requests for the ALB sidecar/container. |
🧹 Nitpick comments (42)
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (2)
6-6: Align “Gateway API” usage consistently in comparison pageTo maintain consistency and prevent confusion, please update all occurrences of “GatewayAPI” and “Gateway API” within
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdxto a single variant (recommended: “Gateway API” to match the page title):• Line 18: change “GatewayAPI” → “Gateway API”
• Line 25 (heading): change “### GatewayAPI” → “### Gateway API”
• Lines 27–29, 33: change each “GatewayAPI” → “Gateway API”No other functional changes are needed—this is purely a text consistency cleanup.
9-9: Grammar and Link Verification Updates Needed
- ALB Rule link is valid:
docs/en/configure/networking/functions/configure_alb_rule.mdxexists—no change required there.- In
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx:
- Line 8: add the missing article “the” before “Kubernetes ecosystem.”
- Line 9: tweak phrasing for clarity and consistency.
Suggested diff:
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx - The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. + The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. - This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. + This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help you choose the right option.docs/en/configure/networking/how_to/alb/cors.mdx (3)
8-21: Tighten CORS field descriptions; use “cross-origin” and clarify behavior.Improve clarity/grammar and align with CORS terminology.
enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain + description: Flag to enable ALB-managed cross-origin handling. + When false, ALB does not add CORS headers; the backend decides whether to allow cross-origin requests. type: boolean corsAllowHeaders: - description: corsAllowHeaders defines the headers allowed by cors - when enableCORS is true, multiple headers are separated by commas + description: Comma-separated list of headers to allow (Access-Control-Allow-Headers). type: string corsAllowOrigin: - description: corsAllowOrigin defines the origin allowed by cors when - enableCORS is true, multiple origins are separated by commas + description: Comma-separated list of allowed origins (Access-Control-Allow-Origin) when enableCORS is true. type: string
23-23: Specify exact placement path.If accurate, name the field path to reduce ambiguity.
-It can be configured on the rule `.spec`. +Configure these fields on Rule `.spec.config.cors`.
6-6: Consider documenting allowed methods (if supported).CORS typically needs allowed methods; add
corsAllowMethodsif the product supports it.I can draft the section once you confirm field names and support.
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (3)
28-46: Rule CR example looks correct; keep$3for tail.Nice fix on capture group usage.
Optional: clarify heading.
-via rule +via Rule (ALB CRD)
48-48: Add one more example to demonstrate regex groups (optional).Consider adding another path (e.g.,
/prefix-x/root) to show$3can be empty.
1-5: Minor phrasing.Streamline sentences.
-ALB can rewrite the request URL before forwarding it to the backend. -You can use regex capture groups to rewrite the URL. +ALB can rewrite the request URL before forwarding to the backend, using regex capture groups.docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx (2)
4-4: Trim trailing space in H1.-# Install Ingress-Nginx via Cluster Plugin +# Install Ingress-Nginx via Cluster Plugin
158-161: Prefer consistent casing in related resource linksThe referenced tasks file exists at
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx, and both external URLs return 200 OK. To match the title-casing and terminology of the other links, please update the link text:### Related Resources -[tasks for ingress-nginx](./tasks_for_ingress_nginx.mdx) +[Tasks for Ingress NGINX](./tasks_for_ingress_nginx.mdx) [official Ingress NGINX chart](https://github.com/kubernetes/ingress-nginx/tree/controller-v1.12.3/charts/ingress-nginx) [official Ingress NGINX documentation](https://kubernetes.github.io/ingress-nginx/)docs/en/configure/networking/how_to/alb/auth.mdx (1)
134-134: Fix product name and tighten sentence.-[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the specific details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support. +[Ingress-NGINX](../install_ingress_nginx_via_cluster_plugin.mdx) defines annotations to configure authentication. Below is a list of annotations that ALB supports; "v" indicates support and "x" indicates no support.docs/en/configure/networking/functions/configure_ingress.mdx (5)
18-24: Tighten “Implementation Method” wording and fix port phrasing.Current phrasing is awkward (“the 80 port”, “the 443 port”). Suggest concise, platform-accurate wording.
-Ingress rules depend on the implementation of the Ingress Controller, which is responsible for listening to changes in Ingress and Service. After a new Ingress is created, when the Ingress Controller receives a request, it matches the forwarding rule from the Ingress and distributes the traffic to the specified internal routes, as shown in the diagram below. +Ingress behavior depends on the Ingress Controller. After an Ingress is created, the controller matches incoming requests against its rules and forwards traffic to the configured Services, as shown below. @@ -For the HTTP protocol, Ingress only supports the 80 port as the external port. For the HTTPS protocol, Ingress only supports the 443 port as the external port. The platform's load balancer will automatically add the 80 and 443 listening ports. +For HTTP, the external port is 80; for HTTPS, it is 443. The platform load balancer automatically exposes ports 80 and 443.
25-26: Reintroduce an explicit “Prerequisites” section.These bullets read like prerequisites and are easy to miss under the note. Add a heading for scannability.
- - [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - - [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +### Prerequisites +- [Install Ingress-NGINX as the IngressClass controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Install ALB as the IngressClass controller](../how_to/alb/deploy_alb.mdx)
39-41: Clarify controller selection and fix grammar.Make the IngressClass guidance explicit and correct article usage.
-spec: - ingressClassName: nginx #[!code callout] +spec: + ingressClassName: nginx #[!code callout] @@ -2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. -3. If you only want to run ingress locally, configure the `hosts` beforehand. +2. Set `spec.ingressClassName: nginx` to use the Ingress‑NGINX controller, or set it to your ALB class name (for example, `$alb_name`) to use ALB. +3. For local testing, update your `/etc/hosts` (or hosts file) to resolve the demo domain.Also applies to: 57-59
61-63: Article agreement (“an Ingress”).-## Creating a Ingress by using the web console +## Creating an Ingress by using the web console
71-78: Minor table copyedits and hyphenation.-| **Match Type** and **Path** | <ul><li>**Prefix**: Matches path prefixes, e.g., `/abcd` can match `/abcd/efg` or `/abcde`.</li><li>**Exact**: Matches exact paths, e.g., `/abcd`.</li><li>**Implementation specific**: If you are using a custom Ingress controller to manage the Ingress rules, you may choose to have the controller decide.</li></ul> | +| **Match Type** and **Path** | <ul><li>**Prefix**: Matches path prefixes, e.g., `/abcd` can match `/abcd/efg` or `/abcde`.</li><li>**Exact**: Matches exact paths, e.g., `/abcd`.</li><li>**Implementation‑specific**: For custom Ingress controllers, defer to the controller’s behavior.</li></ul> |docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (2)
11-16: Clarify Service type wording and confirm anchor.
- Use standard Kubernetes phrasing (“Service of type LoadBalancer”).
- Thanks for adding the target anchor in deploy_alb.mdx; keep the link as-is.
-When creating an ALB in `container` network mode, the system automatically creates a LoadBalancer Service to provide a VIP for that ALB. +When creating an ALB in `container` network mode, the system automatically creates a Service of type `LoadBalancer` to provide a VIP for that ALB. @@ -After MetalLB is ready, you can add the following annotations to `alb.spec.config.vip.lbSvcAnnotations` to tweak MetalLB behavior. See [ALB networking configuration](./deploy_alb.mdx#alb_networking_configuration). +After MetalLB is ready, add the following annotations to `alb.spec.config.vip.lbSvcAnnotations` to tune MetalLB behavior. See [ALB networking configuration](./deploy_alb.mdx#alb_networking_configuration).
24-35: Tighten external ALB guidance and health‑check wording.-* Please confirm with the network engineer the IP address (public IP, private IP, VIP) or domain name of the ALB service before deployment. If you want to use a domain name as the address for external traffic to access the ALB, you need to apply for a domain name in advance and configure domain name resolution. It is recommended to use a commercial Load Balancer device to provide a VIP, if not, you can use the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx) +* Confirm with your network team the IP (public, private, VIP) or the domain name used by the ALB before deployment. If using a domain, provision it and configure DNS resolution in advance. Prefer a commercial load balancer for the VIP; otherwise see the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx). @@ -* According to the business scenario, the external ALB needs to configure health checks for all the ports in use to reduce the downtime of ALB upgrade. The health check configuration is as follows: +* Configure health checks on all in‑use ports to minimize downtime during ALB upgrades. Recommended settings: @@ - | **Protocol** | The protocol type of the health check, it is recommended to use TCP. | - | **Response Timeout** | The time required to receive the health check response, it is recommended to configure it to 2 seconds. | - | **Check Interval** | The time interval for the health check, it is recommended to configure it to 5 seconds. | - | **Unhealthy Threshold** | The number of consecutive failures after which the health check status of the backend server is determined to be failed, it is recommended to configure it to 3 times. | + | **Protocol** | Health‑check protocol (recommend TCP). | + | **Response Timeout** | Response timeout (recommend 2s). | + | **Check Interval** | Check interval (recommend 5s). | + | **Unhealthy Threshold** | Fail threshold (recommend 3). |docs/en/configure/networking/how_to/alb/header_modification.mdx (3)
10-14: Capitalize section title and align table header labels.-### use annotations +### Use annotations -| target | annotation key | +| Target | Annotation key |
17-29: Improve Go comment phrasing for clarity and consistency.type RewriteRequestConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersVar map[string]string `json:"headers_var,omitempty"` // set header, which values are variable name - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple - HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // add header, which values could be multiple and which values are variable name + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersVar map[string]string `json:"headers_var,omitempty"` // Set header; values are variable names + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can contain multiple entries + HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // Add header; multiple values; values are variable names } type RewriteResponseConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header; values can contain multiple entries }
30-41: Tighten example narrative and capitalize header name.-Note: in `*_var` maps the key is the header name and the value is the ALB context variable name. +Note: in `*_var` maps the key is the header name and the value is the ALB context variable name. @@ - "x-my-host": "http_host" + "X-My-Host": "http_host" @@ -will add key `x-my-host` and value of request host header to request header. -you can refer to the [nginx variable](http://nginx.org/en/docs/varindex.html) for the variable names. +Adds header `X-My-Host` with the request’s host value. +See the list of [NGINX variables](http://nginx.org/en/docs/varindex.html).docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (2)
18-25: Fix request-header removal guidance and grammar.Ingress‑NGINX doesn’t have a first‑class “remove request header” annotation. Recommend clearing via configuration snippets.
-|remove header in request| set a empty header in request | +|remove header in request| Use a `configuration-snippet` with `proxy_set_header <Header-Name> "";` |Example (outside table):
nginx.ingress.kubernetes.io/configuration-snippet: | proxy_set_header X-Example "";
32-34: Hyphenate “rate‑limiting” as a compound modifier.-## Rate Limiting -[config rate limiting](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#rate-limiting) +## Rate‑limiting +[configure rate‑limiting](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#rate-limiting)docs/en/configure/networking/functions/configure_alb_rule.mdx (5)
56-68: DSLX example copyedits and priority guidance clarity.-- url param's group is vip +- URL parameter `group` equals `vip` @@ -- header's location is east-1 or east-2 +- header `LOCATION` is `east-1` or `east-2` @@ -- has a cookie name is uid +- has a cookie named `uid` @@ -- source IPs come from 1.1.1.1-1.1.1.100 +- source IP in range 1.1.1.1–1.1.1.100 @@ -Priority is an integer ranging from 0 to 10, where lower values indicate higher priority. To configure the priority of a rule in ingress, you can use the following annotation format: +Priority is an integer 0–10 (lower = higher). To set an Ingress‑derived rule’s priority, use:Also applies to: 108-115
111-113: Annotation domain OK; add explicit example context.-# alb.cpaas.io/ingress-rule-priority-$rule_index-$path_index +# Set per‑path priority on Ingress‑translated rules +# alb.cpaas.io/ingress-rule-priority-$rule_index-$path_index
130-139: Capitalize “Backend protocol” section and minor copyedits.-## Backend -### backend protocol \{#backend_protocol} +## Backend +### Backend protocol {#backend_protocol} @@ -### Service Group and Session Affinity Policy \{#service_group} +### Service Group and Session Affinity Policy {#service_group}
141-153: UI steps: tighten wording and fix “webui”.-Each input item on the webui corresponds to a field of the CR +Each form field in the Web UI maps to a field in the CR.
160-166: HTTPS section casing, clarity, and step wording.-## Https +## HTTPS @@ -If the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use HTTPS. +If the Frontend (FT) protocol is HTTPS or GRPCS, the rule can also use HTTPS. @@ -### Certificate in Rule \{#certificate_name} +### Certificate in Rule {#certificate_name} @@ -1. create ft use https protocol -2. create rule with backend protocol http, and specify cert via `.spec.certificate_name` +1. Create a Frontend using the HTTPS protocol. +2. Create a rule with backend protocol HTTP, and set `.spec.certificate_name`. @@ -1. create ft use https protocol -2. create rule with backend protocol https, and specify cert via `.spec.certificate_name` +1. Create a Frontend using the HTTPS protocol. +2. Create a rule with backend protocol HTTPS, and set `.spec.certificate_name`.Also applies to: 172-186
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (4)
6-6: Unify terminology: “GatewayAPI”, not “GatewayApi”.Use the standard capitalization across docs.
-# Configure GatewayApi Gateway via ALB +# Configure GatewayAPI Gateway via ALB
24-24: Fix product name casing: “ALB2”.Keep resource names consistent.
-## Example Gateway and Alb2 custom resource (CR) +## Example Gateway and ALB2 custom resource (CR)
118-122: Inconsistent ALB2 naming vs earlier example/callout.Above, ALB2 name format is “{gatewayName}-{random}” and the example uses
test-o93q7, but this table showsname-lb-random. Align to avoid confusion.- <td>ALB2 Type Resource</td> - <td><i>name-lb-random</i></td> + <td>ALB2 Type Resource</td> + <td><i>test-o93q7</i></td>
231-234: Terminology: prefer “Ingress” over “inbound rules”; avoid “ingress gateway”.Use Gateway API terms consistently.
-Route rules provide routing policies for incoming traffic, similar to inbound rules (Kubernetes Ingress). +Route rules provide routing policies for incoming traffic, similar to Kubernetes Ingress. @@ -Once the listening is set up in the ingress gateway, the gateway will monitor traffic +Once listening is set up on the Gateway, it will monitor trafficdocs/en/configure/networking/concepts/gatewayapi.mdx (1)
6-9: Minor style: introduce the diagram.Optional, but a short lead-in improves flow.
-The overall resource model focuses on 3 separate personas and corresponding resources that they are expected to manage: +The overall resource model focuses on three personas and their corresponding resources:docs/en/configure/networking/architecture/understanding_alb.mdx (2)
37-41: Grammar/clarity in example manifest comment.Tighten the comment.
- address: "172.20.0.5" # the ip address of node where alb been deployed + address: "172.20.0.5" # IP address of the node where ALB is deployed
106-106: Clarify what “ip” refers to.Readers may not know whether this is
.spec.addressor LB Service IP.-Now you can access the app via `curl http://${ip}` +Now you can access the app via `curl http://$ALB_ADDRESS` # replace with the ALB address (Service IP/DNS or .spec.address in host mode)docs/en/configure/networking/how_to/alb/deploy_alb.mdx (7)
14-15: Broken-link risk: point to the local networking section for VIP.Earlier VIP doc may be removed/relocated. Link to the section on this page.
-The high availability of the **Load Balancer** requires a VIP. Please refer to [Configure VIP](./deploy_high_available_vip_for_alb.mdx). +The high availability of the **Load Balancer** requires a VIP. See [Networking Configuration](#alb_networking_configuration) for VIP options.
65-72: Networking wording and casing.Tighten phrasing; keep “web UI” casing consistent across docs.
-#### Networking Configuration \{#alb_networking_configuration} -Networking fields describe how to access the ALB. For example, in `host` mode, alb will use hostnetwork, and you can access the ALB via the node IP. +#### Networking Configuration {#alb_networking_configuration} +Networking fields describe how to access the ALB. For example, in `host` mode ALB uses host networking and you can access it via the node IP. @@ -| `.spec.address` | string,required | you could manually specify the address of alb | +| `.spec.address` | string, required | Manually specify the ALB address. |
74-81: Heading and types: capitalize and clarify.Minor readability tweaks.
-#### project configuration +#### Project Configuration @@ -| `.spec.config.portProjects` | string,optional | +| `.spec.config.portProjects` | string, optional | # e.g. "30000-30999"
94-109: UI mapping phrasing.Small clarity fix; consistent “web UI”.
-Some common configuration is exposed in the web UI. Follow these steps to create a load balancer: +Some common configuration is exposed in the web UI. To create a load balancer: @@ -|Allocated By| `Instance` means project mode, and you could select project below, port means port-project mode, you could assign port-range after create alb | +|Allocated By| `Instance` = project mode (select the project). `Port` = port-project mode (assign a port range after creating the ALB). |
164-166: Article usage: “an ALB”.-Create a ALB first. +Create an ALB first.
194-201: Callouts grammar and spacing.Fix “which port which listen on,” spacing, and session-affinity sentence.
-2. frontend name: Format as `$alb_name-$port`. -3. port: which port which listen on. -4. protocol: what protocol this port uses. +2. Frontend name: format as `$alb_name-$port`. +3. Port: the port to listen on. +4. Protocol: the protocol used on this port. @@ - - When selecting the gRPC protocol, the backend protocol defaults to gRPC, which does not support session persistence.If a certificate is set for the gRPC protocol, the load balancer will unload the gRPC certificate and forward the unencrypted gRPC traffic to the backend service. + - When selecting the gRPC protocol, the backend protocol defaults to gRPC (session persistence is not supported). If a certificate is set for gRPC, the load balancer will terminate TLS and forward plaintext gRPC to the backend.
225-229: “web UI” casing and table intro period.-Each input item on the webui corresponds to a field of the CR +Each input item in the web UI corresponds to a field of the CR.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (4)
docs/en/configure/networking/assets/create_alb_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_ft_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_rule_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/gatewayapi-architecture.pngis excluded by!**/*.png
📒 Files selected for processing (26)
docs/en/configure/networking/architecture/understanding_alb.mdx(3 hunks)docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx(7 hunks)docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx(1 hunks)docs/en/configure/networking/concepts/gatewayapi.mdx(1 hunks)docs/en/configure/networking/functions/configure_alb_rule.mdx(1 hunks)docs/en/configure/networking/functions/configure_ingress.mdx(3 hunks)docs/en/configure/networking/how_to/alb/auth.mdx(2 hunks)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/cors.mdx(1 hunks)docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/deploy_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/header_modification.mdx(1 hunks)docs/en/configure/networking/how_to/alb/http_redirect.mdx(1 hunks)docs/en/configure/networking/how_to/alb/index.mdx(1 hunks)docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx(1 hunks)docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/otel.mdx(4 hunks)docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx(1 hunks)docs/en/configure/networking/how_to/alb/url_rewrite.mdx(1 hunks)docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx(0 hunks)docs/en/configure/networking/how_to/create_loadbalancer.mdx(0 hunks)docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx(0 hunks)docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx(2 hunks)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx(1 hunks)
💤 Files with no reviewable changes (3)
- docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx
- docs/en/configure/networking/how_to/create_loadbalancer.mdx
- docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx
✅ Files skipped from review due to trivial changes (3)
- docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx
- docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx
- docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx
🚧 Files skipped from review as they are similar to previous changes (6)
- docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx
- docs/en/configure/networking/how_to/alb/http_redirect.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/configure/networking/how_to/alb/index.mdx
- docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx
🧰 Additional context used
🪛 LanguageTool
docs/en/configure/networking/functions/configure_ingress.mdx
[grammar] ~24-~24: There might be a mistake here.
Context: ... add the 80 and 443 listening ports. ::: - [install ingress-nginx as ingress-control...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...tall ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - [install alb as ingress-controller](../ho...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...dx) - install alb as ingress-controller ## Example Ingress: ```yaml # nginx-ingres...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ...inxcontroller,$alb_name` to use alb as ingress controller. 3. If you only want...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ..._name` to use alb as ingress controller. 3. If you only want to run ingress locally,...
(QB_NEW_EN)
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx
[grammar] ~8-~8: There might be a mistake here.
Context: ...multiple ingress traffic specifications in Kubernetes ecosystem. This document com...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... specifications in Kubernetes ecosystem. This document compares them ([Service](....
(QB_NEW_EN)
docs/en/configure/networking/concepts/gatewayapi.mdx
[grammar] ~12-~12: There might be a mistake here.
Context: ...ateway resource maps to an ALB resource. Listeners and routes are handled directl...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_alb_rule.mdx
[grammar] ~1-~1: There might be a mistake here.
Context: # Configure ALB Rules ## Introduction ### What is a Rule? Rule i...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ... must be attached to a frontend and alb via label. ::: ```yaml apiVersion: crd.ala...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...ttached to a frontend and alb via label. ::: ```yaml apiVersion: crd.alauda.io/v...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...e Frontend to which this rule belongs. 2. Required, indicate the ALB to which this...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ... used to describe the matching criteria. For example, the rule below matches a re...
(QB_NEW_EN)
[grammar] ~116-~116: There might be a mistake here.
Context: ...rity` using an integer value. ## Action After a request matches a rule, you can ...
(QB_NEW_EN)
[grammar] ~121-~121: There might be a mistake here.
Context: ...meout](../how_to/alb/l4_l7_timeout.mdx)| | Redirect | Redirects incoming ...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...irect](../how_to/alb/http_redirect.mdx)| | CORS | Enables Cross-Origi...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ... |cors| | Header Modification | Allows modifi...
(QB_NEW_EN)
[grammar] ~124-~124: There might be a mistake here.
Context: ...(../how_to/alb/header_modification.mdx)| | URL Rewrite | Rewrites the URL of...
(QB_NEW_EN)
[grammar] ~125-~125: There might be a mistake here.
Context: ...rewrite](../how_to/alb/url_rewrite.mdx)| | WAF | Integrates Web Appl...
(QB_NEW_EN)
[grammar] ~126-~126: There might be a mistake here.
Context: ... |waf| | OTEL | Enables OpenTelemet...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...g. |otel| | Keepalive | Enables or disable...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...## backend protocol {#backend_protocol} By default, the backend protocol is set ...
(QB_NEW_EN)
[grammar] ~134-~134: There might be a mistake here.
Context: ...ession Affinity Policy {#service_group} You can configure one or more services w...
(QB_NEW_EN)
[grammar] ~141-~141: There might be a mistake here.
Context: ...ty_policy_in_alb.mdx). ## Creating Rule ### Using web console 
[style] ~147-~147: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the load balancer. 4. Click on the name of the listener port. 5. Cl...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~148-~148: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the listener port. 5. Click Add Rule. 6. Refer to the following...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~152-~152: Ensure spelling is correct
Context: ... Click Add. Each input item on the webui corresponds to a field of the CR ### u...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: Ensure spelling is correct
Context: ... the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ule can also be configured to use HTTPS. You can specify the certificate either i...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: .... ### Certificate Annotation in Ingress Certificates can be referenced across na...
(QB_NEW_EN)
[grammar] ~172-~172: There might be a mistake here.
Context: ...Certificate in Rule {#certificate_name} In .spec.certificate_name, the format ...
(QB_NEW_EN)
[grammar] ~175-~175: There might be a mistake here.
Context: ...et_namespace/$secret_name` ### TLS Mode #### Edge Mode In edge mode, the client commu...
(QB_NEW_EN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...ecret_name` ### TLS Mode #### Edge Mode In edge mode, the client communicates wi...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ...th backend services using HTTP protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...ve this: 1. create ft use https protocol 2. create rule with backend protocol http, ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol http, and specify cert...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te rule with backend protocol http, and specify cert via .spec.certificate_name #### ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... ALB communicates with backend services using HTTPS protocol. To achieve this: 1. cre...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...h backend services using HTTPS protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol https, and specify cer...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...e rule with backend protocol https, and specify cert via .spec.certificate_name ## I...
(QB_NEW_EN)
[grammar] ~188-~188: There might be a mistake here.
Context: ...s} ### ingress sync {#alb_ingress_sync} Each ALB creates an IngressClass with th...
(QB_NEW_EN)
[grammar] ~200-~200: There might be a mistake here.
Context: ....source.namespace` is ingress namespace. ::: #### ssl strategy {#alb_ingress_ss...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...sl strategy {#alb_ingress_ssl_strategy} For ingresses that do not have certifica...
(QB_NEW_EN)
[grammar] ~206-~206: There might be a mistake here.
Context: ...om resource with the following settings: - .spec.config.defaultSSLStrategy: Defines the SSL strategy for ingresses...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...ategy for ingresses without certificates - .spec.config.defaultSSLCert: Sets the default certificate in the fo...
(QB_NEW_EN)
[grammar] ~210-~210: There might be a mistake here.
Context: ...$secret_name` Available SSL strategies: - Never: Do not create rules on HTTPS po...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/auth.mdx
[style] ~134-~134: This phrase is redundant. Consider writing “details”.
Context: ... series of annotations to configure the specific details of the authentication process. Below is...
(SPECIFIC_DETAILS)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
[grammar] ~6-~6: Ensure spelling is correct
Context: ...52c10984d03564c0cdec45 --- # Configure GatewayApi Gateway via ALB An inbound gateway (Ga...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/en/configure/networking/how_to/alb/cors.mdx
[grammar] ~3-~3: There might be a mistake here.
Context: # CORS ## Basic Concepts [CORS](https://developer.mozilla.org/en-U...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx
[grammar] ~7-~7: There might be a mistake here.
Context: ...70cb27c0597def5 --- # Deploy ALB ## ALB ALB is a custom resource that represents a ...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...e: nginx ``` #### Resource Configuration resource related field describes the deployment ...
(QB_NEW_EN)
[grammar] ~53-~53: There might be a mistake here.
Context: ...he deployment configuration for the alb. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~66-~66: There might be a mistake here.
Context: ... you can access the ALB via the node IP. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~69-~69: There might be a mistake here.
Context: ...d uses its address as the ALB address. | | .spec.address | string,required | yo...
(QB_NEW_EN)
[grammar] ~70-~70: There might be a mistake here.
Context: ...ld manually specify the address of alb | | .spec.config.vip.enableLbSvc | bool,...
(QB_NEW_EN)
[grammar] ~74-~74: There might be a mistake here.
Context: ...r Service. | #### project configuration | Field | Type | |-------|------| | `.s...
(QB_NEW_EN)
[grammar] ~75-~75: There might be a mistake here.
Context: ... project configuration | Field | Type | |-------|------| | `.spec.config.project...
(QB_NEW_EN)
[grammar] ~76-~76: There might be a mistake here.
Context: ...ation | Field | Type | |-------|------| | .spec.config.projects | []string,req...
(QB_NEW_EN)
[grammar] ~77-~77: There might be a mistake here.
Context: ...c.config.projects| []string,required | |.spec.config.portProjects` | string,o...
(QB_NEW_EN)
[grammar] ~78-~78: There might be a mistake here.
Context: ...config.portProjects| string,optional | |.spec.config.enablePortProject` | boo...
(QB_NEW_EN)
[grammar] ~82-~82: There might be a mistake here.
Context: ...project can find and configure this ALB. 2. This ALB will handle ingress resources b...
(QB_NEW_EN)
[grammar] ~90-~90: There might be a mistake here.
Context: ...obal config which can be tweaked in alb cr. - bind-nic - [ingr...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ch can be tweaked in alb cr. - bind-nic - [ingress-sync](../../functions/configure_...
(QB_NEW_EN)
[grammar] ~105-~105: There might be a mistake here.
Context: ...eld of the CR: |Parameter| Description| |--|--| |Assigned Address| `.spec.addres...
(QB_NEW_EN)
[grammar] ~106-~106: There might be a mistake here.
Context: ...he CR: |Parameter| Description| |--|--| |Assigned Address| .spec.address| |All...
(QB_NEW_EN)
[grammar] ~107-~107: There might be a mistake here.
Context: ...|--| |Assigned Address| .spec.address| |Allocated By| Instance means project ...
(QB_NEW_EN)
[grammar] ~136-~136: There might be a mistake here.
Context: ...tate. 5. Click Update. #### Delete ##### Using the web console :::note After del...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... (tcp|udp). In L4 Proxy use frontend to configure backend service directly. In L7 Proxy u...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...d to configure backend service directly. In L7 Proxy use frontend to configure li...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ..._rule.mdx) to configure backend service. If you need to add an HTTPS listener por...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...adings-in-section */} ### Prerequisites Create a ALB first. ### Configure Front...
(QB_NEW_EN)
[grammar] ~195-~195: There might be a mistake here.
Context: ...ntend name: Format as $alb_name-$port. 3. port: which port which listen on. 4. pro...
(QB_NEW_EN)
[grammar] ~196-~196: There might be a mistake here.
Context: ...t`. 3. port: which port which listen on. 4. protocol: what protocol this port uses. ...
(QB_NEW_EN)
[grammar] ~197-~197: There might be a mistake here.
Context: ... protocol: what protocol this port uses. - L7 protocol https|http|grpcs|grpc and L4...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...ed, Format as $secret_ns/$secret_name. 6. backendProtocol: what protocol the backe...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...alls back to the default serviceGroup. 8. [session_affinity_policy](./load_balancin...
(QB_NEW_EN)
[grammar] ~214-~214: There might be a mistake here.
Context: ... ### Operation On Frontend #### Creating ##### using the web console 
[grammar] ~225-~225: Ensure spelling is correct
Context: ...k Add Port. Each input item on the webui corresponds to a field of the CR |Param...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~226-~226: There might be a mistake here.
Context: ... field of the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serv...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serviceGroup.s...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
[grammar] ~17-~17: There might be a mistake here.
Context: ...guration). | Annotation | Description | |---|---| | `metallb.universe.tf/loadBal...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... | Annotation | Description | |---|---| | metallb.universe.tf/loadBalancerIPs ...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... pool to allocate from. | ## Method 2: Use external ALB device to provide VIP * P...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...the ports in use to reduce the downtime of ALB upgrade. The health check configura...
(QB_NEW_EN)
[grammar] ~31-~31: There might be a mistake here.
Context: ...h check, it is recommended to use TCP. | | Response Timeout | The time requir...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ommended to configure it to 2 seconds. | | Check Interval | The time interval...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/header_modification.mdx
[grammar] ~10-~10: There might be a mistake here.
Context: ...annotation key | |---------|-----------------------------...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...---------------------------------------| | ingress | `alb.ingress.cpaas.io/rewrit...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...alb.ingress.cpaas.io/rewrite-response| | rule |alb.rule.cpaas.io/rewrite-r...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ... value is the ALB context variable name. For example, add the following annotatio...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ... | |--------------------------------|------...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ...---------------------------------------| | first_forward_or_remote_addr | the f...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...mote address, default is remote_addr | | first_forward | the f...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx
[grammar] ~6-~6: There might be a mistake here.
Context: ...ps to rewrite the URL. ## Configuration via ingress annotation ```yaml apiVersio...
(QB_NEW_EN)
[grammar] ~48-~48: There might be a mistake here.
Context: ...rget: /$3 ``` Example: client requests /prefix-x/abc; backend receives `/abc`.
(QB_NEW_EN)
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
[grammar] ~9-~9: There might be a mistake here.
Context: ..._cluster_plugin.mdx) ## Max Connections [max-worker-connections](https://kubernet...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...map/#max-worker-connections) ## Timeout [config timeout](https://kubernetes.githu...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ...sticky-sessions) ## Header Modification |action|link| |--|--| |set header in req...
(QB_NEW_EN)
[grammar] ~19-~19: There might be a mistake here.
Context: ...s) ## Header Modification |action|link| |--|--| |set header in request|[proxy-se...
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...eader Modification |action|link| |--|--| |set header in request|[proxy-set-header...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...figuration/annotations/#custom-headers)| |remove header in request| set a empty h...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...onfigmap/#hide-headers)| ## URL Rewrite [rewrite](https://kubernetes.github.io/in...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...## HSTS (HTTP Strict Transport Security) [configure HSTS](https://kubernetes.github.io/ingr...
(QB_NEW_EN)
[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ginx-configuration/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernet...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ation/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernetes...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tion/annotations/#rate-limiting) ## WAF [modsecurity](https://kubernetes.github.i...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...uthentication) ### TLS edge termination [backend protocol](https://kubernetes.git...
(QB_NEW_EN)
🔇 Additional comments (7)
docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx (1)
156-156: No changes needed: chart–controller mapping validatedThe script confirms that the Helm chart version 4.12.3 specifies
appVersion: 1.12.3, matching controller tagcontroller-v1.12.3.docs/en/configure/networking/how_to/alb/auth.mdx (1)
7-7: Heading change LGTM.docs/en/configure/networking/how_to/alb/header_modification.mdx (1)
12-13: Ensure correct and consistent annotation domains across docsThe docs currently reference several annotation/label domains, which may not all be intended or supported:
- Ingress‐level annotations:
• alb.ingress.cpaas.io/* (e.g., rewrite-request, auth-enable, otel, session-affinity)- Rule‐level annotations:
• alb.rule.cpaas.io/* (e.g., rewrite-response)- Generic ALB annotations (used for ingress-rule priority and Gateway API references):
• alb.cpaas.io/*- Networking annotations (e.g., TLS certificates):
• alb.networking.cpaas.io/*- Metadata labels in several how-to guides:
• alb2.cpaas.io/* (e.g., frontend, name)Please confirm against your CRD/API group definitions which domains are valid and which (such as alb2.cpaas.io) are legacy. Once the authoritative domains are identified, update and standardize all occurrences—particularly the annotation table in header_modification.mdx (Lines 12–13 and 52–58) and the metadata labels in configure_alb_rule.mdx, deploy_alb.mdx, and url_rewrite.mdx—to use the correct annotation/label domains.
docs/en/configure/networking/functions/configure_alb_rule.mdx (1)
21-25: Confirm consistent metadata label domainsWe’ve identified that several docs use
alb2.cpaas.io/*for metadata labels, while others (e.g. configure_gatewayapi_gateway_via_alb.mdx) usealb.cpaas.io/*. Please verify whetheralb2.cpaas.iorepresents a deliberate new API group (v2) or is an unintended typo.If it’s intentional, add a brief note in each affected file explaining that these examples target the v2 group and domain (
alb2.cpaas.io). Otherwise, update the labels to use the existingalb.cpaas.io/*domain for consistency.Affected files and lines:
- docs/en/configure/networking/functions/configure_alb_rule.mdx: labels at lines 23–24
- docs/en/configure/networking/how_to/alb/deploy_alb.mdx: label at line 175
- docs/en/configure/networking/how_to/alb/url_rewrite.mdx: labels at lines 34–35
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (1)
80-99: LGTM: console flow reads clearly.UI steps and the internal-routing link look correct.
docs/en/configure/networking/concepts/gatewayapi.mdx (1)
11-14: Clarity/stability looks good.“Listeners and routes … not translated” accurately reflects the new model.
docs/en/configure/networking/architecture/understanding_alb.mdx (1)
12-13: Architecture wording is clear and helpful.Operator/instance split and DSL pipeline are well explained.
c30e36d to
0cf02a8
Compare
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (5)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
6-26: Remove NGINX-only example; ALB doesn’t support rewrite via ingress annotationsThis snippet mixes NGINX annotations with
ingressClassName: alband is incorrect. Prefer the Rule CR approach and add a note.Apply:
-## Configuration -via ingress annotation -```yaml -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - nginx.ingress.kubernetes.io/rewrite-target: /$2 - name: demo -spec: - ingressClassName: alb - rules: - - http: - paths: - - backend: - service: - name: frontend - port: - number: 8080 - path: /(prefix-x)(/|$)(.*) - pathType: ImplementationSpecific -``` +## Configuration +> Note: ALB does not support URL rewrite via ingress annotations. Use the Rule CR method below.docs/en/configure/networking/how_to/alb/header_modification.mdx (1)
17-29: Tighten Go field comments for clarity and consistency.Rephrase to avoid “which values…” and prefer concise, parallel phrasing.
type RewriteRequestConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersVar map[string]string `json:"headers_var,omitempty"` // set header, which values are variable name - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple - HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // add header, which values could be multiple and which values are variable name + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersVar map[string]string `json:"headers_var,omitempty"` // Set header; values are variable names + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header (multiple values) + HeadersAddVar map[string][]string `json:"headers_add_var,omitempty"` // Add header (variable names, multiple values) } type RewriteResponseConfig struct { - Headers map[string]string `json:"headers,omitempty"` // set header - HeadersRemove []string `json:"headers_remove,omitempty"` // remove header - HeadersAdd map[string][]string `json:"headers_add,omitempty"` // add header, which values could be multiple + Headers map[string]string `json:"headers,omitempty"` // Set header + HeadersRemove []string `json:"headers_remove,omitempty"` // Remove header + HeadersAdd map[string][]string `json:"headers_add,omitempty"` // Add header (multiple values) }docs/en/configure/networking/how_to/alb/deploy_alb.mdx (1)
52-63: Fix key paths and pluralization in Resource Configuration table (mismatches example YAML).Table uses
.resources.limit/requestbut the manifest uses.resources.limits/requests. This will mislead users.-| `.spec.config.resources.limit` | k8s container-resource,optional | limit of nginx container of alb | -| `.spec.config.resources.request` | k8s container-resource,optional | request of nginx container of alb | -| `.spec.config.resources.alb.limit` | k8s container-resource,optional | limit of alb container of alb | -| `.spec.config.resources.alb.request` | k8s container-resource,optional | request of alb container of alb | +| `.spec.config.resources.limits` | k8s container resources, optional | Limits for the nginx container. | +| `.spec.config.resources.requests` | k8s container resources, optional | Requests for the nginx container. | +| `.spec.config.resources.alb.limits` | k8s container resources, optional | Limits for the ALB container. | +| `.spec.config.resources.alb.requests` | k8s container resources, optional | Requests for the ALB container. |docs/en/configure/networking/functions/configure_alb_rule.mdx (2)
11-12: Unescape heading IDs so anchors work.Backslashes prevent MDX from generating anchors; prior review requested this.
-### Quick demo of rule \{#alb_add_rule} +### Quick demo of rule {#alb_add_rule} -### backend protocol \{#backend_protocol} +### backend protocol {#backend_protocol} -### Service Group and Session Affinity Policy \{#service_group} +### Service Group and Session Affinity Policy {#service_group} -### Certificate in Rule \{#certificate_name} +### Certificate in Rule {#certificate_name} -## Ingress \{#alb_ingress} +## Ingress {#alb_ingress} -### ingress sync \{#alb_ingress_sync} +### ingress sync {#alb_ingress_sync} -#### ssl strategy \{#alb_ingress_ssl_strategy} +#### ssl strategy {#alb_ingress_ssl_strategy}Also applies to: 131-135, 172-174, 187-189, 203-213
169-170: Standardize annotation domain to alb.cpaas.io.Prior review flagged
alb.networking.cpaas.io/tls; standardize toalb.cpaas.io/tls.-alb.networking.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls +alb.cpaas.io/tls: qq.com=cpaas-system/dex.tls,qq1.com=cpaas-system/dex1.tls
🧹 Nitpick comments (46)
docs/en/configure/networking/how_to/alb/auth.mdx (1)
152-152: Clarify support column for auth-typeIndicate “basic only” in support to avoid ambiguity.
Apply:
-| nginx.ingress.kubernetes.io/auth-type | - | "basic" or "digest" | basic: supports apr1 **digest: not supported** | +| nginx.ingress.kubernetes.io/auth-type | v (basic only) | "basic" | Digest is not supported. Basic supports apr1 only. |docs/en/configure/networking/how_to/alb/cors.mdx (2)
8-21: Clarify semantics and fix grammar in CRD descriptionsImprove readability and explicitly state behavior when disabled.
Apply:
-enableCORS: - description: enableCORS is the switch whether enable cross domain, - when EnableCORS is false, alb2 transports information to backend - servers which determine whether allow cross-domain +enableCORS: + description: Toggles CORS handling at ALB. When false, ALB does not add CORS + headers; backend services decide whether to allow cross‑origin requests. type: boolean -corsAllowHeaders: - description: corsAllowHeaders defines the headers allowed by cors - when enableCORS is true, multiple headers are separated by commas +corsAllowHeaders: + description: Comma‑separated list of request headers allowed by CORS + (effective only when enableCORS is true). type: string -corsAllowOrigin: - description: corsAllowOrigin defines the origin allowed by cors when - enableCORS is true, multiple origins are separated by commas +corsAllowOrigin: + description: Comma‑separated list of allowed origins (effective only when + enableCORS is true). type: string
23-23: Add a brief example of Rule.spec usageA tiny snippet helps users map fields to Rule.spec.
Apply:
-It can be configured on the rule `.spec`. +It can be configured on the Rule `.spec`, for example: + +```yaml +apiVersion: crd.alauda.io/v1 +kind: Rule +metadata: + name: demo-cors +spec: + enableCORS: true + corsAllowOrigin: https://app.example.com,https://admin.example.com + corsAllowHeaders: Authorization,Content-Type,X-Request-ID +```docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
48-48: Tighten example phrasingMinor polish.
Apply:
-Example: client requests `/prefix-x/abc`; backend receives `/abc`. +Example: client requests `/prefix-x/abc`; backend receives `/abc`.(No content change; optional to expand with another example like
/prefix-x→/.)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (1)
21-23: Fix grammar in the table rowUse “an” and provide a hint for how to remove headers in requests.
Apply:
-|remove header in request| set a empty header in request | +|remove header in request| set an empty header in request (e.g., `proxy_set_header X-Header "";`) |docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (2)
24-24: Tighten long sentence and add periodMinor readability.
Apply:
-* Please confirm with the network engineer the IP address (public IP, private IP, VIP) or domain name of the ALB service before deployment. If you want to use a domain name as the address for external traffic to access the ALB, you need to apply for a domain name in advance and configure domain name resolution. It is recommended to use a commercial Load Balancer device to provide a VIP, if not, you can use the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx) +* Confirm with the network engineer the IP address (public, private, or VIP) or the domain name for the ALB before deployment. If using a domain name, apply and configure DNS in advance. We recommend a commercial load balancer to provide the VIP; if unavailable, see the [Pure Software Data Center LB Solution (Alpha)](../soft_data_center_lb_solution.mdx).
28-35: Avoid HTML lists inside table cells; simplify port guidancePlain text renders more reliably across markdown engines.
Apply:
- | **Port** | <ul><li>For global clusters, fill in: 11782.</li><li>For business clusters, fill in: 1936.</li></ul> | + | **Port** | 11782 (global clusters), 1936 (business clusters) |docs/en/configure/networking/how_to/alb/header_modification.mdx (4)
10-16: Polish table heading and capitalization.Use title case and add a space after the comma in the ingress annotations.
-### use annotations -| target | annotation key | +### Use annotations +| Target | Annotation key | ... -| ingress | `alb.ingress.cpaas.io/rewrite-request`,`alb.ingress.cpaas.io/rewrite-response` | +| ingress | `alb.ingress.cpaas.io/rewrite-request`, `alb.ingress.cpaas.io/rewrite-response` |
39-41: Fix grammar in explanatory sentence.-will add key `x-my-host` and value of request host header to request header. -you can refer to the [nginx variable](http://nginx.org/en/docs/varindex.html) for the variable names. +Adds the `x-my-host` header whose value is the request host. +You can refer to the [NGINX variables](http://nginx.org/en/docs/varindex.html) for variable names.
44-48: Tighten descriptions and punctuation for built-in variables.-| `first_forward_or_remote_addr` | the first forwarded address or the remote address, default is `remote_addr` | -| `first_forward` | the first forwarded address , default is empty string | +| `first_forward_or_remote_addr` | First forwarded address or the remote address; defaults to `remote_addr`. | +| `first_forward` | First forwarded address; defaults to an empty string. |
49-59: Use title case for section heading.-## examples +## Examplesdocs/en/configure/networking/how_to/alb/deploy_alb.mdx (6)
53-53: Grammar: capitalize and clarify sentence.-resource related field describes the deployment configuration for the alb. +Resource-related fields describe the deployment configuration for the ALB.
65-72: Clarify networking wording; tighten descriptions.-#### Networking Configuration \{#alb_networking_configuration} -Networking fields describe how to access the ALB. For example, in `host` mode, alb will use hostnetwork, and you can access the ALB via the node IP. +#### Networking Configuration {#alb_networking_configuration} +Networking fields describe how to access the ALB. For example, in `host` mode the ALB uses host networking (`hostNetwork: true`) and you can access it via the node IP. ... -| `.spec.address` | string,required | you could manually specify the address of alb | +| `.spec.address` | string, required | Manually specify the ALB address. | -| `.spec.config.vip.enableLbSvc` | bool, optional | Automatically true in `container` mode. | +| `.spec.config.vip.enableLbSvc` | bool, optional | Automatically set to true in `container` mode. |
74-80: Add descriptions for project configuration fields.-#### project configuration -| Field | Type | -|-------|------| -| `.spec.config.projects` | []string,required | -| `.spec.config.portProjects` | string,optional | -| `.spec.config.enablePortProject` | bool,optional | +#### Project configuration +| Field | Type | Description | +|-------|------|-------------| +| `.spec.config.projects` | []string, required | Projects allowed to use this ALB. | +| `.spec.config.portProjects` | string, optional | Project name to bind for port-based isolation. | +| `.spec.config.enablePortProject` | bool, optional | Enable port-project isolation mode. |
165-165: Article usage: “an ALB,” not “a ALB.”-Create a ALB first. +Create an ALB first.
195-201: Fix grammar in callouts for Frontend section.-3. port: which port which listen on. -4. protocol: what protocol this port uses. +3. port: The port to listen on. +4. protocol: The protocol used by this port. ... - - When selecting the gRPC protocol, the backend protocol defaults to gRPC, which does not support session persistence.If a certificate is set for the gRPC protocol, the load balancer will unload the gRPC certificate and forward the unencrypted gRPC traffic to the backend service. + - For gRPC, the backend protocol defaults to gRPC, which does not support session persistence. If a certificate is set for gRPC, the load balancer will terminate TLS and forward plain gRPC traffic to the backend.
225-229: Nit: “web UI” and add period.-Each input item on the webui corresponds to a field of the CR +Each input item on the web UI corresponds to a field of the CR.docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx (4)
6-10: Grammar and flow improvements in intro.-The Alauda Container Platform supports multiple ingress traffic specifications in Kubernetes ecosystem. -This document compares them ([Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx)) to help users make the right choice. +The Alauda Container Platform supports multiple ingress traffic specifications in the Kubernetes ecosystem. +This document compares [Service](../functions/configure_service.mdx), [Ingress](../functions/configure_ingress.mdx), [Gateway API](./gatewayapi.mdx), and [ALB Rule](../functions/configure_alb_rule.mdx) to help you choose the right option.
22-24: Subject–verb agreement and consistency.-Ingress is the standard specification adopted by the Kubernetes community and are recommended for default use. -The Ingress is handled by ALB instances that are managed by the platform administrator. +Ingress is the standard specification adopted by the Kubernetes community and is recommended for default use. +Ingress is handled by ALB instances managed by the platform administrator.
27-30: Clarify GatewayAPI phrasing and plurality.-GatewayAPI provides more flexible isolation mode, however they are not as mature as Ingress. -By using GatewayAPI developer can create their own isolated ALB instances to handle GatewayAPI rules. -Therefore, if you need to delegate the creation and management of ALB instances to developers, you need to choose to use GatewayAPI. +GatewayAPI provides a more flexible isolation model; however, it is not as mature as Ingress. +With GatewayAPI, developers can create isolated ALB instances to handle GatewayAPI rules. +Choose GatewayAPI when you need to delegate creation and management of ALB instances to developers.
33-35: Minor wording polish and spacing.-ALB Rule(Load Balancer in the UI) provides the most flexible traffic match rules and the most capabilities. In fact, both Ingress and GatewayAPI are implemented by translating them to ALB Rules. -However, the ALB Rule is more complex than Ingress and GatewayAPI and is not a community-standard API. Therefore, we recommend using it only when Ingress and GatewayAPI don't meet your needs. +ALB Rule (Load Balancer in the UI) provides the most flexible traffic-matching rules and capabilities. In fact, both Ingress and GatewayAPI are implemented by translating them to ALB Rules. +However, ALB Rule is more complex than Ingress and GatewayAPI and is not a community-standard API. Use it only when Ingress or GatewayAPI does not meet your needs.docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (6)
6-6: Consistent naming: use “GatewayAPI”.-# Configure GatewayApi Gateway via ALB +# Configure GatewayAPI Gateway via ALB
24-24: Consistent resource name casing: “ALB2”.-## Example Gateway and Alb2 custom resource (CR) +## Example Gateway and ALB2 custom resource (CR)
80-100: “by using” → “using”; minor style fixes.-## Creating Gateway by using the web console +## Creating a Gateway using the web console ... -5. Click **Create**. +5. Click **Create**.
147-166: Consistent heading/title case for update section.-## Updating Gateways +## Updating Gateways -## Updating Gateway by using the web console +## Updating a Gateway using the web console
167-177: Add articles and tighten bullets.-## Add Listener +## Add a Listener ... -- If you need to monitor HTTP protocol, please contact the administrator in advance to prepare the **domain name**. -- If you need to monitor HTTPS protocol, please contact the administrator in advance to prepare the **domain name** and **certificate**. +- For HTTP, prepare a domain name in advance. +- For HTTPS, prepare a domain name and certificate in advance.
281-305: Heading polish and minor consistency.-## Creating Route by using the web console +## Creating a Route using the web console ... -## Creating Route by using the CLI +## Creating a Route using the CLIdocs/en/configure/networking/concepts/gatewayapi.mdx (2)
6-9: Intro grammar and image lead-in.-[GatewayAPI](https://gateway-api.sigs.k8s.io/) is an official Kubernetes project focused on L4 and L7 routing in Kubernetes. This project represents the next generation of Kubernetes Ingress, Load Balancing, and Service Mesh APIs. From the outset, it has been designed to be generic, expressive, and role-oriented. +[GatewayAPI](https://gateway-api.sigs.k8s.io/) is an official Kubernetes project focused on L4 and L7 routing in the Kubernetes ecosystem. It represents the next generation of Kubernetes Ingress, Load Balancing, and Service Mesh APIs. From the outset, it has been designed to be generic, expressive, and role‑oriented. ... -The overall resource model focuses on 3 separate personas and corresponding resources that they are expected to manage: +The overall resource model focuses on three personas and the resources they manage:
12-14: Minor polish in “Via ALB” section.-ALB supports GatewayAPI. Each Gateway resource maps to an ALB resource. -Listeners and routes are handled directly by ALB; they are not translated into `Frontend` or `Rule`. +ALB supports GatewayAPI: each Gateway maps to an ALB resource. +Listeners and routes are handled directly by ALB (not translated into `Frontend` or `Rule`).docs/en/configure/networking/architecture/understanding_alb.mdx (7)
12-13: Tighten component definitions; clarify “tenants”.
- “tenants” is ambiguous (projects/namespaces/accounts?). Clarify the scope the Operator partitions by.
- Minor wording tweak to emphasize CRD watch → reconcile flow.
Apply:
- **ALB Operator**: An operator that manages the lifecycle of ALB instances. It watches ALB CRs and creates/updates instances for different tenants. + **ALB Operator**: Manages the lifecycle of ALB instances. It watches ALB CRs and reconciles create/update operations for the targeted projects/namespaces (clarify your tenancy model).
21-25: Helm install: pin chart version and namespace; add CRDs note.For reproducibility and least surprise, pin a version, set/install a namespace, and note CRDs install behavior.
-helm install alb-operator alb/alauda-alb2 +kubectl create ns alb-system --dry-run=client -o yaml | kubectl apply -f - +# Pin to a known-good chart version; adjust as needed. +helm install alb-operator alb/alauda-alb2 \ + --namespace alb-system \ + --version <X.Y.Z> +# If CRDs are not bundled, add a note or a pre-step to install them.Please verify the chart name/repo and the minimal supported version for this doc.
29-46: ALB2 example: tighten wording and defaults; hint at address meaning.
- Comment “the ip address of node where alb been deployed” is unclear. Specify “Node IP hosting the ALB Pod” (hostNetwork) or “VIP” depending on your mode.
- Consider showing ingressClassName emitted by this ALB (if relevant) to tie with the demo below.
- address: "172.20.0.5" # the ip address of node where alb been deployed + address: "172.20.0.5" # Node IP hosting the ALB Pod (host network) or the ALB VIP, depending on your deployment mode
106-106: Define “ip” in curl; align with exposure method.Readers won’t know which IP to use (Node IP, VIP, LB address). Spell it out.
-Now you can access the app via `curl http://${ip}` +Now you can access the app via `curl http://<ALB address>` (for example, the Node IP when using hostNetwork, or the ALB VIP/LoadBalancer IP).
124-134: Mermaid flow: route via Service, not directly to Pod.ALB routes to a Service (or Endpoints), not “via ingress” to a specific Pod.
- ALB -->|route to pod via ingress| SvcAPod1 + ALB -->|route via Service| Svc-A
166-176: Naming consistency: “ALB Operator”, “Rule”, “Frontend (FT)”, “ALB Leader”.Standardize section titles and terms (hyphenation and capitalization vary: “ALB-Operator/ALB Operator”, “RULE/Rule”, “ALB-Leader/ALB Leader”, “Frontend/FT”).
-### ALB-Operator +### ALB Operator ... -### RULE +### Rule ... -FT could be created by ALB-Leader or user manually. +FT can be created by the ALB Leader or manually by users. ... -### ALB Leader +### ALB LeaderAlso applies to: 181-189, 193-203
158-159: IngressClass note: add a one-liner example.A quick example helps users.
-When you create an Ingress, you can use `.spec.ingressClassName` field to indicate which Ingress controller should handle this Ingress. +When you create an Ingress, set `.spec.ingressClassName: <alb-name>` to route it through this ALB.docs/en/configure/networking/functions/configure_alb_rule.mdx (5)
15-16: Grammar and casing: labels and resources.-rule must be attached to a frontend and alb via label. +A Rule must be attached to a Frontend and the target ALB via labels.
119-128: Table link labels: minor consistency tweaks.Hyphen/case consistency improves scanability.
-| [header modification](../how_to/alb/header_modification.mdx) +| [Header modification](../how_to/alb/header_modification.mdx) -| [url-rewrite](../how_to/alb/url_rewrite.mdx) +| [URL rewrite](../how_to/alb/url_rewrite.mdx) -| [waf](../how_to/alb/modsecurity.mdx) +| [WAF](../how_to/alb/modsecurity.mdx) -| [otel](../how_to/alb/otel.mdx) +| [OTEL](../how_to/alb/otel.mdx)
152-153: “webui” → “web UI”; add period.-Each input item on the webui corresponds to a field of the CR +Each input item on the web UI corresponds to a field of the CR.
160-166: HTTPS section: title/casing and FT wording.-## Https +## HTTPS -If the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use HTTPS. +If the frontend protocol (FT) is HTTPS or GRPCS, the Rule can also be configured to use HTTPS. ... -1. create ft use https protocol -2. create rule with backend protocol http, and specify cert via `.spec.certificate_name` +1. Create the FT using the HTTPS protocol. +2. Create a Rule with backend protocol HTTP, and specify the certificate via `.spec.certificate_name`. ... -1. create ft use https protocol -2. create rule with backend protocol https, and specify cert via `.spec.certificate_name` +1. Create the FT using the HTTPS protocol. +2. Create a Rule with backend protocol HTTPS, and specify the certificate via `.spec.certificate_name`.Also applies to: 176-186
187-195: Ingress sync wording: capitalization and clarity.-### ingress sync {#alb_ingress_sync} +### Ingress sync {#alb_ingress_sync} -Each ALB creates an IngressClass with the same name and handles ingresses within the same project. +Each ALB creates an IngressClass with the same name and handles ingresses within the same project.docs/en/configure/networking/functions/configure_ingress.mdx (5)
18-24: Flow description: minor clarity tweak.Consider emphasizing reconcile loop vs request path to reduce ambiguity.
-Ingress rules depend on the implementation of the Ingress Controller, which is responsible for listening to changes in Ingress and Service. After a new Ingress is created, when the Ingress Controller receives a request, it matches the forwarding rule from the Ingress and distributes the traffic to the specified internal routes, as shown in the diagram below. +Ingress behavior depends on the selected Ingress Controller, which watches Ingress/Service changes and programs forwarding rules. When a request arrives, the controller’s data plane matches the rule from the Ingress and routes traffic to the configured Service, as shown below.
25-26: Prereq links: grammar/casing.-- [install ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) -- [install alb as ingress-controller](../how_to/alb/deploy_alb.mdx) +- [Install ingress-nginx as an Ingress controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) +- [Install ALB as an Ingress controller](../how_to/alb/deploy_alb.mdx)
55-58: Callout 2: clarify controller selection via ingressClassName.-2. `nginx` to using `ingress-nginx` controller, `$alb_name` to use alb as ingress controller. +2. Set `ingressClassName: nginx` to use the ingress-nginx controller, or set `ingressClassName: $alb_name` to use ALB.
61-61: Article usage: “an Ingress”, not “a Ingress”.-## Creating a Ingress by using the web console +## Creating an Ingress by using the web console ... -## Creating a Ingress by using the CLI +## Creating an Ingress by using the CLIAlso applies to: 82-82
39-41: Optional: show ALB variant of the example.A second snippet swapping
ingressClassName: $alb_namehelps users map between controllers.I can add a compact “ALB variant” block if you want parity here.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (4)
docs/en/configure/networking/assets/create_alb_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_ft_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/create_rule_via_web.pngis excluded by!**/*.pngdocs/en/configure/networking/assets/gatewayapi-architecture.pngis excluded by!**/*.png
📒 Files selected for processing (26)
docs/en/configure/networking/architecture/understanding_alb.mdx(3 hunks)docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx(7 hunks)docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx(1 hunks)docs/en/configure/networking/concepts/gatewayapi.mdx(1 hunks)docs/en/configure/networking/functions/configure_alb_rule.mdx(1 hunks)docs/en/configure/networking/functions/configure_ingress.mdx(3 hunks)docs/en/configure/networking/how_to/alb/auth.mdx(2 hunks)docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/cors.mdx(1 hunks)docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx(4 hunks)docs/en/configure/networking/how_to/alb/deploy_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx(1 hunks)docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/header_modification.mdx(1 hunks)docs/en/configure/networking/how_to/alb/http_redirect.mdx(1 hunks)docs/en/configure/networking/how_to/alb/index.mdx(1 hunks)docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx(1 hunks)docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx(2 hunks)docs/en/configure/networking/how_to/alb/otel.mdx(4 hunks)docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx(1 hunks)docs/en/configure/networking/how_to/alb/url_rewrite.mdx(1 hunks)docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx(0 hunks)docs/en/configure/networking/how_to/create_loadbalancer.mdx(0 hunks)docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx(0 hunks)docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx(2 hunks)docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx(1 hunks)
💤 Files with no reviewable changes (3)
- docs/en/configure/networking/how_to/create_loadbalancer.mdx
- docs/en/configure/networking/how_to/deploy_high_available_vip_for_alb.mdx
- docs/en/configure/networking/how_to/create_gatewayapi_gateway.mdx
✅ Files skipped from review due to trivial changes (4)
- docs/en/configure/networking/how_to/alb/http_redirect.mdx
- docs/en/configure/networking/how_to/alb/forwarding_ipv6_traffic_to_ipv4_addresses_within_the_cluster_via_alb.mdx
- docs/en/configure/networking/how_to/alb/load_balancing_session_affinity_policy_in_alb.mdx
- docs/en/configure/networking/how_to/alb/tcp_http_keepalive.mdx
🚧 Files skipped from review as they are similar to previous changes (6)
- docs/en/configure/networking/how_to/alb/l4_l7_timeout.mdx
- docs/en/configure/networking/concepts/alb_with_ingress_nginx_annotation_compatibility.mdx
- docs/en/configure/networking/how_to/alb/index.mdx
- docs/en/configure/networking/how_to/alb/decision_making_for_performance_selection_of_alb.mdx
- docs/en/configure/networking/how_to/alb/otel.mdx
- docs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx
🧰 Additional context used
🪛 LanguageTool
docs/en/configure/networking/functions/configure_ingress.mdx
[grammar] ~24-~24: There might be a mistake here.
Context: ... add the 80 and 443 listening ports. ::: - [install ingress-nginx as ingress-control...
(QB_NEW_EN)
[grammar] ~25-~25: There might be a mistake here.
Context: ...tall ingress-nginx as ingress-controller](../how_to/install_ingress_nginx_via_cluster_plugin.mdx) - [install alb as ingress-controller](../ho...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...dx) - install alb as ingress-controller ## Example Ingress: ```yaml # nginx-ingres...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ...inxcontroller,$alb_name` to use alb as ingress controller. 3. If you only want...
(QB_NEW_EN)
[grammar] ~57-~57: There might be a mistake here.
Context: ..._name` to use alb as ingress controller. 3. If you only want to run ingress locally,...
(QB_NEW_EN)
docs/en/configure/networking/concepts/comparison_among_service_ingress_gatewayapi_and_alb_rule.mdx
[grammar] ~8-~8: There might be a mistake here.
Context: ...multiple ingress traffic specifications in Kubernetes ecosystem. This document com...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... specifications in Kubernetes ecosystem. This document compares them ([Service](....
(QB_NEW_EN)
docs/en/configure/networking/concepts/gatewayapi.mdx
[grammar] ~12-~12: There might be a mistake here.
Context: ...ateway resource maps to an ALB resource. Listeners and routes are handled directl...
(QB_NEW_EN)
docs/en/configure/networking/functions/configure_alb_rule.mdx
[grammar] ~1-~1: There might be a mistake here.
Context: # Configure ALB Rules ## Introduction ### What is a Rule? Rule i...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ... must be attached to a frontend and alb via label. ::: ```yaml apiVersion: crd.ala...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...ttached to a frontend and alb via label. ::: ```yaml apiVersion: crd.alauda.io/v...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...e Frontend to which this rule belongs. 2. Required, indicate the ALB to which this...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ... used to describe the matching criteria. For example, the rule below matches a re...
(QB_NEW_EN)
[grammar] ~116-~116: There might be a mistake here.
Context: ...rity` using an integer value. ## Action After a request matches a rule, you can ...
(QB_NEW_EN)
[grammar] ~121-~121: There might be a mistake here.
Context: ...meout](../how_to/alb/l4_l7_timeout.mdx)| | Redirect | Redirects incoming ...
(QB_NEW_EN)
[grammar] ~122-~122: There might be a mistake here.
Context: ...irect](../how_to/alb/http_redirect.mdx)| | CORS | Enables Cross-Origi...
(QB_NEW_EN)
[grammar] ~123-~123: There might be a mistake here.
Context: ... |cors| | Header Modification | Allows modifi...
(QB_NEW_EN)
[grammar] ~124-~124: There might be a mistake here.
Context: ...(../how_to/alb/header_modification.mdx)| | URL Rewrite | Rewrites the URL of...
(QB_NEW_EN)
[grammar] ~125-~125: There might be a mistake here.
Context: ...rewrite](../how_to/alb/url_rewrite.mdx)| | WAF | Integrates Web Appl...
(QB_NEW_EN)
[grammar] ~126-~126: There might be a mistake here.
Context: ... |waf| | OTEL | Enables OpenTelemet...
(QB_NEW_EN)
[grammar] ~127-~127: There might be a mistake here.
Context: ...g. |otel| | Keepalive | Enables or disable...
(QB_NEW_EN)
[grammar] ~131-~131: There might be a mistake here.
Context: ...## backend protocol {#backend_protocol} By default, the backend protocol is set ...
(QB_NEW_EN)
[grammar] ~134-~134: There might be a mistake here.
Context: ...ession Affinity Policy {#service_group} You can configure one or more services w...
(QB_NEW_EN)
[grammar] ~141-~141: There might be a mistake here.
Context: ...ty_policy_in_alb.mdx). ## Creating Rule ### Using web console 
[style] ~147-~147: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the load balancer. 4. Click on the name of the listener port. 5. Cl...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~148-~148: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ck on the name of the listener port. 5. Click Add Rule. 6. Refer to the following...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[grammar] ~152-~152: Ensure spelling is correct
Context: ... Click Add. Each input item on the webui corresponds to a field of the CR ### u...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: Ensure spelling is correct
Context: ... the frontend protocol (ft) is HTTPS or GRPCS, the rule can also be configured to use...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~161-~161: There might be a mistake here.
Context: ...ule can also be configured to use HTTPS. You can specify the certificate either i...
(QB_NEW_EN)
[grammar] ~166-~166: There might be a mistake here.
Context: .... ### Certificate Annotation in Ingress Certificates can be referenced across na...
(QB_NEW_EN)
[grammar] ~172-~172: There might be a mistake here.
Context: ...Certificate in Rule {#certificate_name} In .spec.certificate_name, the format ...
(QB_NEW_EN)
[grammar] ~175-~175: There might be a mistake here.
Context: ...et_namespace/$secret_name` ### TLS Mode #### Edge Mode In edge mode, the client commu...
(QB_NEW_EN)
[grammar] ~176-~176: There might be a mistake here.
Context: ...ecret_name` ### TLS Mode #### Edge Mode In edge mode, the client communicates wi...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~177-~177: There might be a mistake here.
Context: ...th backend services using HTTP protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...his: 1. create ft use https protocol 2. create rule with backend protocol http, and sp...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol http, and specify cert...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...te rule with backend protocol http, and specify cert via .spec.certificate_name #### ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... communicates with the ALB using HTTPS, and ALB communicates with backend services ...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ... ALB communicates with backend services using HTTPS protocol. To achieve this: 1. cre...
(QB_NEW_EN)
[grammar] ~182-~182: There might be a mistake here.
Context: ...h backend services using HTTPS protocol. To achieve this: 1. create ft use https ...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...te ft use https protocol 2. create rule with backend protocol https, and specify cer...
(QB_NEW_EN)
[grammar] ~185-~185: There might be a mistake here.
Context: ...e rule with backend protocol https, and specify cert via .spec.certificate_name ## I...
(QB_NEW_EN)
[grammar] ~188-~188: There might be a mistake here.
Context: ...s} ### ingress sync {#alb_ingress_sync} Each ALB creates an IngressClass with th...
(QB_NEW_EN)
[grammar] ~200-~200: There might be a mistake here.
Context: ....source.namespace` is ingress namespace. ::: #### ssl strategy {#alb_ingress_ss...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...sl strategy {#alb_ingress_ssl_strategy} For ingresses that do not have certifica...
(QB_NEW_EN)
[grammar] ~206-~206: There might be a mistake here.
Context: ...om resource with the following settings: - .spec.config.defaultSSLStrategy: Defines the SSL strategy for ingresses...
(QB_NEW_EN)
[grammar] ~210-~210: There might be a mistake here.
Context: ...$secret_name` Available SSL strategies: - Never: Do not create rules on HTTPS po...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/auth.mdx
[style] ~134-~134: This phrase is redundant. Consider writing “details”.
Context: ... series of annotations to configure the specific details of the authentication process. Below is...
(SPECIFIC_DETAILS)
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx
[grammar] ~6-~6: Ensure spelling is correct
Context: ...52c10984d03564c0cdec45 --- # Configure GatewayApi Gateway via ALB An inbound gateway (Ga...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
docs/en/configure/networking/how_to/alb/cors.mdx
[grammar] ~3-~3: There might be a mistake here.
Context: # CORS ## Basic Concepts [CORS](https://developer.mozilla.org/en-U...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_alb.mdx
[grammar] ~7-~7: There might be a mistake here.
Context: ...70cb27c0597def5 --- # Deploy ALB ## ALB ALB is a custom resource that represents a ...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...e: nginx ``` #### Resource Configuration resource related field describes the deployment ...
(QB_NEW_EN)
[grammar] ~53-~53: There might be a mistake here.
Context: ...he deployment configuration for the alb. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~66-~66: There might be a mistake here.
Context: ... you can access the ALB via the node IP. | Field | Type | Description | |-------|...
(QB_NEW_EN)
[grammar] ~69-~69: There might be a mistake here.
Context: ...d uses its address as the ALB address. | | .spec.address | string,required | yo...
(QB_NEW_EN)
[grammar] ~70-~70: There might be a mistake here.
Context: ...ld manually specify the address of alb | | .spec.config.vip.enableLbSvc | bool,...
(QB_NEW_EN)
[grammar] ~74-~74: There might be a mistake here.
Context: ...r Service. | #### project configuration | Field | Type | |-------|------| | `.s...
(QB_NEW_EN)
[grammar] ~75-~75: There might be a mistake here.
Context: ... project configuration | Field | Type | |-------|------| | `.spec.config.project...
(QB_NEW_EN)
[grammar] ~76-~76: There might be a mistake here.
Context: ...ation | Field | Type | |-------|------| | .spec.config.projects | []string,req...
(QB_NEW_EN)
[grammar] ~77-~77: There might be a mistake here.
Context: ...c.config.projects| []string,required | |.spec.config.portProjects` | string,o...
(QB_NEW_EN)
[grammar] ~78-~78: There might be a mistake here.
Context: ...config.portProjects| string,optional | |.spec.config.enablePortProject` | boo...
(QB_NEW_EN)
[grammar] ~82-~82: There might be a mistake here.
Context: ...project can find and configure this ALB. 2. This ALB will handle ingress resources b...
(QB_NEW_EN)
[grammar] ~90-~90: There might be a mistake here.
Context: ...obal config which can be tweaked in alb cr. - bind-nic - [ingr...
(QB_NEW_EN)
[grammar] ~91-~91: There might be a mistake here.
Context: ...ch can be tweaked in alb cr. - bind-nic - [ingress-sync](../../functions/configure_...
(QB_NEW_EN)
[grammar] ~105-~105: There might be a mistake here.
Context: ...eld of the CR: |Parameter| Description| |--|--| |Assigned Address| `.spec.addres...
(QB_NEW_EN)
[grammar] ~106-~106: There might be a mistake here.
Context: ...he CR: |Parameter| Description| |--|--| |Assigned Address| .spec.address| |All...
(QB_NEW_EN)
[grammar] ~107-~107: There might be a mistake here.
Context: ...|--| |Assigned Address| .spec.address| |Allocated By| Instance means project ...
(QB_NEW_EN)
[grammar] ~136-~136: There might be a mistake here.
Context: ...tate. 5. Click Update. #### Delete ##### Using the web console :::note After del...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ... (tcp|udp). In L4 Proxy use frontend to configure backend service directly. In L7 Proxy u...
(QB_NEW_EN)
[grammar] ~159-~159: There might be a mistake here.
Context: ...d to configure backend service directly. In L7 Proxy use frontend to configure li...
(QB_NEW_EN)
[grammar] ~160-~160: There might be a mistake here.
Context: ..._rule.mdx) to configure backend service. If you need to add an HTTPS listener por...
(QB_NEW_EN)
[grammar] ~164-~164: There might be a mistake here.
Context: ...adings-in-section */} ### Prerequisites Create a ALB first. ### Configure Front...
(QB_NEW_EN)
[grammar] ~195-~195: There might be a mistake here.
Context: ...ntend name: Format as $alb_name-$port. 3. port: which port which listen on. 4. pro...
(QB_NEW_EN)
[grammar] ~196-~196: There might be a mistake here.
Context: ...t`. 3. port: which port which listen on. 4. protocol: what protocol this port uses. ...
(QB_NEW_EN)
[grammar] ~203-~203: There might be a mistake here.
Context: ...ed, Format as $secret_ns/$secret_name. 6. backendProtocol: what protocol the backe...
(QB_NEW_EN)
[grammar] ~207-~207: There might be a mistake here.
Context: ...alls back to the default serviceGroup. 8. [session_affinity_policy](./load_balancin...
(QB_NEW_EN)
[grammar] ~214-~214: There might be a mistake here.
Context: ... ### Operation On Frontend #### Creating ##### using the web console 
[grammar] ~225-~225: Ensure spelling is correct
Context: ...k Add Port. Each input item on the webui corresponds to a field of the CR |Param...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~226-~226: There might be a mistake here.
Context: ... field of the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serv...
(QB_NEW_EN)
[grammar] ~227-~227: There might be a mistake here.
Context: ...the CR |Parameter|Description| |---|---| |Session Affinity| `.spec.serviceGroup.s...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx
[grammar] ~17-~17: There might be a mistake here.
Context: ...guration). | Annotation | Description | |---|---| | `metallb.universe.tf/loadBal...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ... | Annotation | Description | |---|---| | metallb.universe.tf/loadBalancerIPs ...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ... pool to allocate from. | ## Method 2: Use external ALB device to provide VIP * P...
(QB_NEW_EN)
[grammar] ~26-~26: There might be a mistake here.
Context: ...the ports in use to reduce the downtime of ALB upgrade. The health check configura...
(QB_NEW_EN)
[grammar] ~31-~31: There might be a mistake here.
Context: ...h check, it is recommended to use TCP. | | Response Timeout | The time requir...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ommended to configure it to 2 seconds. | | Check Interval | The time interval...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/header_modification.mdx
[grammar] ~10-~10: There might be a mistake here.
Context: ...annotation key | |---------|-----------------------------...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...---------------------------------------| | ingress | `alb.ingress.cpaas.io/rewrit...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...alb.ingress.cpaas.io/rewrite-response| | rule |alb.rule.cpaas.io/rewrite-r...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ... value is the ALB context variable name. For example, add the following annotatio...
(QB_NEW_EN)
[grammar] ~44-~44: There might be a mistake here.
Context: ... | |--------------------------------|------...
(QB_NEW_EN)
[grammar] ~45-~45: There might be a mistake here.
Context: ...---------------------------------------| | first_forward_or_remote_addr | the f...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...mote address, default is remote_addr | | first_forward | the f...
(QB_NEW_EN)
docs/en/configure/networking/how_to/alb/url_rewrite.mdx
[grammar] ~6-~6: There might be a mistake here.
Context: ...ps to rewrite the URL. ## Configuration via ingress annotation ```yaml apiVersio...
(QB_NEW_EN)
[grammar] ~48-~48: There might be a mistake here.
Context: ...rget: /$3 ``` Example: client requests /prefix-x/abc; backend receives `/abc`.
(QB_NEW_EN)
docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx
[grammar] ~9-~9: There might be a mistake here.
Context: ..._cluster_plugin.mdx) ## Max Connections [max-worker-connections](https://kubernet...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ...map/#max-worker-connections) ## Timeout [config timeout](https://kubernetes.githu...
(QB_NEW_EN)
[grammar] ~18-~18: There might be a mistake here.
Context: ...sticky-sessions) ## Header Modification |action|link| |--|--| |set header in req...
(QB_NEW_EN)
[grammar] ~19-~19: There might be a mistake here.
Context: ...s) ## Header Modification |action|link| |--|--| |set header in request|[proxy-se...
(QB_NEW_EN)
[grammar] ~20-~20: There might be a mistake here.
Context: ...eader Modification |action|link| |--|--| |set header in request|[proxy-set-header...
(QB_NEW_EN)
[grammar] ~21-~21: There might be a mistake here.
Context: ...figuration/annotations/#custom-headers)| |remove header in request| set a empty h...
(QB_NEW_EN)
[grammar] ~29-~29: There might be a mistake here.
Context: ...## HSTS (HTTP Strict Transport Security) [configure HSTS](https://kubernetes.github.io/ingr...
(QB_NEW_EN)
[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ginx-configuration/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernet...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~32-~32: There might be a mistake here.
Context: ...ation/configmap/#hsts) ## Rate Limiting [config rate limiting](https://kubernetes...
(QB_NEW_EN)
[grammar] ~35-~35: There might be a mistake here.
Context: ...tion/annotations/#rate-limiting) ## WAF [modsecurity](https://kubernetes.github.i...
(QB_NEW_EN)
[grammar] ~46-~46: There might be a mistake here.
Context: ...uthentication) ### TLS edge termination [backend protocol](https://kubernetes.git...
(QB_NEW_EN)
🔇 Additional comments (10)
docs/en/configure/networking/how_to/alb/auth.mdx (2)
7-7: Consistent heading style confirmedPluralizing “Basic Concepts” aligns with other ALB how‑to pages.
134-134: Tighten wording and confirm link path
- File:
docs/en/configure/networking/how_to/alb/auth.mdx(line 134)- Verified that
../install_ingress_nginx_via_cluster_plugin.mdxresolves todocs/en/configure/networking/how_to/install_ingress_nginx_via_cluster_plugin.mdx-[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the specific details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support. +[Ingress-nginx](../install_ingress_nginx_via_cluster_plugin.mdx) defines a series of annotations to configure the details of the authentication process. Below is a list of annotations that ALB supports, where "v" indicates support and "x" indicates no support.docs/en/configure/networking/how_to/alb/url_rewrite.mdx (1)
39-46: Regex and capture usage looks correct
rewrite_target: /$3matches^/(prefix-x)(/|$)(.*). Good.docs/en/configure/networking/how_to/tasks_for_ingress_nginx.mdx (1)
7-7: Link path verified
The fileinstall_ingress_nginx_via_cluster_plugin.mdxexists alongsidetasks_for_ingress_nginx.mdxindocs/en/configure/networking/how_to/, so the relative link (./install_ingress_nginx_via_cluster_plugin.mdx) is correct.docs/en/configure/networking/how_to/alb/deploy_high_available_vip_for_alb.mdx (2)
24-24: Link target validated
The filesoft_data_center_lb_solution.mdxexists atdocs/en/configure/networking/how_to/soft_data_center_lb_solution.mdx, so the relative link../soft_data_center_lb_solution.mdxindeploy_high_available_vip_for_alb.mdxis correct. No changes needed.
15-16: Anchor Verified in deploy_alb.mdxThe anchor
{#alb_networking_configuration}is present at line 65 ofdocs/en/configure/networking/how_to/alb/deploy_alb.mdx, so the cross-file link is valid.• File: docs/en/configure/networking/how_to/alb/deploy_alb.mdx
• Line 65:#### Networking Configuration {#alb_networking_configuration}No further action required.
docs/en/configure/networking/how_to/alb/configure_gatewayapi_gateway_via_alb.mdx (1)
28-39: Version check: Gateway API GA vs beta.Confirm
gateway.networking.k8s.io/v1beta1is required for your supported Kubernetes versions; considerv1where available.Would you like a quick matrix added to the doc listing supported Kubernetes versions and the corresponding Gateway API versions?
docs/en/configure/networking/architecture/understanding_alb.mdx (1)
88-103: AddingressClassNameto the demo IngressThe Ingress example in
docs/en/configure/networking/architecture/understanding_alb.mdx(around lines 88–103) currently omits theingressClassNamefield. Without it, this demo could be claimed by a different controller or none at all. Please update the snippet and confirm the actual ALB IngressClass name before merging.• File:
docs/en/configure/networking/architecture/understanding_alb.mdx
• Location: lines 88–103Suggested diff:
spec: + ingressClassName: alb-demo # ← replace 'alb-demo' with the real IngressClass name rules:docs/en/configure/networking/functions/configure_alb_rule.mdx (2)
23-25: Verify label domains/keys (“alb2.cpaas.io”).You use labels with
alb2.cpaas.io/*here and annotations withalb.cpaas.io/*below. If intentional (v2-specific labels), add a short note; otherwise standardize.I can help propose a repo-wide normalization once you confirm the canonical domains.
108-115: Priority range: confirm bounds and tie-breakers.
- Range “0 to 10” feels narrow; confirm that higher/lower bounds are enforced and how ties are resolved (creation time? name? explicit order?).
If needed, I can add a short note clarifying tie-breaking semantics.
0cf02a8 to
b5f8565
Compare
Summary by CodeRabbit
New Features
Documentation
Removed