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
Wadah LXC (wadah Linux) adalah fitur sistem operasi di Linux yang dapat digunakan untuk menjalankan beberapa sistem Linux yang terisolasi pada satu host.
Petunjuk ini akan memandu Anda melalui langkah-langkah dasar konfigurasi server untuk hosting wadah Linux yang terisolasi. Kami akan mengonfigurasi fitur berikut:
ssh [email protected]
danssh [email protected]
Panduan ini mengasumsikan bahwa:
Di akhir tutorial kita akan mendapatkan dua kontainer virtual yang akan memiliki akses ke internet, tetapi tidak bisa saling ping. Kami juga akan mengonfigurasikan penerusan port dari example.com
wadah. Kami akan menggunakan panel konfigurasi dan manajemen yang aman dengan bantuan alat dari paket Proxmox.
Kami akan menggunakan Proxmox hanya untuk pengelolaan kontainer LXC. Secara umum, ini juga mendukung KVM, tetapi virtualisasi bersarang dilarang di Vultr. Sebelum memulai, Proxmox ISO harus diunduh dari situs web resmi. Kami akan menggunakan Proxmox VE 5.0 ISO Installer
. Instal OS dari gambar dengan pengaturan default dan reboot mesin virtual. Selain itu, Anda dapat menginstal proxmox dari sumber secara manual, tetapi itu tidak perlu dalam kebanyakan kasus (ikuti petunjuk di sini ).
Hubungkan ke host Anda dengan SSH, perbarui daftar templat proxmox dan unduh templat yang sesuai untuk wadah.
apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz
Sekarang, kita perlu membuat wadah linux dengan antarmuka jaringan yang terhubung ke jembatan linux. Buka /etc/network/interfaces
dan tambahkan baris berikut:
auto vmbr1
iface vmbr1 inet static
address 10.100.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
Setelah sistem dinyalakan ulang, Anda dapat membuat wadah baru dari Ubuntu 14.04
templat.
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.200/24,gw=10.100.0.1
Anda dapat memverifikasi wadah Anda menggunakan pct list
, mulai wadah # 200 dengan pct start 200
dan masukkan cangkangnya pct enter 200
. Anda juga dapat memverifikasi pengaturan dan alamat jaringan dengan ip addr
.
Untuk menyediakan koneksi internet di dalam wadah Anda, kami harus mengaktifkannya NAT
. Berikut ini akan memungkinkan lalu lintas untuk diteruskan dari wadah ke internet dengan bantuan teknologi NAT. The vmbr0
jembatan terhubung ke antarmuka eksternal dan vmbr1
jembatan terhubung ke kontainer.
sysctl -w net.ipv4.ip_forward=1
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
iptables --append FORWARD --in-interface vmbr1 -j ACCEPT
Masukkan wadah dengan pct enter 200
dan konfigurasikan server web di dalamnya.
apt-get update
apt-get install nginx
service nginx start
exit
Sekarang, kita perlu mengkonfigurasi Nginx di server Anda ke situs web proxy ke dalam wadah.
apt-get update
apt-get install nginx
Buat file konfigurasi baru /etc/nginx/sites-available/box200
dengan konten berikut:
server {
listen 80;
server_name server200.example.com;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://10.100.0.200/;
}
}
Nginx sekarang akan mem-proksi setiap permintaan HTTP untuk server200.example.com
dari server Anda ke kontainer dengan IP 10.100.0.200. Aktifkan konfigurasi ini.
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
Jika Anda ingin memberikan akses mudah ke kotak pasir, Anda perlu meneruskan sesi SSH ke dalam wadah. Untuk melakukannya, buat pengguna baru di server root Anda. Jangan lupa untuk memasukkan kata sandi, parameter lain tidak diperlukan.
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
Salin kunci SSH ini dan masukkan wadah untuk menambahkan kunci.
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
Di server Anda, tambahkan baris berikut ke .ssh/authorized_keys
file.
command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
Jangan lupa untuk mengubah <YOUR SSH KEY>
kunci publik rumah Anda. Atau, Anda dapat menjalankan yang berikut dari baris perintah.
echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
Kemudian, Anda dapat terhubung ke kotak pasir Anda dengan ssh.
`ssh box200@<your_server_IP>`
Sudah waktunya untuk mengimplementasikan beberapa peningkatan keamanan. Pertama, kami ingin mengubah port SSH default. Kemudian kami ingin melindungi halaman manajemen Proxmox kami dengan otentikasi HTTP dasar.
nano /etc/ssh/sshd_config
Batalkan komentar dan ubah jalurnya
#Port 22
untuk
Port 24000
Mulai kembali ssh.
service ssh restart
Hubungkan kembali ke ssh dengan port baru.
ssh root@<your_IP> -p 24000
Buat file /etc/default/pveproxy
.
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
Mulai ulang pveproxy
agar perubahan diterapkan.
/etc/init.d/pveproxy restart
Konfigurasikan nginx (jika Anda belum pernah melakukannya).
apt-get install nginx
service nginx restart
Buat konfigurasi default di /etc/nginx/site-available/default
.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
#auth_basic "Restricted";
#auth_basic_user_file htpasswd;
#location / { proxy_pass https://127.0.0.1:8006; }
}
Dapatkan sertifikat SSL yang valid dan perbarui konfigurasi nginx Anda. Misalnya, dapat dilakukan dengan bantuan certbox dan letsencrypt. Untuk informasi lebih lanjut, klik di sini .
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
Sekarang, konfigurasi nginx Anda akan terlihat seperti ini (atau Anda dapat mengubahnya secara manual setelah). Jangan lupa untuk menghapus komentar ssl, auth, dan garis lokasi.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
ssl on;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
location / { proxy_pass https://127.0.0.1:8006; }
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
}
Buat /etc/htpasswd
file menggunakan generator Htpasswd .
nano /etc/nginx/htpasswd
Mulai ulang Nginx
service nginx restart
Anda sekarang dapat melihat konsol manajemen https://example.com
setelah otentikasi dasar.
Wadah sekarang tersedia dengan permintaan HTTP dan SSH. Sekarang, kita dapat mengkonfigurasi port forwarding dari server eksternal ke wadah. Misalnya, untuk pemetaan example.com:8080
untuk 10.100.0.200:3000
memasukkan yang berikut ini.
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
Anda dapat melihat aturan saat ini.
`iptables -t nat -v -L PREROUTING -n --line-number`
Anda juga dapat menghapus aturan berdasarkan angka dengan yang berikut ini.
`iptables -t nat -D PREROUTING <#>`.
Kami sekarang dapat mengakses satu wadah dari yang lain.
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.250/24,gw=10.100.0.1
pct start 250
pct enter 250
ping 10.100.0.200
Jika Anda ingin membatasi akses dari wadah 250 hingga 200, Anda harus menghubungkan setiap wadah ke jembatan pribadi dan menonaktifkan penerusan antar jembatan.
Hapus wadah yang ada.
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
Ubah konten /etc/network/interfaces
.
auto vmbr1
iface vmbr1 inet static
address 10.100.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
auto vmbr2
iface vmbr2 inet static
address 10.100.2.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
reboot
sistem
Aktifkan penerusan
`sysctl -w net.ipv4.ip_forward=1`
Untuk membuat perubahan ini permanen, Anda dapat mengedit /etc/sysctl.conf
file dan menemukan teks berikut.
#net.ipv4.ip_forward=1
Batalkan komentar itu.
net.ipv4.ip_forward=1
Anda juga dapat menjalankan sysctl -p
untuk membuat perubahan segera berlaku.
Buat wadah.
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.1.200/24,gw=10.100.1.1
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr2,ip=10.100.2.250/24,gw=10.100.2.1
Mulai wadah dengan pct start 200
dan pct start 250
.
Siram iptables
aturannya.
iptables -F
Aktifkan NAT.
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0
adalah jembatan yang mencakup antarmuka eksternal.
Izinkan penerusan dari antarmuka eksternal.
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
Izinkan penerusan dari wadah ke internet.
iptables -A FORWARD -i vmbr1 -o vmbr0 -s 10.100.1.0/24 -j ACCEPT
iptables -A FORWARD -i vmbr2 -o vmbr0 -s 10.100.2.0/24 -j ACCEPT
Jatuhkan penerusan lainnya.
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
Sekarang, periksa apakah 10.100.1.200
bisa ping 8.8.8.8
tetapi tidak bisa ping 10.100.2.250
dan 10.100.2.250
bisa ping 8.8.8.8
tapi tidak bisa ping 10.100.1.200
.
Urutan perintah yang terkait dengan iptables penting. Cara terbaik untuk mengoperasikan aturan Anda adalah menggunakan iptables-persistent
. Paket ini membantu Anda menyimpan aturan iptables ke file /etc/iptables/rules.v4
dan /etc/iptables/rules.v6
dan itu dapat memuatnya secara otomatis setelah sistem dinyalakan ulang. Instal saja dengan yang berikut ini.
apt-get install iptables-persistent
Pilih YES
kapan diminta.
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
Kita semua tahu dan cinta Docker, sebuah platform untuk membuat, mengelola, dan mendistribusikan kontainer aplikasi di beberapa mesin. Docker Inc. menyediakan layanan t
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