GNU/Linux >> Belajar Linux >  >> Linux

Cara membuat sertifikat TLS/SSL dengan Operator Cert-Manager di OpenShift

pengelola sertifikat dibangun di atas Kubernetes, memperkenalkan otoritas sertifikat dan sertifikat sebagai tipe sumber daya kelas satu di Kubernetes API. Fitur ini memungkinkan untuk memberikan Sertifikat sebagai Layanan kepada developer yang bekerja dalam cluster Kubernetes Anda.

cert-manager adalah proyek sumber terbuka berdasarkan Lisensi Apache 2.0 disediakan oleh Jetstack . Sejak cert-manager adalah aplikasi open source, memiliki halaman GitHub sendiri.

Panduan ini akan menunjukkan kepada Anda bagaimana Anda dapat menginstal cert-manager di Red Hat OpenShift dengan Operator . Setelah itu, Anda akan mengeluarkan sertifikat yang ditandatangani sendiri melalui cert-manager . Anda juga dapat mengikuti tutorial ini dengan menonton video ini.

[ Anda mungkin juga menyukai: Membuat sertifikat CA tersedia untuk alat baris perintah Linux ]

LANGKAH 1:Baca dokumentasi cert-manager

Situs web proyek menyediakan banyak informasi tentang cert-manager , termasuk ikhtisar, arsitektur, dan panduan penggunaan.

Jika Anda menjelajahi dokumentasinya, Anda dapat menemukan dokumentasi mendetail yang mencakup konsep, penginstalan, konfigurasi, penggunaan, tutorial, FAQ, dan sebagainya. Di halaman selamat datang, Anda melihat diagram arsitektur tingkat tinggi cert-manager .

Dari repo GitHub, Anda juga menemukan dokumentasi tambahan atau berkontribusi pada proyek.

Anda dapat menginstal cert-manager baik untuk lingkungan Kubernetes vanilla atau OpenShift. Dalam tutorial ini, saya akan menginstal cert-manager di OpenShift.

Dokumentasi penginstalan OpenShift menyediakan dua opsi berbeda:File manifes reguler atau manajer sertifikat Operator tersedia di antarmuka konsol web OpenShift. Saya akan menginstal melalui Operator .

Sejak cert-manager bekerja oleh Penerbit . yang didukung bertindak sebagai otoritas penandatanganan untuk menetapkan sertifikat aplikasi, Anda harus memutuskan Penerbit menggunakan. Keputusan ini biasanya tergantung pada penyedia Layanan Nama Domain (DNS) Anda. Misalnya, jika Anda menggunakan Microsoft Azure untuk menghosting aplikasi Anda, Anda harus memilih ACME dan temukan petunjuk yang tepat untuk AzureDNS . Pilihan populer lainnya adalah Let's Encrypt . Namun, dalam kasus ini, Anda ingin memilih Penerbit yang paling sederhana . Jadi, saya akan menggunakan Penerbit yang Ditandatangani Sendiri .

Dokumentasi tentang Emiten ditunjukkan di bawah ini. Penerbit atau ClusterIssuer adalah Definisi Sumber Daya Kustom (CRD) yang dapat diterapkan untuk mengonfigurasi jenis Penerbit . Yang membedakan jenis Emiten muncul setelah spec . Di bagian itu, tentukan selfSigned di bawah spesifikasi . Dalam contoh ini, saya akan menggunakan ClusterIssuer bukannya Penerbit karena saya ingin satu Penerbit untuk mengelola semua sertifikat ruang nama.

Setelah Penerbit dipilih dan dikonfigurasi, saya akan mengeluarkan sertifikat untuk aplikasi tertentu. Untuk langkah ini, buat Sertifikat sumber daya yang didefinisikan dalam file YAML.

LANGKAH 2:Jelajahi contoh file ClusterIssuer dan contoh file Sertifikat

Ada dua file sampel yang digunakan dalam tutorial ini. File sampel pertama mendefinisikan ClusterIssuer , yang menggunakan sertifikat yang ditandatangani sendiri untuk mengelola sertifikat untuk semua ruang nama. Di bawah spesifikasi , cukup tambahkan baris yang bertuliskan selfSigned:{} .

apiVersion: cert-manager.io/v1alpha3
kind: ClusterIssuer
metadata:
  name: selfsigned-issuer
spec:
  selfSigned: {}

Selanjutnya, lihat contoh Sertifikat definisi.

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: <certificate name>
spec:
  secretName: <secret name to store>
  duration: 2160h0m0s # 90d
  renewBefore: 360h0m0s # 15d
  organization:
  - "<your organization>"
  keySize: 2048
  keyAlgorithm: rsa
  keyEncoding: pkcs1
  usages:
    - server auth
    - client auth
  # At least one of a DNS Name, URI, or IP address is required.
  dnsNames:
  - '<hostname>.<cluster-url>'
  issuerRef:
    name: selfsigned-issuer
    kind: ClusterIssuer

 Sertifikat file sedikit lebih rumit, dan Anda perlu membuat beberapa perubahan. Perhatikan bahwa Sertifikat nilai ditetapkan per aplikasi yang memperlihatkan Rute , jadi Anda harus memiliki aplikasi yang memerlukan sertifikat TLS/SSL. Berikut beberapa perubahan yang perlu Anda lakukan:

  • Baris 4 - metadata.name:Anda perlu memberi nama untuk sertifikat ini.
  • Baris 6 - spec.secretName:Sertifikat kami akan disimpan dalam rahasia OpenShift, jadi Anda memerlukan nama untuk ini.
  • Baris 9 - spec.organization:Anda harus memberikan nama organisasi Anda.
  • Baris 19- spec.dnsNames:Mungkin salah satu pengaturan yang paling penting, ini harus cocok dengan Rute OpenShift untuk aplikasi Anda.

Anda juga dapat memodifikasi bidang lain sesuai keinginan Anda. Pastikan untuk merujuk ke dokumentasi resmi cert-manager untuk menyesuaikan setelan berdasarkan persyaratan dan penyiapan organisasi Anda.

LANGKAH 3:Instal cert-manager melalui Operator di OpenShift

Anda siap untuk menerapkan cert-manager . Berikut adalah konsol web OpenShift dan antarmuka grafis yang bagus dari konsol web untuk menginstal cert-manager dengan Operator . Untuk membuat perubahan ini, Anda harus memiliki cluster-admin hak istimewa.

Klik OperatorHub di bawah Operator . Jika Anda tidak melihat opsi tersebut, kemungkinan besar Anda bukan admin cluster . Saat OperatorHub muncul, cari cert-manager . Perhatikan bahwa ada beberapa pengelola sertifikat, tetapi pilih yang memiliki versi komunitas.

Jendela bergaya bilah ditampilkan. Baca beberapa petunjuk dasar dan klik Instal saat Anda siap.

Secara default, cert-manager . Anda akan dipasang di openshift-operator ruang nama. Sampai sekarang, itu adalah opsi default, dan antarmuka web tidak memungkinkan Anda mengubahnya. Biarkan semuanya apa adanya, dan klik Instal .

Ini akan memulai cert-manager Operator proses instalasi. Jika semuanya berjalan dengan baik, cert-manager . Anda Operator harus diinstal.

Setelah cert-manager Operator penginstalan, klik CertManager tab di bawah Operator cert-manager's .

Operator hanyalah pengelola siklus hidup untuk berbagai proses penginstalan dan pengelolaan untuk aplikasi Anda. Untuk benar-benar menginstal cert-manager , Anda perlu membuat CertManagers contoh. Tinjau konfigurasi, termasuk tampilan file YAML. Jika semuanya terlihat bagus, klik Buat tombol.

Langkah ini menginstal instance baru CertManager . Setelah semuanya terlihat baik, Anda akan melihat cert-manager baru ditampilkan di bawah CertManagers tab.

Pastikan untuk mengeklik Pods dan pantau perkembangannya untuk memastikan semuanya berjalan lancar. Anda akhirnya siap untuk langkah-langkah memasang ClusterIssuer dan kemudian untuk menghasilkan sertifikat.

LANGKAH 4:Buat ClusterIssuer yang dapat mengeluarkan sertifikat

Buka jendela terminal dan masuk ke cluster OpenShift. Ingat ClusterIssuer file yang Anda buat? Arahkan ke direktori tempat file berada, dan ketik perintah berikut.

oc apply -f <name of ClusterIssuer file>

Jika semuanya berjalan dengan baik, Anda akan melihat pesan yang mengatakan bahwa penerbit yang ditandatangani sendiri telah dibuat.

Anda dapat kembali ke Pod cert-manager Anda dan mengklik salah satunya untuk melihat bahwa penerbit yang ditandatangani sendiri sekarang telah terinstal.

Cara lain untuk memeriksa adalah dari jendela terminal dengan perintah berikut.

# First run this command to see our Issuers:
oc get clusterissuers

# Next, run this command to see the structure of the Issuer
oc get - yaml clusterissuers/<an Issuer name from above>

Anda akan melihat beberapa detail tercetak tentang Penerbit ini .

Anda telah selesai memasang Penerbit . Anda akhirnya dapat melanjutkan untuk membuat contoh sertifikat untuk sebuah aplikasi.

LANGKAH 5:Terbitkan sertifikat di namespace

Satu-satunya hal yang perlu Anda lakukan adalah menerapkan Sertifikat file untuk sebuah aplikasi. Pastikan Anda masuk ke cluster OpenShift Anda dan kemudian beralih ke proyek Anda. Saya akan membuat sertifikat untuk Quay , karena saya menggunakan namespace bernama quay-enterprise , tetapi ini bisa apa saja yang Anda inginkan untuk menyebutnya untuk aplikasi Anda. Setelah Anda berada dalam sebuah proyek, ketik perintah berikut:

oc apply -f <a Certificate definition file>

Anda akan melihat pesan bahwa sertifikat telah dibuat. Anda dapat memverifikasi bahwa sertifikat tersebut memang ada dengan perintah ini:

oc get certificate

Kembali ke konsol web OpenShift, klik proyek Anda, dan klik Rahasia di bawah Beban Kerja untuk menemukan sertifikat TLS/SSL baru yang dibuat untuk aplikasi Anda.

Menutup

Artikel ini membantu Anda memahami cara memasang cert-manager di Red Hat OpenShift melalui Operator its dan buat sertifikat yang ditandatangani sendiri untuk aplikasi Anda.

[ Butuh lebih banyak tentang Ansible? Ikuti kursus tinjauan teknis gratis dari Red Hat. Ansible Essentials:Kesederhanaan dalam Tinjauan Teknis Otomasi. ] 


Linux
  1. Cara mengamankan layanan email Linux Anda dengan SSL/TLS

  2. Bagaimana mengelola Lets Encrypt sertifikat SSL/TLS dengan certbot

  3. Cara mengamankan koneksi dengan sertifikat SSL/TLS

  1. Cara Mengamankan nama host Plesk pada port 8443 dengan sertifikat SSL

  2. Bagaimana Mengkonfigurasi VSFTPD dengan koneksi terenkripsi SSL/TLS?

  3. Cara membuat Sertifikat SSL yang Ditandatangani Sendiri di Ubuntu 18.04

  1. Cara membuat dokumen LaTeX dengan Emacs

  2. Cara menginstal sertifikat SSL pihak ketiga dengan cPanel

  3. Cara Mengamankan vsFTPd Dengan SSL/TLS