> 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-vms/how-to-manually-create-a-virtual-machine/configuration-file-svc.yaml.md).

# File Konfigurasi svc.yaml

File `svc.yaml` digunakan untuk layanan yang mengelola akses jaringan aplikasi yang berjalan pada pod, baik di dalam maupun di luar cluster. Layanan membantu penyeimbangan beban dan memungkinkan pod berkomunikasi satu sama lain atau dengan aplikasi di luar cluster. Jalankan sintaks sesuai sistem operasi komputer Anda melalui terminal atau *command prompt*.

1. *Windows*

Jika menggunakan sistem operasi *Windows*, Anda dapat menggunakan *Notepad++* atau editor teks lain di komputer.

2. *Linux*

Jika menggunakan sistem operasi *Linux*, gunakan perintah berikut.

{% tabs %}
{% tab title="vim" %}

```bash
vim svc.yaml
```

{% endtab %}

{% tab title="nano" %}

```bash
nano svc.yaml
```

{% endtab %}
{% endtabs %}

Tambahkan kode sumber berikut ke file `svc.yaml`.

```yaml
apiVersion: v1
kind: Service
metadata:
  name: database-prod-dummy-svc
  namespace: default
spec:
  type: LoadBalancer
  selector:
    vm.kubevirt.io/name: database-prod-vm
  ports:
  - port: 80
    name: http
    targetPort: 80
    protocol: TCP
  - port: 443
    name: https
    targetPort: 443
    protocol: TCP
  - port: 5617
    name: ssh
    targetPort: 22
    protocol: TCP
```

Berikut penjelasan kode sumber yang dapat disesuaikan dengan kebutuhan Anda.

## Metadata

Bagian `metadata` berisi `name` dan `namespace`. Keduanya menjadi identitas layanan. Isi `name` dengan nama layanan, lalu sesuaikan `namespace` dengan namespace pada vcluster yang digunakan di *Service Portal* Cloudeka.

<figure><img src="https://putri.box.cloudeka.id/cloudeka-assets/docs.cloudeka.ai/1dekagpu/svcyaml_01.png" alt=""><figcaption></figcaption></figure>

## Spesifikasi

Bagian `spec` pada file `svc.yaml` menentukan spesifikasi layanan. Beberapa nilai perlu disesuaikan.

Pada bagian `selector`, sesuaikan `vm.kubevirt.io/name` dengan nilai `name` pada `metadata` di file `vm.yaml`.

<figure><img src="https://putri.box.cloudeka.id/cloudeka-assets/docs.cloudeka.ai/1dekagpu/svcyaml_02.png" alt=""><figcaption></figcaption></figure>

Gunakan sintaks perintah berikut untuk menyimpan perubahan pada file `svc.yaml`.

```bash
kubectl apply -f svc.yaml
```
