bitflicker64 commented on code in PR #527: URL: https://github.com/apache/hugegraph-doc/pull/527#discussion_r4278148480
########## content/en/docs/quickstart/hugegraph/hugegraph-helm-operations.md: ########## @@ -0,0 +1,171 @@ +--- +title: "Operate HugeGraph on Kubernetes" +linkTitle: "Kubernetes Operations" +weight: 5 +search_keywords: [HugeGraph Helm operations, local PV, NetworkPolicy, PD, Store] +--- + +This guide accompanies [Helm deployment](./hugegraph-helm.md). Detailed lifecycle checks and recovery notes are maintained in the +[operations reference](https://github.com/apache/hugegraph/blob/master/helm/hugegraph/docs/operations.md); all parameters are commented in `values.yaml`. +Commands assume release/namespace `hugegraph`; substitute the actual workload names if overridden. + +## 1 Storage and private images + +The default installation needs seven persistent volumes. Dynamic storage requires a working provisioner; static local storage requires prepared directories +and matching PVs on the named nodes. Use the [complete examples](https://github.com/apache/hugegraph/tree/master/helm/hugegraph/examples) +for all seven local PVs, `WaitForFirstConsumer`, registry mirrors and GitOps Secrets. +An initially Pending PVC with `WaitForFirstConsumer` can be normal; persistent Pending needs PVC/Pod events and PV matching checks. +A bound claim with a missing directory or permission mismatch can fail mounting. Do not replace failed PVCs with temporary data directories. + +```bash +kubectl -n hugegraph get pvc,pods +kubectl -n hugegraph describe pvc <claim-name> +kubectl -n hugegraph describe pod <pod-name> +kubectl get pv,storageclass +``` + +For `ImagePullBackOff`, inspect Pod events and registry access/credentials. The default image inventory contains four component images; +Store wait and Helm test reuse existing component images with `curl` already installed. Explicit helper-image overrides must also be mirrored. + +## 2 Ports and health + +PD listens on REST 8620, gRPC 8686 and Raft 8610; Store on REST 8520, gRPC 8500 and Raft 8510; Server HTTP on 8080; Hubble HTTP on 8088. +Client Services hide individual Pod addresses. NodePort is a separate allocated port on reachable nodes, not the application listener port. +PD `/v1/ready` requires a Raft leader; `/v1/health` only confirms the listener. Store startup waits for a majority of ready PD peers. +Server waits up to `server.storageWaitTimeoutSeconds` (default 300) before its application startup; adjust it for slow storage bootstrap. +No local Helm rendering verifies live cluster reachability, volumes or JVM capacity. + +### Helm test coverage + +`helm test` checks `DEFAULT-hugegraph` binding and rejects visible associated indexes in `INVALID` state on each Server Pod. +It reads indexes by ID without refreshing the full index cache; it does not prove index query results or complete schema consistency. +For existing data, use `--set-file server.testGremlin=assertions.groovy` during Helm upgrade to add read-only business assertions on every Pod. Review Comment: Important: This subsection documents chart behaviour that is not on apache/hugegraph master yet. It only arrives with apache/hugegraph#3349, which is still open. On master 4b77b7bc, `values.schema.json` sets `additionalProperties: false` on `server` and has no `testGremlin` key. So the documented `--set-file server.testGremlin=assertions.groovy` is rejected by schema validation. Rendering master with `helm template hugegraph helm/hugegraph -n hugegraph --set-file server.testGremlin=assertions.groovy` fails with `at '/server': additional properties 'testGremlin' not allowed`, and `helm upgrade` runs the same schema validation before it changes anything. The same command renders on the #3349 head 392faa94. Two other claims are also from #3349 only. Line 40 says the hook rejects `INVALID` indexes, but master `templates/tests/test-connection.yaml` runs only the `DEFAULT-hugegraph` Gremlin binding query. Line 44 links to `operations.md#business-query-assertions`, but master `docs/opera tions.md` has no such heading, so the anchor does not resolve. The CN page has the same text at lines 39, 41 and 43. These pages are routed as `latest` and link to chart `master`, so a user who follows this before #3349 lands gets a failed upgrade. Please merge #3349 first and re-check this text against the merged chart. If this PR has to land first, drop or gate lines 40-47 here and lines 39-45 in the CN page until it does. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
