> 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-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
```
