OKD adalah edisi komunitas hulu open source dari platform kontainer OpenShift Red Hat. OKD adalah platform pengelolaan dan orkestrasi container berdasarkan Docker dan Kubernetes.
OKD adalah solusi lengkap untuk mengelola, menyebarkan, dan mengoperasikan aplikasi kemas yang (selain fitur yang disediakan oleh Kubernetes) mencakup antarmuka web yang mudah digunakan, alat pembuatan otomatis, kemampuan perutean, dan fitur agregasi pemantauan dan logging.
OKD menyediakan beberapa opsi penerapan yang ditujukan untuk kebutuhan yang berbeda dengan node master tunggal atau ganda, kemampuan ketersediaan tinggi, logging, pemantauan, dan banyak lagi. Anda dapat membuat cluster OKD sekecil atau sebesar yang Anda butuhkan.
Wadah Linux
- Apa itu container Linux?
- Pengantar terminologi wadah
- Unduh:Containers Primer
- Operator Kubernetes:Mengotomatiskan platform orkestrasi container
- eBook:Pola Kubernetes untuk mendesain aplikasi cloud-native
- Apa itu Kubernetes?
Selain opsi penerapan ini, OKD menyediakan cara untuk membuat cluster lokal all-in-one di mesin Anda sendiri menggunakan oc alat baris perintah. Ini adalah opsi yang bagus jika Anda ingin mencoba OKD secara lokal tanpa menggunakan sumber daya untuk membuat kluster multi-simpul yang lebih besar, atau jika Anda ingin memiliki kluster lokal di mesin Anda sebagai bagian dari alur kerja atau proses pengembangan Anda. Dalam hal ini, Anda dapat membuat dan menerapkan aplikasi secara lokal menggunakan API dan antarmuka yang sama yang diperlukan untuk menerapkan aplikasi pada skala yang lebih besar. Proses ini memastikan integrasi tanpa batas yang mencegah masalah dengan aplikasi yang bekerja di lingkungan pengembang tetapi tidak dalam produksi.
Tutorial ini akan menunjukkan cara membuat cluster OKD menggunakan oc cluster up dalam kotak Linux.
1. Instal Docker
Kumpulan oc naik perintah membuat cluster OKD lokal di mesin Anda menggunakan wadah Docker. Untuk menggunakan perintah ini, Anda perlu menginstal Docker di mesin Anda. Untuk OKD versi 3.9 dan yang lebih baru, Docker 1.13 adalah versi minimum yang disarankan. Jika Docker tidak diinstal pada sistem Anda, instal dengan menggunakan manajer paket distribusi Anda. Misalnya, pada CentOS atau RHEL, instal Docker dengan perintah ini:
$ sudo yum install -y docker
Di Fedora, gunakan dnf:
$ sudo dnf install -y docker
Ini menginstal Docker dan semua dependensi yang diperlukan.
2. Konfigurasikan registri tidak aman Docker
Setelah Anda menginstal Docker, Anda perlu mengonfigurasinya untuk memungkinkan komunikasi dengan registri tidak aman di alamat 172.30.0.0/16. Registri tidak aman ini akan diterapkan dengan kluster OKD lokal Anda nanti.
Pada CentOS atau RHEL, edit file /etc/docker/daemon.json dengan menambahkan baris berikut:
{
"insecure-registries":["172.30.0.0/16"]
}
Di Fedora, edit file /etc/containers/registries.conf dengan menambahkan baris berikut:
[registries.insecure]
registries =['172.30.0.0/16']
3. Mulai Docker
Sebelum memulai Docker, buat grup sistem bernama docker dan tetapkan grup ini ke pengguna Anda sehingga Anda dapat menjalankan perintah Docker dengan pengguna Anda sendiri, tanpa memerlukan akses root atau sudo. Ini memungkinkan Anda membuat cluster OKD menggunakan pengguna Anda sendiri.
Misalnya, ini adalah perintah untuk membuat grup dan menetapkannya ke pengguna lokal saya, ricardo :
$ sudo groupadd buruh pelabuhan
$ sudo usermod -a -G buruh pelabuhan ricardo
Anda harus keluar dan masuk kembali untuk melihat asosiasi grup baru. Setelah masuk kembali, jalankan id perintah dan pastikan Anda adalah anggota buruh pelabuhan grup:
$ id
uid=1000(ricardo) gid=1000(ricardo) groups=1000(ricardo),10(roda),1001(docker)
context=unconfined_u:unconfined_r:unconfined_t:s0 -s0:c0.c1023
Sekarang, mulai dan aktifkan daemon Docker seperti ini:
$ sudo systemctl start docker
$ sudo systemctl enable docker
Membuat symlink dari /etc/systemd/system/multi-user.target.wants/docker.service ke /usr/lib/systemd/ system/docker.service.
Verifikasi bahwa Docker sedang berjalan:
$ versi buruh pelabuhan
Klien:
Versi: 1.13.1
Versi API: 1.26
Versi paket:docker-1.13.1-75.git8633870.el7.centos. x86_64
Versi Go: go1.9.4
Git commit: 8633870/1.13.1
Built: Jum 28 Sep 19:45:08 2018
OS/Arch: linux/amd64
Server:
Versi: 1.13.1
Versi API: 1.26 (versi minimum 1.12)
Versi paket:docker-1.13.1-75.git8633870.el7. centos.x86_64
Versi Go: go1.9.4
Git commit: 8633870/1.13.1
Built: Jum 28 Sep 19:45:08 2018
OS/Arch: linux/ amd64
Eksperimental: false
Pastikan opsi registri tidak aman telah diaktifkan dengan menjalankan info buruh pelabuhan dan cari baris ini:
$ info buruh pelabuhan
... Melewati keluaran panjang ...
Registry Tidak Aman:
172.30.0.0/16
127.0.0.0/8
4. Buka port firewall
Selanjutnya, buka port firewall untuk memastikan wadah OKD Anda dapat berkomunikasi dengan API master. Secara default, beberapa distribusi mengaktifkan firewall, yang memblokir konektivitas yang diperlukan dari wadah OKD ke master API. Jika sistem Anda mengaktifkan firewall, Anda perlu menambahkan aturan untuk mengizinkan komunikasi pada port 8443/tcp untuk API master dan 53/udp untuk resolusi DNS pada subnet jembatan Docker.
Untuk CentOS, RHEL, dan Fedora, Anda dapat menggunakan firewall-cmd alat baris perintah untuk menambahkan aturan. Untuk distribusi lain, Anda dapat menggunakan pengelola firewall yang disediakan, seperti UFW atau iptables.
Sebelum menambahkan aturan firewall, dapatkan alamat subnet jaringan jembatan Docker, seperti ini:
$ jaringan buruh pelabuhan memeriksa jembatan | grep Subnet
"Subnet":"172.17.0.0/16",
Aktifkan aturan firewall menggunakan subnet ini. Untuk CentOS, RHEL, dan Fedora, gunakan firewall-cmd untuk menambahkan zona baru:
$ sudo firewall-cmd --permanent --new-zone okdlocal
sukses
Sertakan alamat subnet yang Anda peroleh sebelumnya sebagai sumber ke zona baru:
$ sudo firewall-cmd --permanent --zone okdlocal --add-source 172.17.0.0/16
sukses
Selanjutnya, tambahkan aturan yang diperlukan ke okdlocal zona:
$ sudo firewall-cmd --permanent --zone okdlocal --add-port 8443/tcp
sukses
$ sudo firewall-cmd --permanent --zone okdlocal --add-port 53 /udp
berhasil
$ sudo firewall-cmd --permanent --zone okdlocal --add-port 8053/udp
berhasil
Terakhir, muat ulang firewall untuk mengaktifkan aturan baru:
$ sudo firewall-cmd --reload
sukses
Pastikan zona dan aturan baru sudah ada:
$ sudo firewall-cmd --zone okdlocal --list-sources
172.17.0.0/16
$ sudo firewall-cmd --zone okdlocal --list-ports
8443/ tcp 53/udp 8053/udp
Sistem Anda siap untuk memulai cluster. Saatnya mengunduh alat klien OKD.
5. Unduh alat klien OKD
Untuk menerapkan cluster OKD lokal menggunakan oc , Anda perlu mengunduh paket alat klien OKD. Untuk beberapa distribusi, seperti CentOS dan Fedora, paket ini dapat diunduh sebagai RPM dari repositori resmi. Harap dicatat bahwa paket ini mungkin mengikuti siklus pembaruan distribusi dan biasanya bukan versi terbaru yang tersedia.
Untuk tutorial ini, unduh paket klien OKD langsung dari repositori resmi GitHub sehingga Anda bisa mendapatkan versi terbaru yang tersedia. Pada saat penulisan, ini adalah OKD v3.11.
Buka halaman unduhan OKD untuk mendapatkan tautan ke alat OKD untuk Linux, lalu unduh dengan wget :
$ cd ~/Downloads/
$ wget https://github.com/openshift/Origin/releases/download/v3.11.0/openshift-Origin-client-tools-v3.11.0-0cbc58b-linux -64bit.tar.gz
Buka kompres paket yang diunduh:
$ tar -xzvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Terakhir, untuk mempermudah menggunakan oc perintah di seluruh sistem, pindahkan ke direktori yang disertakan dalam $PATH . Anda variabel. Lokasi yang baik adalah /usr/local/bin :
$ sudo cp openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit/oc /usr/local/bin/
Salah satu fitur terbaik oc perintahnya adalah biner tunggal statis. Anda tidak perlu menginstalnya untuk menggunakannya.
Periksa apakah oc perintah berfungsi:
$ versi oc
oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0
fitur:Basic-Auth GSSAPI Kerberos SPNEGO
6. Mulai kluster OKD Anda
Setelah Anda memiliki semua prasyarat, mulai cluster OKD lokal Anda dengan menjalankan perintah ini:
$ oc cluster up
Perintah ini terhubung ke daemon Docker lokal Anda, mengunduh semua image yang diperlukan dari Docker Hub, dan memulai container. Pertama kali Anda menjalankannya, dibutuhkan beberapa menit untuk menyelesaikannya. Setelah selesai, Anda akan melihat pesan ini:
... Melewati keluaran lama ...
Server OpenShift dimulai.
Server dapat diakses melalui konsol web di:
https://127.0 .0.1:8443
Anda masuk sebagai:
Pengguna: pengembang
Sandi:
Untuk masuk sebagai administrator:
oc login -u system:admin
Akses konsol web OKD dengan menggunakan browser dan navigasikan ke https://127.0.0.1:8443:
Dari baris perintah, Anda dapat memeriksa apakah cluster sedang berjalan dengan memasukkan perintah ini:
$ oc status cluster
URL konsol web:https://127.0.0.1:8443/console/
Config ada di direktori host
Volume ada di direktori host
Volume persisten berada di direktori host /home/ricardo/openshift.local.clusterup/openshift.local.pv
Data akan dibuang saat cluster dihancurkan
Anda juga dapat memverifikasi bahwa cluster Anda berfungsi dengan masuk sebagai system:admin pengguna dan memeriksa node yang tersedia menggunakan oc alat baris perintah:
$ oc login -u system:admin
Login ke "https://127.0.0.1:8443" sebagai "system:admin" menggunakan kredensial yang ada.
Anda memiliki akses ke proyek berikut dan dapat beralih di antara mereka dengan 'oc project':
default
kube-dns
kube-proxy
kube-public
kube-system
* myproject
openshift
openshift-apiserver
openshift-controller-manager
openshift-core-operators
openshift-infra
openshift-node
openshift-service-cert-signer
openshift-web-console
Menggunakan project "myproject".
$ oc get node
NAMA STATUS PERAN USIA VERSI
localhost Siap52m v1.11.0+d4cacc0
Karena ini adalah kluster all-in-one lokal, Anda hanya melihat localhost dalam daftar node.
7. Uji asap cluster Anda
Sekarang setelah kluster OKD lokal Anda berjalan, buat aplikasi pengujian untuk mengujinya. Gunakan OKD untuk membangun dan memulai aplikasi sampel sehingga Anda dapat memastikan komponen yang berbeda berfungsi.
Mulailah dengan masuk sebagai pengembang pengguna:
$ oc login -u developer
Masuk ke "https://127.0.0.1:8443" sebagai "pengembang" menggunakan kredensial yang ada.
Anda memiliki satu proyek di server ini:"myproject"
Menggunakan proyek "myproject".
Anda secara otomatis ditugaskan ke proyek baru yang kosong bernama proyek saya . Buat contoh aplikasi PHP berdasarkan repositori GitHub yang ada, seperti ini:
$ oc new-app php:5.6~https://github.com/rgerardi/ocp-smoke-test.git
--> Ditemukan gambar 92ed8b3 (5 bulan) di aliran gambar "openshift/ php" di bawah tag "5.6" untuk "php:5.6"
Apache 2.4 dengan PHP 5.6
-------------------- ---
PHP 5.6 tersedia sebagai container adalah platform dasar untuk membangun dan menjalankan berbagai aplikasi dan kerangka kerja PHP 5.6. PHP adalah bahasa scripting HTML tertanam. PHP berupaya memudahkan pengembang untuk menulis halaman web yang dibuat secara dinamis. PHP juga menawarkan integrasi database built-in untuk beberapa sistem manajemen database komersial dan non-komersial, sehingga menulis halaman web database-enabled dengan PHP cukup sederhana. Penggunaan pengkodean PHP yang paling umum mungkin adalah sebagai pengganti skrip CGI.
Tags:builder, php, php56, rh-php56
* Pembuatan sumber menggunakan kode sumber dari https://github.com/rgerardi/ocp-smoke-test.git akan dibuat
* Gambar yang dihasilkan akan didorong ke tag aliran gambar "ocp-smoke-test:latest"
* Gunakan 'start-build' untuk memicu build baru
* Gambar ini akan diterapkan dalam konfigurasi penerapan "ocp-smoke-test"
* Port 8080/tcp, 8443/tcp akan diseimbangkan beban oleh layanan "ocp-smoke-test"
* Container lain dapat mengakses layanan ini melalui hostname "ocp-smoke-test"
--> Membuat resource ...
imagestream. image.openshift.io "ocp-smoke-test" dibuat
buildconfig.build.openshift.io "ocp-smoke-test" dibuat
deploymentconfig.apps.openshift.io "ocp-smoke-test" dibuat
layanan "ocp-smoke-test" dibuat
--> Berhasil
Pembuatan dijadwalkan, gunakan 'oc logs -f bc/ocp-smoke -test' untuk melacak kemajuannya.
Aplikasi tidak diekspos. Anda dapat mengekspos layanan ke dunia luar dengan menjalankan satu atau beberapa perintah di bawah ini:
'oc expose svc/ocp-smoke-test'
Jalankan 'oc status' untuk melihat aplikasi Anda.
OKD memulai proses pembangunan, yang mengkloning repositori GitHub yang disediakan, mengompilasi aplikasi (jika diperlukan), dan membuat gambar yang diperlukan. Anda dapat mengikuti proses pembuatan dengan mengekor lognya dengan perintah ini:
$ oc logs -f bc/ocp-smoke-test
Kloning "https://github.com/rgerardi/ocp-smoke-test.git" ...
Komit:391a475713d01ab0afab700bab8a3d7549c5cc27 ( Create index.php)
Penulis:Ricardo Gerardi
Tanggal: Sel 2 Okt 13:47:25 2018 -0400
Menggunakan 172.30.1.1:5000/ openshift/php@sha256:f3c95020fa870fcefa7d1440d07a2b947834b87bdaf000588e84ef4a599c7546 sebagai gambar pembuat s2i
---> Menginstal sumber aplikasi...
=> sumber 20-copy-config.sh ...
---> 04:53:28 Memproses konfigurasi httpd arbitrer tambahan yang disediakan oleh s2i ...
=> sumber 00-documentroot.conf ...
=> sumber 50-mpm-tuning.conf ...
=> sumber 40-ssl-certs.sh ...
Mendorong gambar 172.30.1.1:5000/myproject/ocp-smoke-test:latest ...
Mendorong 1/10 lapisan, 10% selesai
Tekan berhasil
Setelah proses build selesai, OKD memulai aplikasi secara otomatis dengan menjalankan pod baru berdasarkan gambar yang dibuat. Anda dapat melihat pod baru ini dengan perintah ini:
$ oc mendapatkan pod
NAME READY STATUS MULAI ULANG USIA
ocp-smoke-test-1-build 0/1 Selesai 0 1 Lari 0 7s
Anda dapat melihat dua pod dibuat; yang pertama (dengan status Completed) adalah pod yang digunakan untuk membangun aplikasi. Yang kedua (dengan status Running) adalah aplikasi itu sendiri.
Selain itu, OKD membuat layanan untuk aplikasi ini. Verifikasi dengan menggunakan perintah ini:
$ oc get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) UMUR
ocp-smoke-test ClusterIP 412.430,Terakhir, ekspos layanan ini secara eksternal menggunakan rute OKD sehingga Anda dapat mengakses aplikasi dari browser lokal:
$ oc expose svc ocp-smoke-test
route.route.openshift.io/ocp-smoke-test expose
$ oc get route
NAME HOST/PORT JALUR LAYANAN PELABUHAN PENGHENTIAN KARTU LIAR
ocp-smoke-test ocp-smoke-test-myproject.127.0.0.1.nip.io ocp-smoke-test-myproject.127.0.0.1.nip.io ocp-smoke 80Verifikasi bahwa aplikasi baru Anda berjalan dengan membuka http://ocp-smoke-test-myproject.127.0.0.1.nip.io di browser web:
Anda juga dapat melihat status aplikasi Anda dengan masuk ke konsol web OKD:
Pelajari lebih lanjut
Anda dapat menemukan informasi lebih lanjut tentang OKD di situs resmi, yang menyertakan tautan ke dokumentasi OKD.
Jika ini pertama kalinya Anda bekerja dengan OKD/OpenShift, Anda dapat mempelajari dasar-dasar platform, termasuk cara membangun dan menerapkan aplikasi dalam container, melalui Interactive Learning Portal. Sumber daya bagus lainnya adalah saluran YouTube OpenShift resmi.
Memperkenalkan Thelio:Komputer desktop baru dari System76 8 perintah menyeramkan yang menghantui terminalLinux