> For the complete documentation index, see [llms.txt](https://docs.cloudeka.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudeka.ai/deka-gpu-documentations/panduan-untuk-enterprise/deka-gpu/deka-gpu-service/ingress/install-ingress-nginx.md).

# Menginstal Ingress NGINX

## Membuat namespace dan VPC

Untuk menginstal Ingress NGINX, buat namespace dan VPC terlebih dahulu.

```bash
kubectl create ns ingress-nginx
```

Selanjutnya, buat file YAML bernama `cvpc-ingress-nginx`.

```bash
nano cvpc-ingress-nginx.yaml
```

Salin dan tempel isi YAML berikut.

```yaml
apiVersion: tenants.cloudeka.ai/v1alpha2
kind: CloudekaVPC
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
spec:
  isolate: false
```

Setelah menempelkan sintaks, simpan file dengan menekan Ctrl + O, lalu tekan Enter. Keluar dari editor dengan menekan Ctrl + X. Selanjutnya, terapkan konfigurasi ini.

```bash
kubectl apply -f cvpc-ingress-nginx.yaml
```

## Menambahkan repositori Helm

Tambahkan repositori Helm dengan menjalankan perintah berikut.

```bash
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx --force-update
```

Buat file `values.yaml` dari repositori Helm.

```bash
helm show values ingress-nginx --repo ingress-nginx/ingress-nginx > values.yaml
```

Ubah file `values.yaml`.

```bash
nano values.yaml
```

Atur sumber daya Ingress controller.

```yaml
controller:
  resources:
    limits:
      cpu: 1
      memory: 1Gi
    requests:
      cpu: 1
      memory: 1Gi
```

Atur sumber daya untuk job pembuatan secret.

```yaml
controller:
  admissionwebhooks:
    createSecretJob:
      resources:
        limits:
          cpu: 1
          memory: 1Gi
        requests:
          cpu: 1
          memory: 1Gi
```

Atur sumber daya untuk job patch webhook.

```yaml
controller:
  admissionwebhooks:
    patchWebhookJob:
      resources:
        limits:
          cpu: 1
          memory: 1Gi
        requests:
          cpu: 1
          memory: 1Gi
```

Deploy Ingress NGINX.

```bash
helm install ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx --values values.yaml
```
