Sesuaikan pengaturan add-on Amazon EKS dengan manajemen bidang - Amazon EKS

Bantu tingkatkan halaman ini

Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.

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

Sesuaikan pengaturan add-on Amazon EKS dengan manajemen bidang

Add-on Amazon EKS diinstal ke klaster Anda menggunakan konfigurasi standar dan praktik terbaik. Untuk informasi selengkapnya tentang menambahkan add-on Amazon EKS ke klaster Anda, lihatGunakan AWSAPIs untuk menginstal/memperbarui komponen cluster dengan add-on EKS.

Anda mungkin ingin menyesuaikan konfigurasi add-on Amazon EKS untuk mengaktifkan fitur-fitur lanjutan. Amazon EKS menggunakan fitur penerapan Kubernetes sisi server untuk mengaktifkan pengelolaan add-on oleh Amazon EKS tanpa menimpa konfigurasi Anda untuk pengaturan yang tidak dikelola oleh Amazon EKS. Untuk informasi selengkapnya, lihat Terapkan Sisi Server dalam dokumentasi. Kubernetes Untuk mencapai hal ini, Amazon EKS mengelola seperangkat bidang minimum untuk setiap add-on yang diinstalnya. Anda dapat mengubah semua bidang yang tidak dikelola oleh Amazon EKS, atau proses bidang Kubernetes kontrol lainnya sepertikube-controller-manager, tanpa masalah.

penting

Memodifikasi bidang yang dikelola oleh Amazon EKS mencegah Amazon EKS mengelola add-on dan dapat mengakibatkan perubahan Anda ditimpa saat add-on diperbarui.

Lihat status manajemen bidang

Anda dapat menggunakan kubectl untuk melihat bidang mana yang dikelola oleh Amazon EKS untuk add-on Amazon EKS apa pun.

Untuk melihat status manajemen bidang
  1. Tentukan add-on mana yang ingin Anda periksa. Untuk melihat semua deployments dan DaemonSets diterapkan ke cluster Anda, lihatLihat Kubernetes sumber daya.

  2. Melihat bidang terkelola untuk add-on dengan menjalankan perintah berikut:

    kubectl get type/add-on-name -n add-on-namespace -o yaml

    Misalnya, Anda dapat melihat bidang terkelola untuk CoreDNS add-on dengan perintah berikut.

    kubectl get deployment/coredns -n kube-system -o yaml

    Manajemen lapangan tercantum di bagian berikut dalam output yang dikembalikan.

    [...]
    managedFields:
      - apiVersion: apps/v1
        fieldsType: FieldsV1
        fieldsV1:                        
    [...]               
    catatan

    Jika Anda tidak melihat managedFields di output, tambahkan --show-managed-fields ke perintah dan jalankan lagi. Versi kubectl yang Anda gunakan menentukan apakah bidang terkelola dikembalikan secara default.

Memahami sintaks manajemen bidang di API Kubernetes

Saat Anda melihat detail untuk Kubernetes objek, bidang terkelola dan tidak terkelola dikembalikan dalam output. Bidang terkelola dapat berupa salah satu dari jenis berikut:

  • Dikelola sepenuhnya - Semua kunci untuk bidang dikelola oleh Amazon EKS. Modifikasi nilai apa pun menyebabkan konflik.

  • Dikelola sebagian - Beberapa kunci untuk bidang dikelola oleh Amazon EKS. Hanya modifikasi pada kunci yang dikelola secara eksplisit oleh Amazon EKS yang menyebabkan konflik.

Kedua jenis bidang ditandai denganmanager: eks.

Setiap kunci adalah . mewakili bidang itu sendiri, yang selalu memetakan ke set kosong, atau string yang mewakili sub-bidang atau item. Output untuk manajemen lapangan terdiri dari jenis deklarasi berikut:

  • f:name, name di mana nama bidang dalam daftar.

  • k:keys, di mana keys adalah peta bidang item daftar.

  • v:value, di value mana nilai format JSON yang tepat dari item daftar.

  • i:index, di index mana posisi item dalam daftar.

Bagian output berikut untuk CoreDNS add-on menggambarkan deklarasi sebelumnya:

  • Bidang yang dikelola sepenuhnya - Jika bidang terkelola memiliki f: (bidang) yang ditentukan, tetapi tidak ada k: (kunci), maka seluruh bidang dikelola. Modifikasi pada nilai apa pun di bidang ini menyebabkan konflik.

    Pada output berikut, Anda dapat melihat bahwa wadah bernama coredns dikelola oleheks. Sub-bidang argsimage, dan imagePullPolicy sub-bidang juga dikelola oleheks. Modifikasi pada nilai apa pun di bidang ini menyebabkan konflik.

    [...]
    f:containers:
      k:{"name":"coredns"}:
      .: {}
      f:args: {}
      f:image: {}
      f:imagePullPolicy: {}
    [...]
    manager: eks
    [...]
  • Bidang yang dikelola sebagian — Jika kunci terkelola memiliki nilai yang ditentukan, kunci yang dideklarasikan dikelola untuk bidang tersebut. Memodifikasi kunci yang ditentukan menyebabkan konflik.

    Dalam output berikut, Anda dapat melihat bahwa eks mengelola config-volume dan tmp volume yang diatur dengan name kunci.

    [...]
    f:volumes:
      k:{"name":"config-volume"}:
        .: {}
        f:configMap:
          f:items: {}
          f:name: {}
        f:name: {}
      k:{"name":"tmp"}:
        .: {}
        f:name: {}
    [...]
    manager: eks
    [...]
  • Menambahkan kunci ke bidang yang dikelola sebagian — Jika hanya nilai kunci tertentu yang dikelola, Anda dapat menambahkan kunci tambahan dengan aman, seperti argumen, ke bidang tanpa menyebabkan konflik. Jika Anda menambahkan kunci tambahan, pastikan bidang tersebut tidak dikelola terlebih dahulu. Menambahkan atau memodifikasi nilai apa pun yang dikelola menyebabkan konflik.

    Pada output berikut, Anda dapat melihat bahwa name kunci dan name bidang dikelola. Menambahkan atau memodifikasi nama kontainer apa pun menyebabkan konflik dengan kunci terkelola ini.

    [...]
    f:containers:
      k:{"name":"coredns"}:
    [...]
        f:name: {}
    [...]
    manager: eks
    [...]