Bagikan melalui


Membawa Network Security Group (NSG) Anda sendiri ke kluster Azure Red Hat OpenShift (ARO)

Biasanya, saat menyiapkan kluster ARO, Anda harus menunjuk grup sumber daya untuk menyebarkan objek kluster ARO (disebut sebagai Grup Sumber Daya Dasar dalam diagram berikut). Dalam skenario seperti itu, Anda dapat menggunakan grup sumber daya yang sama untuk jaringan virtual (VNET) dan kluster, atau Anda dapat memilih grup sumber daya terpisah hanya untuk VNET. Tidak satu pun dari grup sumber daya ini secara langsung sesuai dengan satu kluster ARO, memberi Anda kontrol penuh atas mereka. Ini berarti Anda dapat dengan bebas membuat, memodifikasi, atau menghapus sumber daya dalam grup sumber daya ini.

Selama proses pembuatan kluster, Penyedia Sumber Daya ARO (RP) menetapkan grup sumber daya khusus khusus untuk kebutuhan kluster. Grup ini menampung berbagai sumber daya khusus kluster seperti VM node, load balancer, dan Network Security Groups (NSG), seperti yang digambarkan oleh Grup Sumber Daya Terkelola dalam diagram berikut. Grup Sumber Daya Terkelola diamankan dengan ketat, melarang modifikasi apa pun pada kontennya, termasuk NSG yang ditautkan ke subnet VNET yang ditentukan selama pembuatan kluster. Dalam beberapa situasi, NSG yang dihasilkan oleh ARO RP mungkin tidak mematuhi kebijakan keamanan organisasi tertentu.

Diagram memperlihatkan gambaran umum tentang cara kerja grup keamanan jaringan dalam kluster ARO biasa.

Artikel ini menunjukkan cara menggunakan fitur "bring your own" Network Security Group (NSG) untuk melampirkan NSG Anda sendiri yang telah dikonfigurasi sebelumnya yang berada di grup sumber daya Base/VNET (RG) (ditunjukkan dalam diagram berikut sebagai BYO-NSG) ke subnet kluster ARO. Karena Anda memiliki NSG yang telah dikonfigurasi sebelumnya ini, Anda dapat menambahkan/menghapus aturan selama masa pakai kluster ARO.

Diagram memperlihatkan gambaran umum tentang cara membuat grup keamanan jaringan Anda sendiri berfungsi di Azure Red Hat OpenShift.

Kemampuan dan batasan umum

  • Anda perlu melampirkan NSG yang telah dikonfigurasi sebelumnya ke subnet master dan worker sebelum membuat kluster. Kegagalan untuk melampirkan NSG yang telah dikonfigurasi sebelumnya ke kedua subnet menghasilkan kesalahan.

  • Anda dapat memilih untuk menggunakan NSG yang sama atau berbeda yang telah dikonfigurasi sebelumnya untuk subnet master dan pekerja.

  • Saat menggunakan NSG milik Anda sendiri, ARO RP tetap membuat sebuah NSG di dalam Grup Sumber Daya Terkelola (NSG default), tetapi NSG tersebut tidak terpasang pada subnet pekerja atau master.

  • Anda tidak dapat mengaktifkan fitur NSG yang telah dikonfigurasi sebelumnya pada kluster ARO yang ada. Saat ini, fitur ini hanya dapat diaktifkan pada saat pembuatan kluster.

  • Opsi NSG yang telah dikonfigurasi sebelumnya tidak dapat dikonfigurasi dari portal Microsoft Azure.

  • Jika Anda menggunakan fitur ini selama pratinjau, kluster yang telah dikonfigurasi sebelumnya sekarang didukung sepenuhnya.

Nota

Jika Anda menggunakan fitur NSG "bawa sendiri" dan ingin menggunakan log alur NSG, silakan lihat Pengelogan alur untuk grup keamanan jaringan dalam dokumentasi Azure Network Watcher, daripada dokumentasi log alur khusus ARO (yang tidak akan berfungsi dengan fitur NSG bawa sendiri).

Menggunakan aturan

Peringatan

NSG yang telah dikonfigurasi sebelumnya tidak diperbarui secara otomatis dengan aturan saat Anda membuat layanan jenis Kubernetes LoadBalancer atau rute OpenShift dalam kluster ARO. Oleh karena itu, Anda harus memperbarui aturan ini secara manual, sesuai kebutuhan. Perilaku ini berbeda dari perilaku ARO asli di mana NSG default diperbarui secara terprogram dalam situasi seperti itu.

  • NSG kluster ARO default (tidak dilampirkan ke subnet apa pun saat menggunakan fitur ini) masih akan diperbarui dengan aturan saat Anda membuat layanan jenis Kubernetes LoadBalancer atau rute OpenShift dalam kluster ARO.

  • Anda dapat melepaskan NSG yang telah dikonfigurasi sebelumnya dari subnet kluster yang dibuat menggunakan fitur ini. Ini menghasilkan kluster dengan subnet tanpa NSG. Anda kemudian dapat melampirkan serangkaian NSG yang telah dikonfigurasi sebelumnya ke kluster. Atau, Anda dapat melampirkan NSG default ARO ke subnet kluster (di mana kluster Anda menjadi seperti kluster lain yang tidak menggunakan fitur ini).

  • NSG yang telah dikonfigurasi sebelumnya tidak boleh memiliki aturan TOLAK MASUK/KELUAR dari jenis berikut, karena ini dapat mengganggu pengoperasian kluster dan/atau menghambat tim dukungan/SRE ARO untuk memberikan dukungan/manajemen. (Di sini, subnet menunjukkan salah satu atau semua alamat IP di subnet dan semua port yang sesuai dengan subnet tersebut):

    • Master Subnet ←→ Master Subnet

    • Subnet Pekerja ←→ Subnet Pekerja

    • Subnet Master ←→ Subnet Pekerja

    • Aturan yang dikonfigurasi salah menyebabkan munculnya sinyal yang digunakan oleh Azure Monitor untuk membantu mendiagnosis NSG yang sudah dikonfigurasi sebelumnya.

  • Untuk mengizinkan lalu lintas masuk ke kluster publik ARO Anda, atur aturan INBOUND ALLOW berikut (atau setara) di NSG Anda. Rujuk NSG default dari kluster untuk detail spesifik dan contoh NSG yang ditunjukkan dalam Penyebaran. Anda dapat membuat kluster bahkan tanpa aturan seperti itu di NSG.

    • Untuk akses server API → Dari Internet (atau IP sumber pilihan Anda) ke port 6443 pada subnet master.
    • Untuk akses ke router OpenShift (dan karenanya ke konsol OpenShift dan rute OpenShift) → Dari Internet (atau IP sumber pilihan Anda) ke port 80 dan 443 pada IP publik default-v4 pada Load-balancer publik kluster.
    • Untuk akses ke layanan Kubernetes jenis Load-balancer apa pun → Dari Internet (atau IP sumber pilihan Anda) ke port layanan pada IP publik yang sesuai dengan layanan pada Load-balancer publik kluster.

Penyebaran

Membuat VNET dan membuat dan mengonfigurasi NSG yang telah dikonfigurasi sebelumnya

  1. Buat VNET, lalu buat subnet master dan pekerja di dalamnya.

  2. Buat NSG yang telah dikonfigurasi sebelumnya dengan aturan default (atau tidak ada aturan sama sekali) dan lampirkan ke subnet master dan pekerja.

Membuat kluster ARO dan memperbarui NSG yang telah dikonfigurasi sebelumnya

  1. Buat kluster.

    az aro create \
    --resource-group BASE_RESOURCE_GROUP_NAME \
    --name CLUSTER_NAME \
    --vnet VNET_NAME \
    --master-subnet MASTER_SUBNET_NAME \
    --worker-subnet WORKER_SUBNET_NAME \
    --client-id CLUSTER_SERVICE_PRINCIPAL_ID \
    --client-secret CLUSTER_SERVICE_PRINCIPAL_SECRET \
    --enable-preconfigured-nsg
    
  2. Perbarui NSG yang telah dikonfigurasi sebelumnya dengan aturan sesuai kebutuhan Anda sambil juga mempertimbangkan poin yang disebutkan dalam Kemampuan dan batasan.

    Contoh berikut memiliki Load-balancer Publik Kluster seperti yang ditunjukkan pada output cuplikan layar/CLI:

    Cuplikan layar load balancer publik kluster seperti yang ditunjukkan oleh output dari perintah tersebut.

    $ oc get svc | grep tools
    tools LoadBalancer 172.30.182.7 20.141.176.3 80:30520/TCP 143m
    $ $ oc get svc -n openshift-ingress | grep Load
    router-default LoadBalancer 172.30.105.218 20.159.139.208 80:31157/TCP,443:31177/TCP 
    5d20
    

    Cuplikan layar memperlihatkan aturan keamanan masuk dan keluar.