Deploy Higress by Helm
Helm is a package manager for Kubernetes used in software management and deployment. You can use Helm to perform a quick install of Higress Gateway in your Kubernetes cluster.
Install Higress
Higress Gateway consists of a control plane component higress-controller
and a data plane component higress-gateway
. It uses Istio to management API configurations of the data plane, and higress-controller
to manage API configurations of the control plane.
Helm Installation Command
Installation Parameters
Parameter | Description | Default |
---|---|---|
Global Parameters | ||
global.local | Set to true if installing to a local K8s cluster (e.g.: Kind, Rancher Desktop, etc.) | false |
global.ingressClass | IngressClass which is used to filter Ingress resources Higress Controller watches. If there are multiple gateway instances deployed in the cluster, this parameter can be used to distinguish the scope of each gateway instance. There are some special cases for special IngressClass values: 1. If set to “nginx”, Higress Controller will watch Ingress resources with the nginx IngressClass or without any Ingress class.2. If set to empty, Higress Controller will watch all Ingress resources in the K8s cluster. | higress |
global.watchNamespace | If not empty, Higress Controller will only watch resources in the specified namespace. When isolating different business systems using K8s namespace, if each namespace requires a standalone gateway instance, this parameter can be used to confine the Ingress watching of Higress within the given namespace. | "" |
global.disableAlpnH2 | Whether to disable HTTP/2 in ALPN | true |
global.enableStatus | If true , Higress Controller will update the status field of Ingress resources.When migrating from Nginx Ingress, in order to avoid status field of Ingress objects being overwritten, this parameter needs to be set to false, so Higress won’t write the entry IP to the status field of the corresponding Ingress object. | true |
global.enableIstioAPI | If true , Higress Controller will monitor istio resources as well | false |
global.istioNamespace | The namespace istio is installed to | istio-system |
global.o11y.enabled | If true , o11y suite (Grafana + Promethues) will be installed. | false |
global.pvc.rwxSupported | Set to false when installing to a standard K8s cluster and the target cluster doesn’t support the ReadWriteMany access mode of PersistentVolumeClaim. | true |
Core Paramters | ||
higress-core.gateway.replicas | Number of Higress Gateway pods | 2 |
higress-core.controller.replicas | Number of Higress Controller pods | 1 |
higress-core.gateway.httpPort | HTTP port to be listened by Higress Gateway | 80 |
higress-core.gateway.httpsPort | HTTPS port to be listened by Higress Gateway | 443 |
Console Paramters | ||
higress-console.replicaCount | Number of Higress Console pods | 1 |
higress-console.service.type | K8s service type used by Higress Console | ClusterIP |
higress-console.web.login.prompt | Prompt message to be displayed on the login page | "" |
Support Istio CRD
The CRD of Istio needs to be installed in advance in the cluster. If you do not want to install Istio, you can also install only the CRD of Istio:
In this mode, you need to update the deployment parameters of Higress: