Menyebarkan Kubernet Dengan Kubeadm di CentOS 7
Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada
Kita semua tahu dan cinta Docker, sebuah platform untuk membuat, mengelola, dan mendistribusikan kontainer aplikasi di beberapa mesin. Docker Inc. menyediakan layanan untuk meng-host wadah sumber terbuka untuk diunduh (atau ditarik) seperti repositori git yang dikenal sebagai "Docker Registry." Anggap saja seperti GitHub untuk wadah Docker.
Tetapi bagaimana jika Anda ingin meng-host registri Anda sendiri terpisah dari yang umum? Yah, Docker Inc. telah membuka aplikasi Registry mereka di GitHub.
Tutorial ini akan membawa Anda melalui proses pengaturan registri Docker pribadi menggunakan CoreOS pada VPS baru.
Kami tidak akan menghabiskan banyak waktu untuk membahas apa yang dapat dilakukan Docker dan CoreOS, karena hal tersebut berada di luar cakupan tutorial ini. Intinya, CoreOS dirancang untuk kelompok server besar, kecil, cepat, dan mendapatkan pembaruan keamanan rutin secara otomatis. Sistem root file-nya juga hanya-baca, artinya Anda harus menggunakan Docker untuk menjalankan semua jenis perangkat lunak yang tidak disertakan dengan instalasi dasar.
Ini menjadikan Core OS sistem host yang sempurna untuk Docker!
Docker Inc. telah menyediakan Registry sebagai gambar tingkat atas, ini berarti kami dapat menariknya dengan sederhana:
docker pull registry
Ini bisa memakan waktu beberapa menit, tergantung pada kecepatan koneksi.
Plus menjadi gambar tingkat atas juga berarti mendapat dukungan dan pembaruan rutin.
Sekarang mari kita menguji registri. Kami dapat membuat wadah baru menggunakan gambar registri:
docker run -p 5000:5000 -d --name=basic_registry registry
Bagi mereka yang belum terlalu banyak menggunakan Docker, -p
flag adalah singkatan PORT
, artinya kita mengekspos port 5000 dari wadah ke host port 5000.
The -d
bendera singkatan daemon
, ini akan menyebabkan wadah untuk berjalan di latar belakang dan tidak mencetak output ke sesi SSH saat ini, kami juga ingin nama wadah tes dasar ini menggunakan --name
pilihan sehingga kita dapat dengan mudah mengelola nanti.
Pastikan bahwa wadah registri dasar Anda sedang berjalan menggunakan docker ps
. Outputnya akan terlihat mirip dengan:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfb54e4a8c4 registry:0.8.1 "/bin/sh -c 'exec do 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp basic_registry
Juga, kunjungi http://YOUR_IP:5000
di browser web Anda, dan Anda akan mendapatkan pesan seperti berikut:
"docker-registry server (dev) (v0.8.1)"
Perhatikan kata
dev
dalam kurung. Ini berarti bahwa server sedang menjalankan konfigurasi dev. Kami akan segera mencari lebih banyak konfigurasi.
Sekarang Anda memiliki registry container (sangat dasar) Anda sendiri yang sedang berjalan! Tapi kita belum selesai.
Mungkin Anda ingin menjaga kerahasiaan ini dari pengintaian, atau mungkin menyimpan gambar Anda di Amazon S3 alih-alih penyimpanan lokal. Mari kita membahas berbagai opsi konfigurasi di bagian selanjutnya.
Sebelum kita melanjutkan, mari kita bunuh wadah uji sehingga kita tidak mengalami port yang bertentangan.
docker kill basic_registry
Ada dua cara yang bisa kita lakukan konfigurasi ke Docker Registry. Salah satu caranya adalah dengan mengirimkan variabel lingkungan ke wadah baru, dan yang lainnya adalah menambahkan file konfigurasi.
Berikut beberapa opsi konfigurasi umum yang akan kami gunakan:
loglevel
- Jumlah minimum informasi untuk masuk ke konsol. Defaultnya adalah info
.standalone
- Haruskah Registry ini bertindak sendiri? (Jangan pernah menanyakan registri publik.) Defaultnya adalah true
.index_endpoint
- Jika tidak berdiri sendiri, indeks apa lagi yang akan kami tanyakan? Standar index.docker.io
.cache
dan cache_lru
- Opsi yang berkaitan dengan menggunakan cache Redis untuk file kecil, kami akan menyentuh ini nanti.storage
- Backend penyimpanan apa yang harus kita gunakan untuk server ini? (Dalam tutorial ini kita akan menggunakan lokal).storage_path
- Jika menggunakan penyimpanan lokal, direktori apa yang harus kita gunakan untuk menyimpan file?Sebelum kita mulai bekerja dengan konfigurasi, kita perlu file dasar untuk bekerja. File dari repositori Docker Registry di GitHub akan berfungsi dengan baik:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
File harus berhasil disimpan dengan output seperti:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
Bagus! Sekarang kita dapat memodifikasi file ini agar sesuai dengan kebutuhan kita.
Satu-satunya editor teks yang dilengkapi dengan Core OS adalah vim
, tetapi jangan khawatir jika Anda belum pernah menggunakannya, ini akan menjelaskan langkah demi langkah apa yang harus diedit dan bagaimana melakukannya.
vim config_sample.yml
Setelah file terbuka, tekan I
dan sudut kanan bawah akan ditampilkan: -- INSERT --
untuk mode penyisipan. Gulir ke bagian bawah file menggunakan tombol panah Anda, Anda akan melihat bagian berlabel prod
.
Kami akan mengubah dua baris, perubahan di bawah
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
Apa yang kami lakukan adalah mengubah prod
konfigurasi untuk mendapatkan dari local
bagian daripada s3
bagian. Lalu kami menimpa storage_path
untuk menggunakan jalur /data
di dalam wadah baru.
Setelah Anda mengonfirmasi bahwa semua perubahan sudah benar, tekan ESC
untuk keluar dari mode dan jenis penyisipan :wq
(ini berarti menulis perubahan pada file, dan keluar dari vim.)
Sekarang mari kita ganti nama file menjadi adil config.yml
mv config_sample.yml config.yml
Jika Anda ingin menggunakan redis untuk mempercepat registrasi kontainer Anda, itu semudah menarik kontainer baru dari registry publik dan menambahkan beberapa baris konfigurasi lagi.
Pertama, tarik gambar tingkat atas Redis:
docker pull redis
Setelah gambar berhasil ditarik, kita bisa menjalankannya dan beri nama seperti yang kita lakukan dengan registri tes:
docker run -d --name registry-redis redis
Karena redis ada di memori, kita tidak perlu melakukan konfigurasi apa pun untuk itu, karena kita akan menautkannya ke wadah registri pada langkah selanjutnya.
Sekali lagi, pastikan itu berjalan dengan menggunakan docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54f65641eccf redis:2.8 "redis-server" 2 seconds ago Up 1 seconds 6379/tcp registry-redis
Sekarang kembali buka config.yml
di vim
dan masukkan insert modus seperti pertama kali kita mengeditnya.
Tambahkan baris berikut di bawah prod
bagian ini, pastikan untuk indentasi dengan benar. Kali ini kami hanya menambahkan cache
dan cache_lru
.
cache:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 0
cache_lru:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 1
Variabel lingkungan REDIS_PORT_6379_TCP_ADDR
dan REDIS_PORT_6379_TCP_PORT
diteruskan ke wadah registri setelah dikaitkan dengan wadah Redis.
Dengan itu, Anda sekarang telah menyiapkan wadah Redis yang akan bekerja bahu-membahu dengan wadah registri Anda. Sekarang untuk membangun registri!
Kami memiliki semua konfigurasi dan siap, sekarang kita perlu membangun wadah registri yang sebenarnya.
Jalankan vim Dockerfile
untuk membuat Dockerfile baru. Masuk ke mode penyisipan dan ikuti pengeditan di bawah ini.
FROM registry:latest
# Add the custom configuration file we made
ADD ./config.yml /docker-registry/config/config.yml
# Create the data directory
RUN mkdir /data
# Set the configuration file to config.yml
env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
# Make sure we use the prod configuration settings
env SETTINGS_FLAVOR prod
Apa yang telah kami lakukan di atas pada dasarnya memperpanjang citra registri sehingga akan menggunakan file konfigurasi dan pengaturan kami. Dockerfile adalah sekumpulan instruksi build untuk dibaca dan dibangun oleh Docker. Jika Anda ingin mempelajari lebih lanjut tentang Dockerfiles dan sintaksisnya, lihat dokumentasi situs Docker resmi.
Selanjutnya kita perlu membangun wadah untuk digunakan.
docker build -t my_registry .
Sending build context to Docker daemon 13.82 kB
Sending build context to Docker daemon
Step 0 : FROM registry
---> e42d15ec8417
Step 1 : ADD ./config.yml /docker-registry/config/config.yml
---> 4339f026d459
Removing intermediate container 2d5138fbcd34
Step 2 : RUN mkdir /data
---> Running in a090f0bdbfd1
---> 8eb27ba6e12a
Removing intermediate container a090f0bdbfd1
Step 3 : env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
---> Running in 565b5bfb2b22
---> 914462e46dc0
Removing intermediate container 565b5bfb2b22
Step 4 : env SETTINGS_FLAVOR prod
---> Running in 31a92847b851
---> b5949575c374
Removing intermediate container 31a92847b851
Successfully built b5949575c374
Sekarang kita siap berlari!
Mari kita membuat direktori pada sistem host kita untuk dipasang di wadah sebagai /data
volume.
mkdir registry-data
Sekarang kita bisa memunculkan wadah baru. Jika Anda berencana menggunakan cache Redis, gunakan perintah ke-2 di bawah ini.
# For a non-Redis cache registry
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg my_registry
# For a Redis cached registry (Must have followed Redis Caching section above)
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg --link registry-redis:redis my_registry
Untuk memastikan server Anda berjalan dengan benar, kunjungi http://YOUR_IP:5000
. Anda akan melihat pesan berikut:
"docker-registry server (prod) (v0.8.1)"
Perhatikan (prod)
arti perubahan konfigurasi kami berhasil!
Sekarang kami memiliki registri berjalan sendiri, kami ingin klien Docker di komputer lokal kami mulai menggunakannya. Biasanya Anda akan menggunakan perintah:, docker login
tetapi untuk penggunaan kami, kami perlu menambahkan satu argumen lagi ke perintah login:
docker login YOUR_IP:5000
Masukkan nama pengguna dan kata sandi (anggap ini seperti membuat akun baru) dan abaikan pesan yang menyatakan bahwa Anda harus mengaktifkannya.
Selanjutnya, mari kita tarik gambar stok, dan dorong ke repositori kita sendiri.
# Pull the busybox image from the public registry
docker pull busybox
# Tag it with our IP/URL
docker tag busybox YOUR_IP:5000/busybox
# Push it to our newly made registry
docker push YOUR_IP:5000/busybox
Jika semuanya mendorong dengan benar, pesan terakhir harus sesuai:
Pushing tag for rev [a9eb17255234] on
Selamat! Anda telah menyiapkan repositori buruh pelabuhan Anda sendiri.
Berikut adalah beberapa ide tentang cara meningkatkan registri pribadi baru Anda:
Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada
Rancher OS adalah distribusi Linux yang sangat ringan yang dibangun di sekitar Docker. OS itu sendiri berbobot sekitar 20MB. Tutorial ini akan membantu Anda menjalankan dan menjalankannya
Pendahuluan Docker adalah aplikasi yang memungkinkan kita untuk menyebarkan program yang dijalankan sebagai wadah. Itu ditulis dalam bahasa pemrograman Go populer
Menggunakan Sistem yang Berbeda? Docker adalah aplikasi yang memungkinkan untuk penyebaran perangkat lunak dalam wadah virtual. Itu ditulis dalam programmin Go
Harbor adalah server registri sumber terbuka kelas perusahaan yang menyimpan dan mendistribusikan gambar Docker. Harbor memperluas distribusi Docker sumber terbuka b
Artikel ini menjelaskan cara menginstal docker-compose di CoreOS. Di CoreOS, folder / usr / tidak dapat diubah sehingga jalur standar / usr / local / bin tidak tersedia untuk
Menggunakan Sistem yang Berbeda? Pendahuluan Rancher adalah platform sumber terbuka untuk menjalankan kontainer dan membangun layanan kontainer pribadi. Peternak adalah pangkalan
Menggunakan Sistem yang Berbeda? Pendahuluan Rancher adalah platform sumber terbuka untuk menjalankan kontainer dan membangun layanan kontainer pribadi. Peternak adalah pangkalan
Aplikasi PHP biasanya disusun oleh server web, sistem basis data relasional dan juru bahasa itu sendiri. Dalam tutorial ini kita akan menjadi leveragin
Menggunakan Sistem yang Berbeda? Pendahuluan Docker Swarm mengubah masing-masing server Anda menjadi sekelompok komputer; memfasilitasi penskalaan, ketersediaan tinggi an
Dengan bantuan aplikasi Vultr Docker, Anda dapat dengan mudah menggunakan Docker pada instance server Vultr Anda. Sementara itu, Anda dapat memfasilitasi tugas mengelola Docker
Menggunakan Sistem yang Berbeda? Pendahuluan Sentry adalah solusi open source untuk pelacakan kesalahan. Sentry melacak pengecualian dan pesan berguna lainnya
Ikhtisar RancherOS adalah sistem operasi yang sangat ringan (hanya sekitar 60 MB) yang menjalankan daemon Docker sistem sebagai PID 0 untuk menjalankan layanan sistem
Kubernetes adalah platform sumber terbuka yang dikembangkan oleh Google untuk mengelola aplikasi kemas di sekelompok server. Itu dibangun di atas satu dekade dan
Menggunakan Sistem yang Berbeda? Pendahuluan Docker Swarm mengubah masing-masing server Anda menjadi sekelompok komputer, memfasilitasi penskalaan, ketersediaan tinggi dan
Tutorial ini menjelaskan dasar-dasar memulai Docker. Saya berasumsi bahwa Anda sudah menginstal Docker. Langkah-langkah dalam tutorial ini akan bekerja pada sebuah
Saat menjalankan aplikasi web, Anda biasanya ingin memaksimalkan sumber daya Anda tanpa harus mengonversi perangkat lunak Anda untuk menggunakan multithreading.
Prasyarat Mesin Docker 1.8+. Minimal 4GB ruang disk. Minimal RAM 4GB. Langkah 1. Instal Docker Untuk menginstal SQL-Server, Docker mus
Artikel ini akan menunjukkan kepada Anda bagaimana menyebarkan aplikasi Node Anda dalam wadah Docker. Catatan: Tutorial ini mengasumsikan bahwa Anda telah menginstal dan membaca Docker
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut