

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemilih Instance
<a name="instance-selector"></a>

eksctl mendukung penentuan beberapa tipe instans untuk nodegroup yang dikelola dan dikelola sendiri, tetapi dengan lebih dari 270 tipe instans EC2, pengguna harus meluangkan waktu untuk mencari tahu tipe instance mana yang cocok untuk nodegroup mereka. Ini bahkan lebih sulit ketika menggunakan instance Spot karena Anda perlu memilih satu set instance yang bekerja sama dengan baik dengan Cluster Autoscaler.

eksctl sekarang terintegrasi dengan [pemilih instans EC2](https://github.com/aws/amazon-ec2-instance-selector), yang mengatasi masalah ini dengan membuat daftar jenis instance berdasarkan kriteria sumber daya: vCPU, memori, \# GPU dan arsitektur CPU. Saat kriteria pemilih instance diteruskan, eksctl membuat nodegroup dengan tipe instance yang disetel ke tipe instance yang cocok dengan kriteria yang disediakan.

## Buat cluster dan nodegroup
<a name="_create_cluster_and_nodegroups"></a>

Untuk membuat cluster dengan nodegroup tunggal yang menggunakan tipe instance yang cocok dengan kriteria sumber daya pemilih instance yang diteruskan ke eksctl, jalankan

```
eksctl create cluster --instance-selector-vcpus=2 --instance-selector-memory=4
```

Ini akan membuat cluster dan nodegroup terkelola dengan `instanceTypes` bidang disetel ke `[c5.large, c5a.large, c5ad.large, c5d.large, t2.medium, t3.medium, t3a.medium]` (kumpulan tipe instance yang dikembalikan dapat berubah).

Untuk nodegroup yang tidak dikelola, `instancesDistribution.instanceTypes` bidang akan disetel:

```
eksctl create cluster --managed=false --instance-selector-vcpus=2 --instance-selector-memory=4
```

Kriteria pemilih instance juga dapat ditentukan dalam ClusterConfig:

```
# instance-selector-cluster.yaml
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: cluster
  region: us-west-2

nodeGroups:
- name: ng
  instanceSelector:
    vCPUs: 2
    memory: "4" # 4 GiB, unit defaults to GiB

managedNodeGroups:
- name: mng
  instanceSelector:
    vCPUs: 2
    memory: 2GiB #
    cpuArchitecture: x86_64 # default value
```

```
eksctl create cluster -f instance-selector-cluster.yaml
```

Opsi CLI pemilih contoh berikut didukung oleh `eksctl create cluster` dan: `eksctl create nodegroup`

 `--instance-selector-vcpus`,`--instance-selector-memory`, `--instance-selector-gpus` dan `instance-selector-cpu-architecture` 

Contoh file dapat ditemukan [di sini](https://github.com/eksctl-io/eksctl/blob/main/examples/28-instance-selector.yaml).

### Lari Kering
<a name="_dry_run"></a>

Fitur [dry-run](dry-run.md) memungkinkan Anda untuk memeriksa dan mengubah instance yang cocok dengan pemilih instance sebelum melanjutkan untuk membuat nodegroup.

```
eksctl create cluster --name development --instance-selector-vcpus=2 --instance-selector-memory=4 --dry-run

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
# ...
managedNodeGroups:
- amiFamily: AmazonLinux2
  instanceSelector:
    memory: "4"
    vCPUs: 2
  instanceTypes:
  - c5.large
  - c5a.large
  - c5ad.large
  - c5d.large
  - t2.medium
  - t3.medium
  - t3a.medium
...
# other config
```

Yang dihasilkan kemudian ClusterConfig dapat diteruskan ke`eksctl create cluster`:

```
eksctl create cluster -f generated-cluster.yaml
```

`instanceSelector`Bidang yang mewakili opsi CLI juga akan ditambahkan ke ClusterConfig file untuk tujuan visibilitas dan dokumentasi. Kapan `--dry-run` dihilangkan, bidang ini akan diabaikan dan bidang akan digunakan, jika tidak, perubahan apa pun akan diganti oleh `instanceTypes` eksctl. `instanceTypes`

Saat ClusterConfig file diteruskan`--dry-run`, eksctl akan menampilkan ClusterConfig file yang berisi kumpulan nodegroup yang sama setelah memperluas kriteria sumber daya pemilih instance setiap nodegroup.

```
# instance-selector-cluster.yaml
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: cluster
  region: us-west-2

nodeGroups:
- name: ng
  instanceSelector:
    vCPUs: 2
    memory: 4 # 4 GiB, unit defaults to GiB

managedNodeGroups:
- name: mng
  instanceSelector:
    vCPUs: 2
    memory: 2GiB #
    cpuArchitecture: x86_64 # default value
```

```
eksctl create cluster -f instance-selector-cluster.yaml --dry-run

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
# ...
managedNodeGroups:
- amiFamily: AmazonLinux2
  # ...
  instanceSelector:
    cpuArchitecture: x86_64
    memory: 2GiB
    vCPUs: 2
  instanceTypes:
  - t3.small
  - t3a.small
nodeGroups:
- amiFamily: AmazonLinux2
  # ...
  instanceSelector:
    memory: "4"
    vCPUs: 2
  instanceType: mixed
  instancesDistribution:
    capacityRebalance: false
    instanceTypes:
    - c5.large
    - c5a.large
    - c5ad.large
    - c5d.large
    - t2.medium
    - t3.medium
    - t3a.medium
# ...
```