> 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/guideline-for-enterprise/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
```
