-
Notifications
You must be signed in to change notification settings - Fork 118
Add Helm Chart to install NKG #840
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
79f9d56
Initial chart
ciarams87 601c442
Review feedback, update README, add icon
ciarams87 6244a60
Remove gateway prefix from values
ciarams87 9ebe371
Add crds to helm install
ciarams87 15031f4
Add helm steps to ci workflows
ciarams87 0fc3e8d
Review feedback and installation docs
ciarams87 286df1f
Update developer documentation
ciarams87 55c63b4
Add in --wait flag to helm install
ciarams87 379b136
Review feedback and fix conflicts
ciarams87 e578de6
Remove CRDs folder
ciarams87 d04e624
Skip helm templates from yaml pre-commit check
ciarams87 5af2874
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] ca194bf
Install Gateway API resources in helm CI
ciarams87 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Patterns to ignore when building packages. | ||
ciarams87 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
*.png |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
apiVersion: v2 | ||
name: nginx-kubernetes-gateway | ||
description: NGINX Kubernetes Gateway | ||
type: application | ||
version: 0.1.0 | ||
appVersion: "0.4.0" | ||
pleshakov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
home: https://github.com/nginxinc/nginx-kubernetes-gateway | ||
icon: https://raw.githubusercontent.com/nginxinc/nginx-kubernetes-gateway/tree/main/deploy/helm-chart/chart-icon.png | ||
sources: | ||
- https://github.com/nginxinc/nginx-kubernetes-gateway/tree/main/deploy/helm-chart | ||
keywords: | ||
- kubernetes | ||
- gateway | ||
- nginx | ||
maintainers: | ||
- name: nginxinc | ||
email: kubernetes@nginx.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
# NGINX Kubernetes Gateway Helm Chart | ||
|
||
## Introduction | ||
|
||
This chart deploys the NGINX Kubernetes Gateway in your Kubernetes cluster. | ||
|
||
## Prerequisites | ||
|
||
- [Helm 3.0+](https://helm.sh/docs/intro/install/) | ||
- [kubectl](https://kubernetes.io/docs/tasks/tools/) | ||
|
||
> Note: NGINX Kubernetes Gateway can only run in the `nginx-gateway` namespace. This limitation will be addressed in | ||
the future releases. | ||
|
||
### Installing the Gateway API resources | ||
|
||
> Note: The Gateway API resources from the standard channel (the CRDs and the validating webhook) must be installed | ||
before deploying NGINX Kubernetes Gateway. If they are already installed in your cluster, please ensure they are the | ||
correct version as supported by the NGINX Kubernetes Gateway - | ||
[see the Technical Specifications](../../README.md#technical-specifications). | ||
|
||
To install the Gateway resources from [the Gateway API repo](https://github.com/kubernetes-sigs/gateway-api), run: | ||
|
||
```shell | ||
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.7.1/standard-install.yaml | ||
``` | ||
|
||
## Installing the Chart | ||
|
||
### Installing the Chart from the OCI Registry | ||
|
||
To install the chart with the release name `my-release` (`my-release` is the name that you choose) into the | ||
nginx-gateway namespace (with optional `--create-namespace` flag - you can omit if the namespace already exists): | ||
|
||
```shell | ||
helm install my-release oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --version 0.0.0-edge --create-namespace --wait -n nginx-gateway | ||
``` | ||
|
||
### Installing the Chart via Sources | ||
|
||
#### Pulling the Chart | ||
|
||
```shell | ||
helm pull oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --untar --version 0.0.0-edge | ||
cd nginx-gateway | ||
``` | ||
|
||
#### Installing the Chart | ||
|
||
To install the chart with the release name `my-release` (`my-release` is the name that you choose) into the | ||
nginx-gateway namespace (with optional `--create-namespace` flag - you can omit if the namespace already exists): | ||
|
||
```shell | ||
helm install my-release . --create-namespace --wait -n nginx-gateway | ||
``` | ||
|
||
## Upgrading the Chart | ||
### Upgrading the Gateway Resources | ||
Before you upgrade a release, ensure the Gateway API resources are the correct version as supported by the NGINX | ||
Kubernetes Gateway - [see the Technical Specifications](../../README.md#technical-specifications).: | ||
|
||
To upgrade the Gateway resources from [the Gateway API repo](https://github.com/kubernetes-sigs/gateway-api), run: | ||
|
||
```shell | ||
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.7.1/standard-install.yaml | ||
``` | ||
|
||
### Upgrading the Chart from the OCI Registry | ||
To upgrade the release `my-release`, run: | ||
|
||
```shell | ||
helm upgrade my-release oci://ghcr.io/nginxinc/charts/nginx-kubernetes-gateway --version 0.0.0-edge -n nginx-gateway | ||
``` | ||
|
||
### Upgrading the Chart from the Sources | ||
|
||
Pull the chart sources as described in [Pulling the Chart](#pulling-the-chart), if not already present. Then, to upgrade | ||
the release `my-release`, run: | ||
|
||
```shell | ||
helm upgrade my-release . -n nginx-gateway | ||
``` | ||
|
||
## Uninstalling the Chart | ||
|
||
To uninstall/delete the release `my-release`: | ||
|
||
```shell | ||
helm uninstall my-release -n nginx-gateway | ||
``` | ||
|
||
The command removes all the Kubernetes components associated with the release and deletes the release. | ||
|
||
### Uninstalling the Gateway Resources | ||
|
||
>**Warning: This command will delete all the corresponding custom resources in your cluster across all namespaces! | ||
Please ensure there are no custom resources that you want to keep and there are no other Gateway API implementations | ||
running in the cluster!** | ||
|
||
To delete the Gateway resources using [the Gateway API repo](https://github.com/kubernetes-sigs/gateway-api), run: | ||
|
||
```shell | ||
kubectl delete -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.7.1/standard-install.yaml | ||
``` | ||
|
||
## Configuration | ||
|
||
The following tables lists the configurable parameters of the NGINX Kubernetes Gateway chart and their default values. | ||
|
||
|Parameter | Description | Default Value | | ||
| --- | --- | --- | | ||
|`nginxGateway.image.repository` | The repository for the NGINX Kubernetes Gateway image. | ghcr.io/nginxinc/nginx-kubernetes-gateway | | ||
pleshakov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|`nginxGateway.image.tag` | The tag for the NGINX Kubernetes Gateway image. | edge | | ||
|`nginxGateway.image.pullPolicy` | The `imagePullPolicy` for the NGINX Kubernetes Gateway image. | Always | | ||
|`nginxGateway.gatewayClassName` | The name of the GatewayClass for the NGINX Kubernetes Gateway deployment. | nginx | | ||
|`nginxGateway.gatewayControllerName` | The name of the Gateway controller. The controller name must be of the form: DOMAIN/PATH. The controller's domain is k8s-gateway.nginx.org. | k8s-gateway.nginx.org/nginx-gateway-controller | | ||
|`nginx.image.repository` | The repository for the NGINX image. | nginx | | ||
|`nginx.image.tag` | The tag for the NGINX image. | 1.25 | | ||
|`nginx.image.pullPolicy` | The `imagePullPolicy` for the NGINX image. | Always | | ||
|`initContainer.image.repository` | The repository for the `initContainer` image. | busybox | | ||
|`initContainer.image.tag` | The tag for the `initContainer` image. | 1.36 | | ||
|`serviceAccount.annotations` | The `annotations` for the ServiceAccount used by the NGINX Kubernetes Gateway deployment. | {} | | ||
|`serviceAccount.name` | Name of the ServiceAccount used by the NGINX Kubernetes Gateway deployment. | Autogenerated | | ||
|`service.create` | Creates a service to expose the NGINX Kubernetes Gateway pods. | true | | ||
|`service.type` | The type of service to create for the NGINX Kubernetes Gateway. | Loadbalancer | | ||
|`service.externalTrafficPolicy` | The `externalTrafficPolicy` of the service. The value `Local` preserves the client source IP. | Local | | ||
|`service.annotations` | The `annotations` of the NGINX Kubernetes Gateway service. | {} | | ||
|`service.ports` | A list of ports to expose through the NGINX Kubernetes Gateway service. Update it to match the listener ports from your Gateway resource. Follows the conventional Kubernetes yaml syntax for service ports. | [ port: 80, targetPort: 80, protocol: TCP, name: http; port: 443, targetPort: 443, protocol: TCP, name: https ] | |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.