ติดตั้ง Rancher OS ผ่าน iPXE
Rancher OS คือการกระจาย Linux ที่เบามากซึ่งสร้างขึ้นรอบ ๆ Docker ระบบปฏิบัติการมีน้ำหนักประมาณ 20MB บทช่วยสอนนี้จะทำให้คุณพร้อมใช้งาน
คอนเทนเนอร์ LXC (คอนเทนเนอร์ Linux) เป็นคุณลักษณะของระบบปฏิบัติการใน Linux ที่สามารถใช้เพื่อเรียกใช้ระบบ Linux ที่แยกได้หลายตัวในโฮสต์เดียว
คำแนะนำเหล่านี้จะแนะนำคุณเกี่ยวกับขั้นตอนพื้นฐานของการกำหนดค่าเซิร์ฟเวอร์สำหรับการโฮสต์คอนเทนเนอร์ Linux แบบแยก เราจะกำหนดค่าคุณสมบัติดังต่อไปนี้:
ssh [email protected]
และssh [email protected]
คู่มือนี้ถือว่า:
ในตอนท้ายของบทช่วยสอนเราจะได้รับตู้เสมือนสองตู้ที่สามารถเข้าถึงอินเทอร์เน็ตได้ แต่ไม่สามารถ ping ซึ่งกันและกันได้ เราจะกำหนดค่าการส่งต่อพอร์ตจากexample.com
ไปยังคอนเทนเนอร์ เราจะปรับใช้การกำหนดค่าที่ปลอดภัยและแผงการจัดการด้วยความช่วยเหลือของเครื่องมือจากแพ็คเก็ต Proxmox
เราจะใช้ Proxmox สำหรับการจัดการคอนเทนเนอร์ LXC เท่านั้น โดยทั่วไปแล้วมันยังรองรับ KVM แต่ห้ามมิให้ทำการจำลองเสมือนแบบซ้อนบน Vultr ก่อนเริ่มต้นควรดาวน์โหลด Proxmox ISO จากเว็บไซต์ทางการ Proxmox VE 5.0 ISO Installer
เราจะใช้ ติดตั้งระบบปฏิบัติการจากภาพด้วยการตั้งค่าเริ่มต้นและรีบูตเครื่องเสมือน นอกจากนี้คุณสามารถติดตั้ง proxmox ด้วยตนเองได้จากแหล่งต่างๆ แต่ไม่จำเป็นในกรณีส่วนใหญ่ (ทำตามคำแนะนำที่นี่ )
เชื่อมต่อกับโฮสต์ของคุณโดย SSH อัพเดตรายการเท็มเพลต proxmox และดาวน์โหลดเทมเพลตที่เหมาะสมสำหรับคอนเทนเนอร์
apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz
ตอนนี้เราจำเป็นต้องสร้างคอนเทนเนอร์ลินุกซ์ด้วยอินเตอร์เฟสเครือข่ายที่เชื่อมต่อกับบริดจ์ลินุกซ์ เปิด/etc/network/interfaces
และผนวกบรรทัดต่อไปนี้:
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
หลังจากรีบูตระบบคุณสามารถสร้างคอนเทนเนอร์ใหม่จากUbuntu 14.04
เทมเพลต
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
คุณสามารถตรวจสอบภาชนะของคุณโดยใช้pct list
เริ่มต้นภาชนะ # 200 กับและใส่เปลือกด้วยpct start 200
นอกจากนี้คุณยังสามารถตรวจสอบการตั้งค่าเครือข่ายและที่อยู่ด้วยpct enter 200
ip addr
NAT
เพื่อให้การเชื่อมต่ออินเทอร์เน็ตในภาชนะของคุณเราต้องเปิดใช้งาน ต่อไปนี้จะช่วยให้การรับส่งข้อมูลถูกส่งต่อจากคอนเทนเนอร์ไปยังอินเทอร์เน็ตด้วยความช่วยเหลือของเทคโนโลยี NAT vmbr0
สะพานเชื่อมต่อกับอินเตอร์เฟซภายนอกและvmbr1
สะพานเชื่อมต่อกับภาชนะบรรจุ
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
ป้อนคอนเทนเนอร์ด้วยpct enter 200
และกำหนดค่าเว็บเซิร์ฟเวอร์ภายใน
apt-get update
apt-get install nginx
service nginx start
exit
ตอนนี้เราต้องกำหนดค่า Nginx บนเซิร์ฟเวอร์ของคุณให้เป็นเว็บไซต์พร็อกซีลงในคอนเทนเนอร์
apt-get update
apt-get install nginx
สร้างไฟล์การกำหนดค่าใหม่/etc/nginx/sites-available/box200
ด้วยเนื้อหาดังต่อไปนี้:
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 จะพร็อกซีแต่ละคำขอ HTTP server200.example.com
จากเซิร์ฟเวอร์ของคุณไปยังคอนเทนเนอร์ด้วย IP 10.100.0.200 เปิดใช้งานการกำหนดค่านี้
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
หากคุณต้องการให้เข้าถึงกล่องทรายได้ง่ายคุณต้องส่งต่อเซสชัน SSH ไปยังคอนเทนเนอร์ ในการทำเช่นนั้นให้สร้างผู้ใช้ใหม่บนเซิร์ฟเวอร์รูทของคุณ อย่าลืมใส่รหัสผ่านพารามิเตอร์อื่น ๆ ไม่จำเป็น
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
คัดลอกคีย์ SSH นี้และป้อนคอนเทนเนอร์เพื่อต่อท้ายคีย์
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
บนเซิร์ฟเวอร์ของคุณเพิ่มบรรทัดต่อไปนี้ลงใน.ssh/authorized_keys
ไฟล์
command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
อย่าลืมเปลี่ยน<YOUR SSH KEY>
เป็นกุญแจสาธารณะในบ้านของคุณ หรือคุณสามารถเรียกใช้สิ่งต่อไปนี้จากบรรทัดคำสั่ง
echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
จากนั้นคุณสามารถเชื่อมต่อกับ sandbox ของคุณด้วย ssh
`ssh box200@<your_server_IP>`
ถึงเวลาที่ต้องใช้การปรับปรุงความปลอดภัยหลายประการ อันดับแรกเราต้องการเปลี่ยนพอร์ตเริ่มต้นของ SSH จากนั้นเราต้องการปกป้องหน้าการจัดการ Proxmox ของเราด้วยการตรวจสอบสิทธิ์ HTTP พื้นฐาน
nano /etc/ssh/sshd_config
ยกเลิกหมายเหตุและเปลี่ยนบรรทัด
#Port 22
ถึง
Port 24000
รีสตาร์ท ssh
service ssh restart
เชื่อมต่อกับ ssh ใหม่ด้วยพอร์ตใหม่
ssh root@<your_IP> -p 24000
/etc/default/pveproxy
สร้างไฟล์
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
รีสตาร์ทpveproxy
เพื่อให้การเปลี่ยนแปลงมีผล
/etc/init.d/pveproxy restart
กำหนดค่า nginx (หากคุณยังไม่เคยทำมาก่อน)
apt-get install nginx
service nginx restart
/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; }
}
รับใบรับรอง SSL ที่ถูกต้องและอัพเดตการกำหนดค่า nginx ของคุณ ตัวอย่างเช่นสามารถทำได้ด้วยความช่วยเหลือของใบรับรองและ letsencrypt สำหรับข้อมูลเพิ่มเติมคลิกที่นี่
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
ตอนนี้การกำหนดค่า nginx ของคุณควรมีลักษณะเช่นนี้ (หรือคุณสามารถเปลี่ยนได้ด้วยตนเองหลังจาก) อย่าลืมที่จะใส่เครื่องหมายข้อคิดเห็น ssl, auth และ location
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
}
สร้าง/etc/htpasswd
ไฟล์โดยใช้เครื่องกำเนิดไฟฟ้า htpasswd
nano /etc/nginx/htpasswd
รีสตาร์ท Nginx
service nginx restart
ตอนนี้คุณสามารถดูคอนโซลการจัดการhttps://example.com
หลังจากการรับรองความถูกต้องพื้นฐาน
ขณะนี้มีคอนเทนเนอร์ตามคำขอ HTTP และ SSH ตอนนี้เราสามารถกำหนดค่าการส่งต่อพอร์ตจากเซิร์ฟเวอร์ภายนอกไปยังคอนเทนเนอร์ ตัวอย่างเช่นสำหรับการทำแผนที่example.com:8080
เพื่อ10.100.0.200:3000
ป้อนข้อมูลต่อไปนี้
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
คุณสามารถดูกฎปัจจุบัน
`iptables -t nat -v -L PREROUTING -n --line-number`
นอกจากนี้คุณยังสามารถลบกฎด้วยหมายเลขได้ดังต่อไปนี้
`iptables -t nat -D PREROUTING <#>`.
ตอนนี้เราสามารถเข้าถึงคอนเทนเนอร์หนึ่งจากอีกที่หนึ่ง
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
หากคุณต้องการ จำกัด การเข้าถึงจากคอนเทนเนอร์ 250 ถึง 200 คุณต้องเชื่อมต่อแต่ละคอนเทนเนอร์เข้ากับบริดจ์ส่วนบุคคลและปิดใช้งานการส่งต่อระหว่างบริดจ์
ลบคอนเทนเนอร์ที่มีอยู่
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
/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
ระบบ
เปิดใช้งานการส่งต่อ
`sysctl -w net.ipv4.ip_forward=1`
หากต้องการทำการเปลี่ยนแปลงเหล่านี้อย่างถาวรคุณสามารถแก้ไข/etc/sysctl.conf
ไฟล์และค้นหาข้อความต่อไปนี้
#net.ipv4.ip_forward=1
Uncomment มัน
net.ipv4.ip_forward=1
นอกจากนี้คุณยังสามารถเรียกใช้sysctl -p
เพื่อทำการเปลี่ยนแปลงมีผลทันที
สร้างตู้คอนเทนเนอร์
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
เริ่มภาชนะด้วยและpct start 200
pct start 250
ล้างiptables
กฎ
iptables -F
เปิดใช้งาน NAT
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0
เป็นบริดจ์ซึ่งรวมถึงอินเตอร์เฟสภายนอก
อนุญาตให้ส่งต่อจากอินเทอร์เฟซภายนอก
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
อนุญาตให้ส่งต่อจากคอนเทนเนอร์ไปยังอินเทอร์เน็ต
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
วางการส่งต่ออื่น ๆ
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
ตอนนี้ตรวจสอบว่า10.100.1.200
สามารถ ping 8.8.8.8
แต่ไม่สามารถ ping 10.100.2.250
และ10.100.2.250
สามารถ ping 8.8.8.8
แต่ไม่สามารถ 10.100.1.200
ping
ลำดับของคำสั่งที่เกี่ยวข้องกับ iptables เป็นสิ่งสำคัญ iptables-persistent
วิธีที่ดีที่สุดที่จะดำเนินการกฎของคุณคือการใช้ แพ็คเกจนี้ช่วยให้คุณบันทึกกฎ iptables ลงในไฟล์/etc/iptables/rules.v4
และ/etc/iptables/rules.v6
สามารถโหลดได้โดยอัตโนมัติหลังจากรีบูตระบบ เพียงแค่ติดตั้งกับสิ่งต่อไปนี้
apt-get install iptables-persistent
เลือกYES
เมื่อได้รับแจ้ง
Rancher OS คือการกระจาย Linux ที่เบามากซึ่งสร้างขึ้นรอบ ๆ Docker ระบบปฏิบัติการมีน้ำหนักประมาณ 20MB บทช่วยสอนนี้จะทำให้คุณพร้อมใช้งาน
บทนำนักเทียบท่าเป็นแอพพลิเคชั่นที่ช่วยให้เราสามารถปรับใช้โปรแกรมที่ทำงานเป็นตู้คอนเทนเนอร์ได้ มันถูกเขียนในภาษาโปรแกรม Go ที่ได้รับความนิยม
แอปพลิเคชัน PHP มักประกอบด้วยเว็บเซิร์ฟเวอร์ระบบฐานข้อมูลเชิงสัมพันธ์และล่ามภาษาเอง ในบทช่วยสอนนี้เราจะเป็นผู้ใช้ประโยชน์
Harbour เป็นเซิร์ฟเวอร์รีจิสตรีระดับองค์กรโอเพนซอร์ซที่จัดเก็บและกระจายอิมเมจ Docker ฮาร์เบอร์ขยายโอเพนซอร์ซ
ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน
ใช้ระบบที่แตกต่างกันอย่างไร นักเทียบท่าเป็นแอปพลิเคชั่นที่อนุญาตให้มีการปรับใช้ซอฟต์แวร์ภายในคอนเทนเนอร์เสมือน มันถูกเขียนในโปรแกรม Go
ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Rancher เป็นแพลตฟอร์มโอเพ่นซอร์สสำหรับการเรียกใช้คอนเทนเนอร์และสร้างบริการคอนเทนเนอร์ส่วนตัว Rancher เป็นฐาน
ใช้ระบบที่แตกต่างกันอย่างไร บทนำ Docker Swarm เปลี่ยนเซิร์ฟเวอร์ส่วนบุคคลของคุณให้กลายเป็นคลัสเตอร์ของคอมพิวเตอร์ อำนวยความสะดวกในการปรับขนาดความพร้อมใช้งานสูง
ด้วยความช่วยเหลือของแอปพลิเคชัน Vultr Docker คุณสามารถปรับใช้ Docker ในอินสแตนซ์ของเซิร์ฟเวอร์ Vultr ของคุณได้อย่างง่ายดาย ในขณะเดียวกันคุณสามารถอำนวยความสะดวกในการจัดการงานนักเทียบท่า
บทความนี้จะอธิบายวิธีการติดตั้งนักเทียบท่าบน CoreOS ใน CoreOS นั้นโฟลเดอร์ / usr / จะไม่เปลี่ยนรูปดังนั้นเส้นทาง / usr / local / bin ไม่พร้อมใช้งานสำหรับ
เราทุกคนต่างก็รู้จักและชื่นชอบนักเทียบท่าซึ่งเป็นแพลตฟอร์มในการสร้างจัดการและแจกจ่ายคอนเทนเนอร์ของแอปพลิเคชันในหลาย ๆ เครื่อง Docker Inc. เป็นผู้ให้บริการ
ใช้ระบบที่แตกต่างกันอย่างไร เกริ่นนำ Sentry เป็นโซลูชั่นโอเพ่นซอร์สสำหรับการติดตามข้อผิดพลาด ยามติดตามข้อยกเว้นและข้อความที่เป็นประโยชน์อื่น ๆ ไปๆมาๆ
ภาพรวมบทความนี้มีไว้เพื่อช่วยให้คุณได้รับคลัสเตอร์ Kubernetes และทำงานกับ kubeadm ในเวลาไม่นาน คู่มือนี้จะปรับใช้เซิร์ฟเวอร์สองเครื่องในวันที่
ภาพรวม RancherOS เป็นระบบปฏิบัติการที่มีน้ำหนักเบาอย่างไม่น่าเชื่อ (เพียงประมาณ 60 MB) ที่เรียกใช้ระบบ Docker daemon เป็น PID 0 สำหรับการเรียกใช้บริการระบบ
ใช้ระบบที่แตกต่างกันอย่างไร บทนำ Docker Swarm เปลี่ยนเซิร์ฟเวอร์ส่วนบุคคลของคุณให้กลายเป็นคลัสเตอร์ของคอมพิวเตอร์ช่วยอำนวยความสะดวกในการปรับขนาด
บทช่วยสอนนี้อธิบายพื้นฐานของการเริ่มต้นใช้งาน Docker ฉันคิดว่าคุณได้ติดตั้ง Docker แล้ว ขั้นตอนในบทช่วยสอนนี้จะใช้กับ
เมื่อใช้งานเว็บแอพพลิเคชั่นโดยปกติคุณต้องการใช้ทรัพยากรให้เกิดประโยชน์สูงสุดโดยไม่ต้องแปลงซอฟต์แวร์ของคุณให้ใช้มัลติเธรด
บทนำคู่มือนี้จะแสดงวิธีสร้างและกำหนดค่า Docker Swarm โดยใช้เซิร์ฟเวอร์ Alpine Linux 3.9.0 และ Portainer หลายตัว โปรดระวังด้วย
ข้อกำหนดเบื้องต้นเอ็นจิ้น Docker 1.8+ พื้นที่ดิสก์ขั้นต่ำ 4GB RAM ขั้นต่ำ 4GB ขั้นตอนที่ 1 ติดตั้ง Docker เพื่อติดตั้ง SQL-Server, Docker mus
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน