Terapkan Kubernetes Dengan Kubeadm di CentOS 7
Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di
Kita semua tahu dan menyukai Docker, platform untuk membuat, mengurus dan mengedarkan bekas aplikasi di pelbagai mesin. Docker Inc. menyediakan perkhidmatan untuk mengehos kontena sumber terbuka untuk dimuat turun (atau ditarik) seperti git repositori yang dikenali sebagai "Docker Registry." Fikirkan ia seperti bekas GitHub for Docker.
Tetapi bagaimana jika anda mahu menghoskan pendaftaran anda sendiri yang terpisah dari yang umum? Baiklah, Docker Inc. telah membuka aplikasi Registry mereka di GitHub.
Tutorial ini akan membawa anda melalui proses menyiapkan pendaftaran Docker peribadi menggunakan CoreOS pada VPS baru.
Kami tidak akan menghabiskan banyak waktu untuk melakukan apa yang dapat dilakukan oleh Docker dan CoreOS, kerana ini di luar ruang lingkup tutorial ini. Pada dasarnya, CoreOS direka untuk kelompok pelayan yang besar, kecil, pantas dan mendapat kemas kini keselamatan secara automatik. Sistem fail rootnya juga hanya boleh dibaca, yang bermaksud anda mesti menggunakan Docker untuk menjalankan apa-apa jenis perisian yang tidak disertakan dengan pemasangan asas.
Ini menjadikan Core OS sistem host yang sempurna untuk Docker!
Docker Inc. telah menyediakan Registry sebagai gambar peringkat teratas, ini bermakna kita dapat membuatnya dengan mudah:
docker pull registry
Ini boleh mengambil masa beberapa minit bergantung pada kelajuan sambungan.
Tambahan menjadi gambar tingkat atas juga bermaksud mendapat sokongan dan kemas kini secara berkala.
Sekarang mari kita menguji pendaftaran. Kita boleh membuat wadah baru menggunakan gambar pendaftaran:
docker run -p 5000:5000 -d --name=basic_registry registry
Bagi mereka yang belum terlalu banyak menggunakan Docker, -p
bendera adalah singkatan PORT
, yang bermaksud kami memperlihatkan port 5000 di atas dari bekas ke port host 5000.
The -d
bendera bermaksud daemon
, ini akan menyebabkan bekas untuk berjalan di latar belakang dan tidak mencetak output untuk sesi SSH semasa, kami juga mahu untuk menamakan ini bekas ujian asas menggunakan --name
pilihan supaya kita boleh dengan mudah menguruskan kemudian.
Pastikan bekas asas pendaftaran anda berjalan menggunakan docker ps
. Hasilnya kelihatan serupa 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, lawati http://YOUR_IP:5000
di penyemak imbas web anda, dan anda akan mendapat mesej seperti yang berikut:
"docker-registry server (dev) (v0.8.1)"
Perhatikan perkataan
dev
dalam kurungan. Ini bermaksud bahawa pelayan sedang menjalankan konfigurasi dev. Kami akan melihat lebih banyak konfigurasi tidak lama lagi.
Anda kini menjalankan pendaftaran kontena (sangat asas) anda sendiri! Tetapi kita belum selesai.
Mungkin anda mahu merahsiakan perkara ini dari mata kasar, atau mungkin menyimpan gambar anda di Amazon S3 dan bukannya storan tempatan. Mari kita perhatikan pelbagai pilihan konfigurasi di bahagian seterusnya.
Sebelum kita teruskan, mari kita bunuh wadah ujian agar kita tidak menemui port yang bertentangan.
docker kill basic_registry
Ada dua cara yang boleh kita lalui konfigurasi ke Docker Registry. Salah satu cara adalah dengan meneruskan pemboleh ubah persekitaran ke wadah baru, dan yang lain adalah dengan menambahkan fail konfigurasi.
Berikut adalah beberapa pilihan konfigurasi biasa yang akan kita gunakan:
loglevel
- Jumlah minimum maklumat untuk log masuk ke konsol. Lalai adalah info
.standalone
- Sekiranya Pendaftaran ini bertindak sendiri? (Jangan sekali-kali membuat pertanyaan mengenai pendaftaran awam.) Lalai adalah true
.index_endpoint
- Sekiranya tidak berdiri sendiri, indeks apa lagi yang akan kami tanyakan? Lalai index.docker.io
.cache
dan cache_lru
- Pilihan yang berkaitan dengan menggunakan cache Redis untuk fail kecil, kami akan menyentuh perkara ini kemudian.storage
- Apakah backend penyimpanan yang harus kita gunakan untuk pelayan ini? (Dalam tutorial ini kita akan menggunakan tempatan).storage_path
- Jika menggunakan penyimpanan tempatan, direktori apa yang harus kita gunakan untuk menyimpan fail?Sebelum kita bekerja dengan konfigurasi, kita memerlukan fail asas untuk dikerjakan. Fail dari repositori Docker Registry di GitHub akan berfungsi dengan baik:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
Fail harus berjaya disimpan dengan output seperti:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
Hebat! Sekarang kita dapat mengubahsuai fail ini agar sesuai dengan keperluan kita.
Satu-satunya penyunting teks yang disertakan dengan Core OS adalah vim
, tetapi jangan risau jika anda belum pernah menggunakannya sebelumnya, ini akan menerangkan langkah demi langkah apa yang harus diedit dan bagaimana melakukannya.
vim config_sample.yml
Setelah fail dibuka, tekan I
dan di sudut kanan bawah akan dipaparkan: -- INSERT --
untuk mod sisipan. Tatal hingga ke bahagian bawah fail menggunakan kekunci anak panah anda, anda akan melihat bahagian berlabel prod
.
Kami akan mengubah dua baris, perubahannya ada di bawah
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
Apa yang telah kami lakukan adalah mengubah prod
konfigurasi untuk berasal dari local
bahagian dan bukannya s3
bahagian. Kemudian kami menimpa storage_path
untuk menggunakan jalan /data
di dalam bekas baru.
Setelah anda mengesahkan bahawa semua perubahan itu betul, tekan ESC
untuk keluar dari mod penyisipan dan taipkan :wq
(ini bermaksud menulis perubahan pada fail, dan berhenti vim.)
Sekarang mari kita ganti nama fail menjadi config.yml
mv config_sample.yml config.yml
Sekiranya anda ingin menggunakan redis untuk mempercepat pendaftaran kontena anda, semudah menarik wadah baru dari pendaftaran awam dan menambahkan beberapa baris konfigurasi.
Pertama, tarik gambar tingkat atas Redis:
docker pull redis
Setelah gambar berjaya ditarik, kami dapat menjalankannya dan menamakannya seperti yang kami lakukan dengan ujian pendaftaran:
docker run -d --name registry-redis redis
Kerana redis ada dalam memori, kami tidak perlu melakukan konfigurasi untuk itu, kerana kami akan menghubungkannya ke wadah pendaftaran pada langkah-langkah kemudian.
Sekali lagi, pastikan ia 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
Kini membuka semula yang config.yml
dalam vim
dan masukkan insert mod sama seperti kali pertama kami menyuntingnya.
Tambahkan baris berikut di bawah prod
bahagian ini, pastikan untuk membuat lekukan dengan betul. Kali ini kami hanya menambah 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
Pemboleh ubah persekitaran REDIS_PORT_6379_TCP_ADDR
dan REDIS_PORT_6379_TCP_PORT
diserahkan ke wadah pendaftaran setelah dihubungkan dengan wadah Redis.
Dengan itu, anda kini telah menyediakan wadah Redis yang akan berfungsi secara langsung dengan bekas pendaftaran anda. Sekarang untuk membina pendaftaran!
Kami mempunyai semua set konfigurasi dan siap, sekarang kami perlu membina wadah pendaftaran yang sebenarnya.
Api sehingga vim Dockerfile
untuk mewujudkan Dockerfile baru. Masukkan mod sisipan dan ikuti suntingan di bawah.
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 adalah memperluas imej pendaftaran sehingga akan menggunakan fail konfigurasi dan tetapan kami. Dockerfile adalah sekumpulan arahan membina untuk Docker membaca dan membina. Sekiranya anda ingin mengetahui lebih lanjut mengenai Dockerfiles dan sintaksinya, lihat dokumentasi laman Docker rasmi.
Seterusnya kita perlu membina bekas 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 sudah bersedia untuk berlari!
Mari buat direktori pada sistem hos kami untuk dipasang di dalam bekas sebagai /data
kelantangan.
mkdir registry-data
Sekarang kita boleh membuat bekas baru. Sekiranya anda merancang untuk menggunakan cache Redis, gunakan arahan ke-2 di bawah.
# 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 pelayan anda berjalan dengan betul, lawati http://YOUR_IP:5000
. Anda akan melihat mesej berikut:
"docker-registry server (prod) (v0.8.1)"
Perhatikan (prod)
makna perubahan konfigurasi kami berjaya!
Sekarang kita mempunyai pendaftaran yang berjalan sendiri, kita mahu pelanggan Docker pada mesin tempatan kita mula menggunakannya. Biasanya anda akan menggunakan perintah: docker login
tetapi untuk penggunaan kami, kami perlu menambahkan satu lagi argumen pada arahan log masuk:
docker login YOUR_IP:5000
Masukkan nama pengguna dan kata laluan (anggap seperti membuat akaun baru) dan abaikan mesej yang menyatakan bahawa anda mesti mengaktifkannya.
Seterusnya, mari kita tarik gambar saham, dan tekan 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
Sekiranya semuanya mendorong dengan betul, mesej akhir harus sesuai dengan:
Pushing tag for rev [a9eb17255234] on
Tahniah! Anda telah menyediakan repositori docker anda sendiri.
Berikut adalah beberapa idea mengenai cara memperbaiki pendaftaran peribadi baru anda:
Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di
Pengenalan Docker adalah aplikasi yang memungkinkan kita menyebarkan program yang dijalankan sebagai wadah. Ia ditulis dalam bahasa pengaturcaraan Go yang popular
Pendahuluan Panduan ini akan menunjukkan kepada anda cara membuat dan mengkonfigurasi kawanan Docker menggunakan beberapa pelayan Alpine Linux 3.9.0 dan Portainer. Harap maklum tha
Menggunakan Sistem Berbeza? Pengenalan Rancher adalah platform sumber terbuka untuk menjalankan kontena dan membina perkhidmatan kontena peribadi. Rancher adalah asas
Artikel ini menerangkan cara memasang docker-compose pada CoreOS. Di CoreOS, folder / usr / tidak berubah sehingga jalan standard / usr / local / bin tidak tersedia
Menggunakan Sistem Berbeza? Pengenalan Rancher adalah platform sumber terbuka untuk menjalankan kontena dan membina perkhidmatan kontena peribadi. Rancher adalah asas
Menggunakan Sistem Berbeza? Pengenalan Docker Swarm menukarkan pelayan individu anda ke dalam kumpulan komputer, memudahkan scaling, ketersediaan tinggi
Menggunakan Sistem yang berbeza? Docker adalah aplikasi yang memungkinkan penggunaan perisian dalam wadah maya. Ia ditulis dalam program Go
Gambaran Keseluruhan RancherOS adalah sistem operasi yang sangat ringan (hanya sekitar 60 MB) yang menjalankan sistem Docker daemon sebagai PID 0 untuk menjalankan sistem perkhidmatan
Menggunakan Sistem Berbeza? Pengenalan Docker Swarm menukarkan pelayan individu anda ke dalam kumpulan komputer; memudahkan penskalaan, ketersediaan tinggi dan
Tutorial ini menerangkan asas-asas untuk memulakan Docker. Saya menganggap bahawa anda sudah memasang Docker. Langkah-langkah dalam tutorial ini akan berfungsi pada
Semasa menjalankan aplikasi web, biasanya anda ingin memanfaatkan sepenuhnya sumber anda tanpa perlu menukar perisian anda untuk menggunakan multithreading o
Prasyarat enjin Docker 1.8+. Minimum ruang cakera 4GB. Minimum RAM 4GB. Langkah 1. Pasang Docker Untuk memasang SQL-Server, Docker mus
Menggunakan Sistem Berbeza? Pengenalan Docker adalah aplikasi yang memungkinkan penggunaan perisian dalam wadah maya. Ia ditulis dalam G
Menggunakan Sistem yang berbeza? Docker adalah aplikasi yang memungkinkan untuk menyebarkan program yang dijalankan sebagai wadah. Ia ditulis dalam program Go yang popular
Artikel ini akan menunjukkan kepada anda cara menyebarkan aplikasi Node anda dalam wadah Docker. Catatan: Tutorial ini mengandaikan bahawa anda telah memasang dan membaca Docker
Menggunakan Sistem Berbeza? Pengenalan Sentry adalah penyelesaian sumber terbuka untuk pengesanan ralat. Sentry menjejaki pengecualian dan mesej berguna lain dari sana
Harbour adalah pelayan pendaftaran kelas perusahaan sumber terbuka yang menyimpan dan menyebarkan gambar Docker. Harbour memperluas sumber terbuka Docker Distribution b
Rancher OS adalah sebaran Linux yang sangat ringan yang dibina di sekitar Docker. OS itu sendiri mempunyai berat sekitar 20MB. Tutorial ini akan membuatkan anda dapat menggunakannya
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut