imbajin commented on code in PR #527: URL: https://github.com/apache/hugegraph-doc/pull/527#discussion_r4279054526
########## content/en/docs/quickstart/hugegraph/hugegraph-helm-operations.md: ########## @@ -0,0 +1,172 @@ +--- +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 requires visible associated indexes to be in `CREATED` state on each Server Pod. +Run it after index jobs finish; the test retries temporary construction states within `server.testTimeoutSeconds`. Review Comment: [P2] The documented retry setting is not supported by the paired chart Please remove `server.testTimeoutSeconds` from both the English and Chinese operations pages, or add the corresponding chart setting first. At the paired Server #3349 head (`3290b466bff9b3413185b4373401810acda7edb5`), the server values schema rejects additional properties and defines no such key. The hook instead uses `DEADLINE_S="${HG_TEST_DEADLINE_S:-150}"` without wiring this Helm value. Consequently, `--set server.testTimeoutSeconds=300` fails values-schema validation rather than extending retries. Describe the existing 150-second hook retry window for now; Helm's `--timeout` does not change that internal deadline. This is source-verified; no independent Helm execution is claimed. Relevant hook: https://github.com/apache/hugegraph/blob/3290b466bff9b3413185b4373401810acda7edb5/helm/hugegraph/templates/tests/test-connection.yaml#L92 -- 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]
