Bagikan melalui


Menyebarkan Pengontrol Jaringan menggunakan Windows PowerShell

Topik ini menyediakan instruksi tentang menggunakan Windows PowerShell untuk menyebarkan Pengontrol Jaringan pada satu atau beberapa komputer virtual (VM) yang menjalankan Windows Server 2019 atau 2016.

Penting

Jangan menyebarkan peran server Pengontrol Jaringan pada host fisik. Untuk menyebarkan Pengontrol Jaringan, Anda harus menginstal peran server Pengontrol Jaringan pada komputer virtual Hyper-V (VM) yang diinstal pada host Hyper-V. Setelah Anda menginstal Pengontrol Jaringan pada VM pada tiga host Hyper-V yang berbeda, Anda harus mengaktifkan host Hyper-V untuk Software Defined Networking (SDN) dengan menambahkan host ke Network Controller menggunakan perintah Windows PowerShell New-NetworkControllerServer. Dengan demikian, Anda memungkinkan Load Balancer Perangkat Lunak SDN berfungsi. Untuk informasi selengkapnya, lihat New-NetworkControllerServer.

Topik ini berisi bagian berikut.

Menginstal peran server Pengontrol Jaringan

Anda dapat menggunakan prosedur ini untuk menginstal peran server Network Controller pada komputer virtual (VM).

Penting

Jangan menyebarkan peran server Pengontrol Jaringan pada host fisik. Untuk menyebarkan Pengontrol Jaringan, Anda harus menginstal peran server Pengontrol Jaringan pada komputer virtual Hyper-V (VM) yang diinstal pada host Hyper-V. Setelah Anda menginstal Network Controller pada VM pada tiga host Hyper-V yang berbeda, Anda harus mengaktifkan host Hyper-V untuk Software Defined Networking (SDN) dengan menambahkan host ke Network Controller. Dengan demikian, Anda memungkinkan Load Balancer Perangkat Lunak SDN berfungsi.

Keanggotaan di Administrator, atau yang setara, adalah minimum yang diperlukan untuk melakukan prosedur ini.

Catatan

Jika Anda ingin menggunakan Manajer Server alih-alih Windows PowerShell untuk menginstal Pengontrol Jaringan, lihat Menginstal peran server Pengontrol Jaringan menggunakan Manajer Server

Untuk menginstal Pengontrol Jaringan dengan menggunakan Windows PowerShell, ketik perintah berikut pada perintah Windows PowerShell, lalu tekan ENTER.

Install-WindowsFeature -Name NetworkController -IncludeManagementTools

Penginstalan Pengontrol Jaringan mengharuskan Anda memulai ulang komputer. Untuk melakukannya, ketik perintah berikut, lalu tekan ENTER.

Restart-Computer

Mengonfigurasi kluster Pengontrol Jaringan

Kluster Pengontrol Jaringan menyediakan ketersediaan dan skalabilitas tinggi ke aplikasi Network Controller, yang dapat Anda konfigurasi setelah membuat kluster, dan yang dihosting di atas kluster.

Catatan

Anda dapat melakukan prosedur di bagian berikut baik secara langsung pada VM tempat Anda menginstal Pengontrol Jaringan, atau Anda bisa menggunakan Alat Administrasi Server Jarak Jauh untuk Windows Server 2016 untuk melakukan prosedur dari komputer jarak jauh yang menjalankan Windows Server 2016 atau Windows 10. Selain itu, keanggotaan di Administrator, atau yang setara, adalah minimum yang diperlukan untuk melakukan prosedur ini. Jika komputer atau VM tempat Anda menginstal Pengontrol Jaringan bergabung ke domain, akun pengguna Anda harus menjadi anggota Pengguna Domain.

Anda dapat membuat kluster Network Controller dengan membuat objek node lalu mengonfigurasi kluster.

Membuat objek simpul

Anda perlu membuat objek simpul untuk setiap VM yang merupakan anggota kluster Pengontrol Jaringan.

Untuk membuat objek simpul, ketik perintah berikut ini di prompt perintah Windows PowerShell, lalu tekan ENTER. Pastikan Anda menambahkan nilai untuk setiap parameter yang sesuai untuk penyebaran Anda.

New-NetworkControllerNodeObject -Name <string> -Server <String> -FaultDomain <string>-RestInterface <string> [-NodeCertificate <X509Certificate2>]

Tabel berikut ini menyediakan deskripsi untuk setiap parameter perintah New-NetworkControllerNodeObject .

Parameter Deskripsi
Nama Parameter Nama menentukan nama server yang mudah diingat yang ingin Anda tambahkan ke kluster
Server Parameter Server menentukan nama host, Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN), atau alamat IP server yang ingin Anda tambahkan ke kluster. Untuk komputer yang bergabung dengan domain, FQDN diperlukan.
FaultDomain Parameter FaultDomain menentukan domain kegagalan untuk server yang Anda tambahkan ke kluster. Parameter ini menentukan server yang mungkin mengalami kegagalan pada saat yang sama dengan server yang Anda tambahkan ke kluster. Kegagalan ini mungkin disebabkan oleh dependensi fisik bersama seperti sumber daya dan jaringan. Domain kesalahan biasanya mewakili hierarki yang terkait dengan dependensi bersama ini, dengan lebih banyak server kemungkinan gagal bersama-sama dari titik yang lebih tinggi di pohon domain kesalahan. Selama runtime, Pengontrol Jaringan mempertimbangkan domain kesalahan dalam kluster dan mencoba menyebarkan layanan Pengontrol Jaringan sehingga berada di domain kesalahan terpisah. Proses ini membantu memastikan, jika terjadi kegagalan satu domain kesalahan, bahwa ketersediaan layanan tersebut dan statusnya tidak disusupi. Domain kesalahan ditentukan dalam format hierarkis. Misalnya: "Fd:/DC1/Rack1/Host1", di mana DC1 adalah nama pusat data, Rack1 adalah nama rak dan Host1 adalah nama host tempat simpul ditempatkan.
RestInterface Parameter RestInterface menentukan nama antarmuka pada simpul tempat komunikasi Representational State Transfer (REST) dihentikan. Antarmuka Pengontrol Jaringan ini menerima permintaan API Northbound dari lapisan manajemen jaringan.
NodeCertificate Parameter NodeCertificate menentukan sertifikat yang digunakan Pengontrol Jaringan untuk autentikasi komputer. Sertifikat diperlukan jika Anda menggunakan autentikasi berbasis sertifikat untuk komunikasi dalam kluster; sertifikat juga digunakan untuk enkripsi lalu lintas antara layanan Pengontrol Jaringan. Nama subjek sertifikat harus sama dengan nama DNS simpul.

Mengonfigurasi kluster

Untuk mengonfigurasi kluster, ketik perintah berikut ini di prompt perintah Windows PowerShell, lalu tekan ENTER. Pastikan Anda menambahkan nilai untuk setiap parameter yang sesuai untuk penyebaran Anda.

Install-NetworkControllerCluster -Node <NetworkControllerNode[]> -ClusterAuthentication <ClusterAuthentication> [-ManagementSecurityGroup <string>][-DiagnosticLogLocation <string>][-LogLocationCredential <PSCredential>] [-CredentialEncryptionCertificate <X509Certificate2>][-Credential <PSCredential>][-CertificateThumbprint <String>] [-UseSSL][-ComputerName <string>][-LogSizeLimitInMBs<UInt32>] [-LogTimeLimitInDays<UInt32>]

Tabel berikut ini menyediakan deskripsi untuk setiap parameter perintah Install-NetworkControllerCluster .

Parameter Deskripsi
ClusterAuthentication Parameter ClusterAuthentication menentukan jenis autentikasi yang digunakan untuk mengamankan komunikasi antara simpul dan juga digunakan untuk enkripsi lalu lintas antara layanan Pengontrol Jaringan. Nilai yang didukung adalah Kerberos, X509 , dan None. Autentikasi Kerberos menggunakan akun domain dan hanya dapat digunakan jika simpul Pengontrol Jaringan bergabung dengan domain. Jika Anda menentukan autentikasi berbasis X509, Anda harus menyediakan sertifikat di objek NetworkControllerNode. Selain itu, Anda harus memprovisikan sertifikat secara manual sebelum menjalankan perintah ini.
ManagementSecurityGroup Parameter ManagementSecurityGroup menentukan nama grup keamanan yang berisi pengguna yang diizinkan untuk menjalankan cmdlet manajemen dari komputer jarak jauh. Ini hanya berlaku jika ClusterAuthentication adalah Kerberos. Anda harus menentukan grup keamanan domain dan bukan grup keamanan pada komputer lokal.
Simpul Parameter Node menentukan daftar simpul Pengontrol Jaringan yang Anda buat dengan menggunakan perintah New-NetworkControllerNodeObject .
DiagnosticLogLocation Parameter DiagnosticLogLocation menentukan lokasi berbagi tempat log diagnostik diunggah secara berkala. Jika Anda tidak menentukan nilai untuk parameter ini, log disimpan secara lokal pada setiap simpul. Log disimpan secara lokal di folder %systemdrive%\Windows\tracing\SDNDiagnostics. Log kluster disimpan secara lokal di folder %systemdrive%\ProgramData\Microsoft\Service Fabric\log\Traces.
LogLocationCredential Parameter LogLocationCredential menentukan kredensial yang diperlukan untuk mengakses lokasi berbagi tempat log disimpan.
CredentialEncryptionCertificate Parameter CredentialEncryptionCertificate menentukan sertifikat yang digunakan Pengontrol Jaringan untuk mengenkripsi kredensial yang digunakan untuk mengakses biner Pengontrol Jaringan dan LogLocationCredential, jika ditentukan. Sertifikat harus disediakan pada semua simpul Pengontrol Jaringan sebelum Anda menjalankan perintah ini, dan sertifikat yang sama harus didaftarkan pada semua node kluster. Menggunakan parameter ini untuk melindungi biner dan log Pengontrol Jaringan direkomendasikan di lingkungan produksi. Tanpa parameter ini, kredensial disimpan dalam teks yang jelas dan dapat disalahgunakan oleh pengguna yang tidak sah.
Kredensial Parameter ini diperlukan hanya jika Anda menjalankan perintah ini dari komputer jarak jauh. Parameter Kredensial menentukan akun pengguna yang memiliki izin untuk menjalankan perintah ini pada komputer target.
CertificateThumbprint Parameter ini diperlukan hanya jika Anda menjalankan perintah ini dari komputer jarak jauh. Parameter CertificateThumbprint menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk menjalankan perintah ini pada komputer target.
UseSSL Parameter ini diperlukan hanya jika Anda menjalankan perintah ini dari komputer jarak jauh. Parameter UseSSL menentukan protokol Secure Sockets Layer (SSL) yang digunakan untuk membuat koneksi ke komputer jarak jauh. Secara default, SSL tidak digunakan.
ComputerName Parameter ComputerName menentukan simpul Pengontrol Jaringan tempat perintah ini dijalankan. Jika Anda tidak menentukan nilai untuk parameter ini, komputer lokal digunakan secara default.
LogSizeLimitInMB Parameter ini menentukan ukuran log maksimum, dalam MB, yang dapat disimpan Oleh Pengontrol Jaringan. Log disimpan dengan cara melingkar. Jika DiagnosticLogLocation disediakan, nilai default parameter ini adalah 40 GB. Jika DiagnosticLogLocation tidak disediakan, log disimpan pada node Network Controller dan nilai default parameter ini adalah 15 GB.
LogTimeLimitInDays Parameter ini menentukan batas durasi, dalam hari, tempat log disimpan. Log disimpan dengan cara melingkar. Nilai default parameter ini adalah 3 hari.

Mengonfigurasi aplikasi Network Controller

Untuk mengonfigurasi aplikasi Network Controller, ketik perintah berikut ini di prompt perintah Windows PowerShell, lalu tekan ENTER. Pastikan Anda menambahkan nilai untuk setiap parameter yang sesuai untuk penyebaran Anda.

Install-NetworkController -Node <NetworkControllerNode[]> -ClientAuthentication <ClientAuthentication>  [-ClientCertificateThumbprint <string[]>]  [-ClientSecurityGroup <string>] -ServerCertificate <X509Certificate2> [-RESTIPAddress <String>] [-RESTName <String>] [-Credential <PSCredential>][-CertificateThumbprint <String> ] [-UseSSL]

Tabel berikut ini menyediakan deskripsi untuk setiap parameter perintah Install-NetworkController .

Parameter Deskripsi
ClientAuthentication Parameter ClientAuthentication menentukan jenis autentikasi yang digunakan untuk mengamankan komunikasi antara REST dan Network Controller. Nilai yang didukung adalah Kerberos, X509 , dan None. Autentikasi Kerberos menggunakan akun domain dan hanya dapat digunakan jika simpul Pengontrol Jaringan bergabung dengan domain. Jika Anda menentukan autentikasi berbasis X509, Anda harus menyediakan sertifikat di objek NetworkControllerNode. Selain itu, Anda harus memprovisikan sertifikat secara manual sebelum menjalankan perintah ini.
Simpul Parameter Node menentukan daftar simpul Pengontrol Jaringan yang Anda buat dengan menggunakan perintah New-NetworkControllerNodeObject .
ClientCertificateThumbprint Parameter ini hanya diperlukan saat Anda menggunakan autentikasi berbasis sertifikat untuk klien Network Controller. Parameter ClientCertificateThumbprint menentukan thumbprint sertifikat yang didaftarkan ke klien pada lapisan Northbound.
ServerCertificate Parameter ServerCertificate menentukan sertifikat yang digunakan Pengontrol Jaringan untuk membuktikan identitasnya kepada klien. Sertifikat server harus menyertakan tujuan Autentikasi Server dalam ekstensi Penggunaan Kunci yang Ditingkatkan, dan harus dikeluarkan untuk Pengontrol Jaringan oleh CA yang dipercaya oleh klien.
RESTIPAddress Anda tidak perlu menentukan nilai untuk RESTIPAddress dengan penyebaran simpul tunggal Pengontrol Jaringan. Untuk penyebaran beberapa node, parameter RESTIPAddress menentukan alamat IP titik akhir REST dalam notasi CIDR. Misalnya, 192.168.1.10/24. Nilai Nama Subjek ServerCertificate harus diselesaikan ke nilai parameter RESTIPAddress . Parameter ini harus ditentukan untuk semua penyebaran Pengontrol Jaringan multi-simpul ketika semua simpul berada di subnet yang sama. Jika simpul berada di subnet yang berbeda, Anda harus menggunakan parameter RestName alih-alih menggunakan RESTIPAddress.
RestName Anda tidak perlu menentukan nilai untuk RestName dengan penyebaran simpul tunggal Pengontrol Jaringan. Satu-satunya waktu Anda harus menentukan nilai untuk RestName adalah ketika penyebaran multi-simpul memiliki simpul yang ada di subnet yang berbeda. Untuk penyebaran multi-simpul, parameter RestName menentukan FQDN untuk kluster Pengontrol Jaringan.
ClientSecurityGroup Parameter ClientSecurityGroup menentukan nama grup keamanan Direktori Aktif yang anggotanya adalah klien Pengontrol Jaringan. Parameter ini diperlukan hanya jika Anda menggunakan autentikasi Kerberos untuk ClientAuthentication. Grup keamanan harus berisi akun tempat REST API diakses, dan Anda harus membuat grup keamanan dan menambahkan anggota sebelum menjalankan perintah ini.
Kredensial Parameter ini diperlukan hanya jika Anda menjalankan perintah ini dari komputer jarak jauh. Parameter Kredensial menentukan akun pengguna yang memiliki izin untuk menjalankan perintah ini pada komputer target.
CertificateThumbprint Parameter ini diperlukan hanya jika Anda menjalankan perintah ini dari komputer jarak jauh. Parameter CertificateThumbprint menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk menjalankan perintah ini pada komputer target.
UseSSL Parameter ini diperlukan hanya jika Anda menjalankan perintah ini dari komputer jarak jauh. Parameter UseSSL menentukan protokol Secure Sockets Layer (SSL) yang digunakan untuk membuat koneksi ke komputer jarak jauh. Secara default, SSL tidak digunakan.

Setelah Anda menyelesaikan konfigurasi aplikasi Network Controller, penyebaran Pengontrol Jaringan Anda selesai.

Validasi penyebaran Pengontrol Jaringan

Untuk memvalidasi penyebaran Pengontrol Jaringan, Anda dapat menambahkan kredensial ke Pengontrol Jaringan lalu mengambil kredensial.

Jika Anda menggunakan Kerberos sebagai mekanisme ClientAuthentication, keanggotaan di ClientSecurityGroup yang Anda buat adalah minimum yang diperlukan untuk melakukan prosedur ini.

Prosedur:

  1. Di komputer klien, jika Anda menggunakan Kerberos sebagai mekanisme ClientAuthentication, masuk dengan akun pengguna yang merupakan anggota ClientSecurityGroup Anda.

  2. Buka Windows PowerShell, ketik perintah berikut untuk menambahkan kredensial ke Pengontrol Jaringan, lalu tekan ENTER. Pastikan Anda menambahkan nilai untuk setiap parameter yang sesuai untuk penyebaran Anda.

    $cred=New-Object Microsoft.Windows.Networkcontroller.credentialproperties
    $cred.type="usernamepassword"
    $cred.username="admin"
    $cred.value="abcd"
    
    New-NetworkControllerCredential -ConnectionUri https://networkcontroller -Properties $cred -ResourceId cred1
    
  3. Untuk mengambil kredensial yang Anda tambahkan ke Pengontrol Jaringan, ketik perintah berikut, lalu tekan ENTER. Pastikan Anda menambahkan nilai untuk setiap parameter yang sesuai untuk penyebaran Anda.

    Get-NetworkControllerCredential -ConnectionUri https://networkcontroller -ResourceId cred1
    
  4. Tinjau output perintah, yang harus mirip dengan contoh output berikut.

    Tags                   :
    ResourceRef     : /credentials/cred1
    CreatedTime    : 1/1/0001 12:00:00 AM
    InstanceId        : e16ffe62-a701-4d31-915e-7234d4bc5a18
    Etag                  : W/"1ec59631-607f-4d3e-ac78-94b0822f3a9d"
    ResourceMetadata :
    ResourceId       : cred1
    Properties       : Microsoft.Windows.NetworkController.CredentialProperties
    

    Catatan

    Saat menjalankan perintah Get-NetworkControllerCredential , Anda dapat menetapkan output perintah ke variabel dengan menggunakan operator titik untuk mencantumkan properti info masuk. Misalnya, $cred. Properti.

Perintah Windows PowerShell tambahan untuk Pengontrol Jaringan

Setelah menyebarkan Pengontrol Jaringan, Anda dapat menggunakan perintah Windows PowerShell untuk mengelola dan mengubah penyebaran Anda. Berikut ini adalah beberapa perubahan yang dapat Anda lakukan pada penyebaran Anda.

  • Mengubah pengaturan simpul, kluster, dan aplikasi Pengontrol Jaringan

  • Menghapus kluster dan aplikasi Pengontrol Jaringan

  • Kelola node kluster Pengontrol Jaringan, termasuk menambahkan, menghapus, mengaktifkan, dan menonaktifkan simpul.

Tabel berikut ini menyediakan sintaks untuk perintah Windows PowerShell yang bisa Anda gunakan untuk menyelesaikan tugas-tugas ini.

Tugas Perintah Sintaks
Mengubah pengaturan kluster Pengontrol Jaringan Set-NetworkControllerCluster Set-NetworkControllerCluster [-ManagementSecurityGroup <string>][-Credential <PSCredential>] [-computerName <string>][-CertificateThumbprint <String> ] [-UseSSL]
Mengubah pengaturan aplikasi Pengontrol Jaringan Set-NetworkController Set-NetworkController [-ClientAuthentication <ClientAuthentication>] [-Credential <PSCredential>] [-ClientCertificateThumbprint <string[]>] [-ClientSecurityGroup <string>] [-ServerCertificate <X509Certificate2>] [-RestIPAddress <String>] [-ComputerName <String>][-CertificateThumbprint <String> ] [-UseSSL]
Ubah pengaturan simpul Pengontrol Jaringan Set-NetworkControllerNode Set-NetworkControllerNode -Name <string> > [-RestInterface <string>] [-NodeCertificate <X509Certificate2>] [-Credential <PSCredential>] [-ComputerName <string>][-CertificateThumbprint <String> ] [-UseSSL]
Mengubah pengaturan diagnostik Pengontrol Jaringan Set-NetworkControllerDiagnostic Set-NetworkControllerDiagnostic [-LogScope <string>] [-DiagnosticLogLocation <string>] [-LogLocationCredential <PSCredential>] [-UseLocalLogLocation] >] [-LogLevel <loglevel>][-LogSizeLimitInMBs <uint32>] [-LogTimeLimitInDays <uint32>] [-Credential <PSCredential>] [-ComputerName <string>][-CertificateThumbprint <String> ] [-UseSSL]
Menghapus aplikasi Network Controller Hapus instalan-NetworkController Uninstall-NetworkController [-Credential <PSCredential>][-ComputerName <string>] [-CertificateThumbprint <String> ] [-UseSSL]
Menghapus kluster Pengontrol Jaringan Hapus instalan-NetworkControllerCluster Uninstall-NetworkControllerCluster [-Credential <PSCredential>][-ComputerName <string>][-CertificateThumbprint <String> ] [-UseSSL]
Menambahkan simpul ke kluster Pengontrol Jaringan Add-NetworkControllerNode Add-NetworkControllerNode -FaultDomain <String> -Name <String> -RestInterface <String> -Server <String> [-CertificateThumbprint <String> ] [-ComputerName <String> ] [-Credential <PSCredential> ] [-Force] [-NodeCertificate <X509Certificate2> ] [-PassThru] [-UseSsl]
Menonaktifkan node kluster Pengontrol Jaringan Disable-NetworkControllerNode Disable-NetworkControllerNode -Name <String> [-CertificateThumbprint <String> ] [-ComputerName <String> ] [-Credential <PSCredential> ] [-PassThru] [-UseSsl]
Mengaktifkan node kluster Pengontrol Jaringan Enable-NetworkControllerNode Enable-NetworkControllerNode -Name <String> [-CertificateThumbprint <String> ] [-ComputerName <String> ] [-Credential <PSCredential> ] [-PassThru] [-UseSsl]
Menghapus simpul Pengontrol Jaringan dari kluster Remove-NetworkControllerNode Remove-NetworkControllerNode [-CertificateThumbprint <String> ] [-ComputerName <String> ] [-Credential <PSCredential> ] [-Force] [-Name <String> ] [-PassThru] [-UseSsl]

Catatan

Perintah Windows PowerShell untuk Pengontrol Jaringan ada di Pustaka TechNet di Cmdlet Pengontrol Jaringan.

Contoh skrip konfigurasi Pengontrol Jaringan

Contoh skrip konfigurasi berikut menunjukkan cara membuat kluster Network Controller multi-simpul dan menginstal aplikasi Network Controller. Selain itu, variabel $cert memilih sertifikat dari penyimpanan sertifikat komputer lokal yang cocok dengan string nama subjek "networkController.contoso.com".

$a = New-NetworkControllerNodeObject -Name Node1 -Server NCNode1.contoso.com -FaultDomain fd:/rack1/host1 -RestInterface Internal
$b = New-NetworkControllerNodeObject -Name Node2 -Server NCNode2.contoso.com -FaultDomain fd:/rack1/host2 -RestInterface Internal
$c = New-NetworkControllerNodeObject -Name Node3 -Server NCNode3.contoso.com -FaultDomain fd:/rack1/host3 -RestInterface Internal

$cert= get-item Cert:\LocalMachine\My | get-ChildItem | where {$_.Subject -imatch "networkController.contoso.com" }

Install-NetworkControllerCluster -Node @($a,$b,$c)  -ClusterAuthentication Kerberos -DiagnosticLogLocation \\share\Diagnostics - ManagementSecurityGroup Contoso\NCManagementAdmins -CredentialEncryptionCertificate $cert
Install-NetworkController -Node @($a,$b,$c) -ClientAuthentication Kerberos -ClientSecurityGroup Contoso\NCRESTClients -ServerCertificate $cert -RestIpAddress 10.0.0.1/24

Langkah-langkah pasca-penyebaran untuk penyebaran non-Kerberos

Jika Anda tidak menggunakan Kerberos dengan penyebaran Pengontrol Jaringan, Anda harus menyebarkan sertifikat.

Untuk informasi selengkapnya, lihat Langkah-Langkah Pasca-Penyebaran untuk Pengontrol Jaringan.