Kerangka Materi
Hari 1 – Kontainer dan Manajemen Gambar
Pengantar Platform Kontainer
- Perbandingan penerapan aplikasi tradisional dengan penerapan berbasis kontainer
- Kontainer dan mesin virtual
- Runtime kontainer dan mesin kontainer
- Peran Docker, Kubernetes, dan OpenShift
- Arsitektur platform kontainer umum
- Alur kerja pengembangan, pengujian, dan produksi
Bekerja dengan Kontainer
- Menjalankan dan mengelola kontainer
- Siklus hidup kontainer
- Memulai, menghentikan, dan menghapus kontainer
- Menjalankan perintah di dalam kontainer
- Variabel lingkungan
- Pemetaan port
- Log kontainer
- Penggunaan sumber daya dan inspeksi proses
Membangun Gambar Kontainer
- Struktur dan lapisan gambar
- Membuat Dockerfile dan Containerfile
- Memilih gambar dasar
- Menambahkan dependensi aplikasi
- Mengonfigurasi titik masuk (entry points) dan perintah
- Pengarsipan gambar (Image caching)
- Menurunkan ukuran gambar
- Membangun gambar yang dapat direproduksi
Registri Kontainer
- Registri publik dan privat
- Pemberian tag dan penversi gambar
- Mendorong (pushing) dan menarik (pulling) gambar
- Otentikasi gambar
- Penahanan dan pembersihan gambar
- Pertimbangan keamanan gambar dasar
Jaringan dan Penyimpanan Kontainer
- Konsep jaringan kontainer
- Jaringan bridge
- Paparan port
- Komunikasi antar-kontainer
- Bind mounts dan volume
- Data kontainer persisten
- Pertimbangan pencadangan (backup)
Latihan Praktik Langsung
- Menjalankan dan menginspeksi kontainer
- Membangun gambar aplikasi
- Mengonfigurasi port dan variabel lingkungan
- Memublikasikan gambar ke registri
- Menyimpan data persisten di luar kontainer
Hari 2 – Arsitektur dan Beban Kerja Kubernetes
Dasar-Dasar Kubernetes
- Tujuan orkestrasi kontainer
- Arsitektur Kubernetes
- Komponen control plane
- Worker nodes
- API server
- Scheduler
- Controllers
- Keadaan klaster (cluster state) dan keadaan yang diinginkan (desired state)
- Berkomunikasi dengan klaster menggunakan kubectl
Sumber Daya Kubernetes
- Pods
- ReplicaSets
- Deployments
- Namespaces
- Label dan anotasi
- Selectors
- Definisi sumber daya deklaratif
- Manifes YAML
Menerapkan Aplikasi
- Membuat dan mengelola Deployments
- Skalakan beban kerja
- Memperbarui gambar kontainer
- Rolling updates
- Rollbacks
- Riwayat penerapan (Deployment history)
- Menjalankan ulang beban kerja (Restarting workloads)
- Mengelola replika aplikasi
Konfigurasi Aplikasi
- ConfigMaps
- Secrets
- variabel lingkungan
- Berkas konfigurasi
- Memisahkan kode aplikasi dari konfigurasi
- Mengelola pengaturan spesifik lingkungan
Manajemen Sumber Daya
- Pemintaan CPU dan memori
- Batasan CPU dan memori
- Kuota sumber daya
- Batasan rentang (Limit ranges)
- Dampak penjadwalan
- Mendiagnosis kegagalan terkait sumber daya
Latihan Praktik Langsung
- Menerapkan aplikasi terkontainerisasi
- Membuat dan memperbarui manifes Kubernetes
- Menskalakan aplikasi
- Menjalankan rolling update dan rollback
- Mengonfigurasi aplikasi menggunakan ConfigMaps dan Secrets
- Menerapkan permintaan dan batasan sumber daya
Hari 3 – Jaringan, Penyimpanan, dan Keamanan Kubernetes
Jaringan Kubernetes
- Model jaringan klaster
- Komunikasi antar-pod
- Penemuan layanan (Service discovery)
- DNS di dalam klaster
- Layanan ClusterIP
- Layanan NodePort
- Layanan LoadBalancer
- Konsep ingress
- Pattern paparan aplikasi
Kebijakan Jaringan
- Mengendalikan lalu lintas antar-beban kerja
- Aturan ingress dan egress
- Kontrol lalu lintas berbasis namespace
- Menguji konektivitas jaringan
- Memecahkan masalah komunikasi layanan
Penyimpanan Persisten
- Penyimpanan ephemeral dan persisten
- Volume
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Penyediaan dinamis (Dynamic provisioning)
- Mode akses
- Kebijakan pengembalian (Reclaim policies)
- Penyimpanan untuk aplikasi stateful
Kontrol Akses Kubernetes
- Konsep otentikasi dan otorisasi
- Kontrol Akses Berbasis Peran (Role-Based Access Control)
- Peran (Roles) dan ClusterRoles
- RoleBindings dan ClusterRoleBindings
- Akun layanan (Service accounts)
- Akses privilese minimum (Least-privilege access)
- Menginspeksi izin yang berlaku
Keamanan Beban Kerja
- Konteks keamanan (Security contexts)
- Menjalankan kontainer sebagai non-root
- Kemampuan Linux (Linux capabilities)
- Sistem berkas read-only
- Penanganan Secrets
- Provenance gambar
- Risiko konfigurasi umum
Latihan Praktik Langsung
- Memaparkan aplikasi menggunakan layanan Kubernetes
- Mengonfigurasi ingress
- Membatasi lalu lintas menggunakan kebijakan jaringan
- Menyediakan penyimpanan persisten
- Mengonfigurasi izin RBAC
- Menjalankan beban kerja dengan konteks keamanan yang sesuai
Hari 4 – Bekerja dengan Lingkungan OpenShift
Pengantar OpenShift
- OpenShift sebagai platform aplikasi berbasis Kubernetes
- Sumber daya Kubernetes di lingkungan OpenShift
- Arsitektur klaster OpenShift
- Proyek dan namespace
- Pengguna platform dan akun layanan
- Bekerja dengan konsol web
- Bekerja dengan OpenShift CLI
Mengelola Proyek dan Akses
- Membuat dan mengelola proyek
- Menetapkan izin pengguna
- Peran tingkat proyek
- Akses administratif
- Kuota sumber daya
- Batasan rentang (Limit ranges)
- Akun layanan
- Meninjau sumber daya proyek
Menerapkan Aplikasi
- Menerapkan gambar kontainer
- Membuat beban kerja aplikasi
- Mengelola penerapan (deployments)
- Menskalakan aplikasi
- Memperbarui versi aplikasi
- Rollbacks
- Mengelola konfigurasi aplikasi
- Bekerja dengan secrets
Paparan Aplikasi
- Layanan di OpenShift
- Routes
- Konsep TLS
- Akses aplikasi internal dan eksternal
- Nama host dan sertifikat
- Mendiagnosis masalah rute dan layanan
Penyimpanan di OpenShift
- Persistent Volume Claims
- StorageClasses
- Melekatkan penyimpanan ke beban kerja
- Beberapa kerja stateful
- Izin akses penyimpanan
- Memecahkan masalah pemasangan volume (volume mounting)
Penjadwalan dan Manajemen Node
- Label dan selectors
- Node selectors
- Taints dan tolerations
- Konsep affinity dan anti-affinity
- Penempatan beban kerja
- Cordoning dan draining nodes
- Pertimbangan pemeliharaan node
Latihan Praktik Langsung
- Menjangkau lingkungan OpenShift
- Membuat dan mengonfigurasi proyek
- Menerapkan dan memaparkan aplikasi
- Mengonfigurasi akses pengguna dan akun layanan
- Melekatkan penyimpanan persisten
- Menskalakan dan memperbarui beban kerja yang berjalan
Hari 5 – Operasi, Pemantauan, dan Pemecahan Masalah
Pemantauan Platform
- Memantau kesehatan klaster dan aplikasi
- Metrik sumber daya
- Kesehatan node
- Status beban kerja
- Kapasitas dan pemanfaatan sumber daya
- Identifikasi kendala kinerja
Logging dan Event
- Log kontainer
- Log pod
- Log kontainer sebelumnya
- Peristiwa Kubernetes (Kubernetes events)
- Pesan aplikasi dan platform
- Memfilter dan menafsirkan data operasional
Pemeriksaan Kesehatan
- Startup probes
- Readiness probes
- Liveness probes
- Merancang endpoint kesehatan yang berguna
- Mendiagnosis kegagalan probe
- Mencegah pengujian ulang aplikasi yang tidak diperlukan
Memecahkan Masalah Beban Kerja
- Pods pending
- Kegagalan pengambilan gambar (Image pull failures)
- Crash loops
- Variabel lingkungan yang salah dikonfigurasi
- Mount yang gagal
- Sumber daya tidak cukup
- Kesalahan izin
- Permasalahan konektivitas layanan dan rute
- Permasalahan DNS
- Kegagalan startup aplikasi
Keamanan Operasional
- Meninjau izin
- Penggunaan akun layanan
- Penanganan kredensial yang aman
- Praktik keamanan gambar
- Isolasi jaringan
- Audit akses platform
- Menerapkan prinsip privilese minimum (principle of least privilege)
Pemeliharaan dan Manajemen Siklus Hidup
- Pemeriksaan platform rutin
- Pemeliharaan node
- Pertimbangan pencadangan aplikasi
- Pencadangan konfigurasi
- Perencanaan pembaruan
- Manajemen perubahan
- Menguji pembaruan
- Perencanaan rollback
- Konsep pemulihan bencana (Disaster recovery)
Workshop Praktik Akhir
Peserta menyelesaikan skenario operasional dari ujung ke ujung (end-to-end):
- Membangun dan memberi tag pada gambar kontainer.
- Memublikasikan gambar ke registri.
- Menerapkan aplikasi ke Kubernetes atau OpenShift.
- Mengonfigurasi pengaturan dan kredensial aplikasi.
- Memaparkan aplikasi.
- Melekatkan penyimpanan persisten.
- Mengonfigurasi izin akses.
- Menambahkan pemeriksaan kesehatan.
- Menskalakan dan memperbarui aplikasi.
- Mendiagnosis dan menyelesaikan kegagalan yang disengaja.
Format Kursus
- Ceramah interaktif dan diskusi teknis.
- Demonstrasi oleh instruktur.
- Latihan praktik langsung yang luas.
- Workshop administrasi dan pemecahan masalah berbasis skenario.
- Kerja praktis di lingkungan kontainer, Kubernetes, dan OpenShift.
Opsi Kustomisasi Kursus
- Kursus dapat disesuaikan dengan infrastruktur bawaan, penyedia cloud, dan tooling kontainer peserta.
- Keseimbangan antara topik Docker, Kubernetes, dan OpenShift dapat disesuaikan sesuai pengalaman tim.
- Latihan praktis dapat disesuaikan dengan aplikasi, proses penerapan, dan persyaratan operasional organisasi.
Catatan Merek Dagang
OpenShift adalah merek dagang Red Hat, Inc. Pelatihan yang dikembangkan secara independen ini tidak berafiliasi, disetujui, atau diotorisasi oleh Red Hat.
Persyaratan
Peserta sebaiknya memiliki:
- Pengalaman menggunakan baris perintah Linux.
- Pengetahuan dasar administrasi sistem atau DevOps.
- Pemahaman umum tentang konsep jaringan.
- Pengenalan terhadap proses penerapan perangkat lunak.
Pengalaman sebelumnya dengan Docker, Kubernetes, atau OpenShift sangat membantu tetapi tidak diwajibkan.
Testimoni (7)
Penjelasan Reda dan dia menyederhanakan banyak pemahaman
Eric Van Wyk
Kursus - Docker, Kubernetes and OpenShift 3 for Administrators
Diterjemahkan Mesin
Lab-nya adalah yang terbaik. Sangat praktis dan memberikan pengalaman hands-on. Secara pribadi, saya berpendapat bahwa ini merupakan cara paling efektif untuk benar-benar memahami materi kursus dan menerapkan konsep-konsep yang telah dibahas.
Hishaam Johnstone
Kursus - Docker, Kubernetes and OpenShift 3 for Administrators
Diterjemahkan Mesin
Saya sangat menyukai kemauan untuk membantu dan menjelaskan lebih lanjut ketika tidak yakin
Letlotlo Miffi
Kursus - Docker, Kubernetes and OpenShift 3 for Administrators
Diterjemahkan Mesin
Adriano mempelajari subjek tersebut dengan sangat mendalam, yang merupakan gaya yang paling saya sukai, yaitu: lebih sedikit tentang perintah dan lebih banyak tentang mekanisme di baliknya. Skenario-skenario yang dibahas didukung dengan baik oleh contoh praktis, yang sangat membantu dalam memahami materi yang disajikan.
Mariusz BANASZCZYK - Sopra Steria
Kursus - Docker, Kubernetes and OpenShift for Administrators
Diterjemahkan Mesin
Pengetahuan mendalam tentang Adriano. Penjelasan konsep dasar
Tomasz Szalankiewicz - LPP SA
Kursus - Docker, Kubernetes and OpenShift for Administrators
Diterjemahkan Mesin
Secara umum, saya suka penyajiannya.
Josif Kovacevic - ANZ
Kursus - Docker, Kubernetes and OpenShift for Administrators
Diterjemahkan Mesin
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Kursus - Docker, Kubernetes and OpenShift for Administrators
Diterjemahkan Mesin