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
Wadah LXC (wadah Linux) adalah ciri sistem operasi di Linux yang dapat digunakan untuk menjalankan beberapa sistem Linux terpencil pada satu host.
Arahan ini akan memandu anda melalui langkah asas konfigurasi pelayan untuk hosting kontena Linux terpencil. Kami akan mengkonfigurasi ciri berikut:
ssh [email protected]
danssh [email protected]
Panduan ini mengandaikan bahawa:
Pada akhir tutorial, kita akan mendapat dua bekas maya yang akan mempunyai akses ke internet, tetapi tidak dapat saling berpasangan. Kami juga akan mengkonfigurasi pemajuan port dari example.com
kontena. Kami akan menggunakan panel konfigurasi dan pengurusan yang selamat dengan bantuan alat dari paket Proxmox.
Kami akan menggunakan Proxmox hanya untuk pengurusan kontena LXC. Secara amnya, ia juga menyokong KVM, tetapi virtualisasi bersarang dilarang di Vultr. Sebelum memulakan, Proxmox ISO harus dimuat turun dari laman web rasmi. Kami akan menggunakan Proxmox VE 5.0 ISO Installer
. Pasang OS dari gambar dengan tetapan lalai dan but semula mesin maya. Anda juga boleh memasang proxmox secara manual dari sumber, tetapi itu tidak diperlukan dalam kebanyakan kes (ikuti arahan di sini ).
Sambungkan ke hos anda dengan SSH, kemas kini senarai templat proxmox dan muat turun templat yang sesuai untuk bekas.
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 antara muka rangkaian yang disambungkan ke jambatan 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
Selepas sistem reboot, anda boleh membuat bekas 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 boleh mengesahkan bekas anda menggunakan pct list
, mulakan bekas # 200 dengan pct start 200
dan masukkan cangkangnya dengan pct enter 200
. Anda juga dapat mengesahkan tetapan dan alamat rangkaian dengan ip addr
.
Untuk menyediakan sambungan internet di dalam bekas anda, kami perlu mengaktifkannya NAT
. Berikut ini akan membolehkan lalu lintas dihantar dari kontena ke internet dengan bantuan teknologi NAT. The vmbr0
jambatan disambungkan ke antara muka luar dan vmbr1
jambatan adalah dihubungkan dengan bekas.
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 bekas dengan pct enter 200
dan konfigurasikan pelayan web di dalamnya.
apt-get update
apt-get install nginx
service nginx start
exit
Sekarang, kita perlu mengkonfigurasi Nginx di pelayan anda agar laman web proksi menjadi wadah.
apt-get update
apt-get install nginx
Buat fail konfigurasi baru /etc/nginx/sites-available/box200
dengan kandungan 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 kini akan server200.example.com
memproksi setiap permintaan HTTP dari pelayan anda ke wadah dengan IP 10.100.0.200. Aktifkan konfigurasi ini.
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
Sekiranya anda ingin memberikan akses mudah ke kotak pasir, anda perlu meneruskan sesi SSH ke dalam bekas. Untuk melakukannya, buat pengguna baru di pelayan root anda. Jangan lupa memasukkan kata laluan, parameter lain tidak diperlukan.
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
Salin kunci SSH ini dan masukkan bekas untuk menambahkan kunci.
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
Pada pelayan anda, tambahkan baris berikut ke .ssh/authorized_keys
fail.
command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
Jangan lupa menukar <YOUR SSH KEY>
kunci awam rumah anda. Sebagai alternatif, anda boleh menjalankan yang berikut dari baris arahan.
echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
Kemudian, anda boleh menyambung ke kotak pasir anda dengan ssh.
`ssh box200@<your_server_IP>`
Sudah tiba masanya untuk melaksanakan beberapa peningkatan keselamatan. Pertama, kami mahu menukar port SSH lalai. Kemudian kami ingin melindungi halaman pengurusan Proxmox kami dengan pengesahan HTTP asas.
nano /etc/ssh/sshd_config
Ketidakpuasan dan ubah garis
#Port 22
kepada
Port 24000
Mulakan semula ssh.
service ssh restart
Sambung semula ke ssh dengan port baru.
ssh root@<your_IP> -p 24000
Buat fail /etc/default/pveproxy
.
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
Mulakan semula pveproxy
untuk perubahan berlaku.
/etc/init.d/pveproxy restart
Konfigurasikan nginx (jika anda belum melakukannya sebelumnya).
apt-get install nginx
service nginx restart
Buat konfigurasi lalai 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 sijil SSL yang sah dan kemas kini konfigurasi nginx anda. Sebagai contoh, ia boleh dilakukan dengan bantuan kotak sertifikat dan letsencrypt. Untuk maklumat lebih lanjut, klik di sini .
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
Sekarang, konfigurasi nginx anda akan kelihatan seperti ini (atau anda boleh menukarnya secara manual selepasnya). Jangan lupa untuk melucutkan garis panduan ssl, auth dan 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
fail menggunakan penjana Htpasswd .
nano /etc/nginx/htpasswd
Mulakan semula Nginx
service nginx restart
Anda kini dapat melihat konsol pengurusan https://example.com
setelah pengesahan asas.
Bekas kini boleh didapati dengan permintaan HTTP dan SSH. Sekarang, kita dapat mengkonfigurasi pemajuan port dari pelayan luaran ke kontena. Sebagai contoh, untuk pemetaan example.com:8080
untuk 10.100.0.200:3000
memasukkan perkara berikut.
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
Anda boleh melihat peraturan semasa.
`iptables -t nat -v -L PREROUTING -n --line-number`
Anda juga boleh menghapus peraturan berdasarkan nombor dengan yang berikut.
`iptables -t nat -D PREROUTING <#>`.
Kita sekarang boleh mengakses satu bekas 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
Sekiranya anda ingin menyekat akses dari kontena 250 hingga 200, anda perlu menyambungkan setiap kontena ke jambatan peribadi dan melumpuhkan pemajuan antara jambatan.
Padamkan bekas yang ada.
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
Tukar kandungan /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
Dayakan pemajuan
`sysctl -w net.ipv4.ip_forward=1`
Untuk menjadikan perubahan ini kekal, anda boleh mengedit /etc/sysctl.conf
fail dan mencari teks berikut.
#net.ipv4.ip_forward=1
Tidak berjaya.
net.ipv4.ip_forward=1
Anda juga dapat berjalan sysctl -p
untuk membuat perubahan segera berlaku.
Buat bekas.
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
Mulakan bekas dengan pct start 200
dan pct start 250
.
Siram iptables
peraturan.
iptables -F
Dayakan NAT.
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0
adalah jambatan yang merangkumi antara muka luaran.
Benarkan pemajuan dari antara muka luaran.
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
Benarkan penghantaran dari kontena 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
Turunkan pemajuan yang lain.
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
Sekarang, periksa yang 10.100.1.200
boleh ping 8.8.8.8
tetapi tidak boleh ping 10.100.2.250
dan yang 10.100.2.250
boleh ping 8.8.8.8
tetapi tidak dapat ping 10.100.1.200
.
Urutan perintah yang berkaitan dengan iptables adalah penting. Kaedah terbaik untuk mengendalikan peraturan anda adalah dengan menggunakan iptables-persistent
. Pakej ini membantu anda untuk menjimatkan iptables kaedah-kaedah untuk fail /etc/iptables/rules.v4
dan /etc/iptables/rules.v6
dan ia boleh secara automatik memuatkan mereka selepas sistem reboot. Pasang sahaja dengan yang berikut.
apt-get install iptables-persistent
Pilih YES
apabila diminta.
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
Kita semua tahu dan menyukai Docker, platform untuk membuat, mengurus dan mengedarkan bekas aplikasi di pelbagai mesin. Docker Inc. menyediakan perkhidmatan t
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