KubOSM ile Kubernetesi CentOS 7de dağıtın
Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu
LXC kapsayıcılar (Linux kapsayıcılar), Linux'ta tek bir ana bilgisayarda birden çok yalıtılmış Linux sistemini çalıştırmak için kullanılabilen bir işletim sistemi özelliğidir.
Bu talimatlar, yalıtılmış Linux kapsayıcılarının barındırılması için sunucu yapılandırmasının temel adımlarında size yol gösterecektir. Aşağıdaki özellikleri yapılandıracağız:
ssh [email protected]
vessh [email protected]
Bu kılavuzda:
Eğitimin sonunda internete erişebilecek, ancak birbirlerine ping atamayan iki sanal kapsayıcı elde edeceğiz. Ayrıca, bağlantı example.com
noktalarından konteynerlere bağlantı noktası iletmeyi de yapılandıracağız . Proxmox paketindeki araçların yardımıyla güvenli yapılandırma ve yönetim paneli dağıtacağız.
Proxmox'u yalnızca LXC kaplarının yönetimi için kullanacağız. Genellikle, KVM'yi de destekler, ancak Vultr'da iç içe sanallaştırma yasaktır. Başlamadan önce, bir Proxmox ISO resmi web sitesinden indirilmelidir. Biz kullanacağız Proxmox VE 5.0 ISO Installer
. İşletim sistemini varsayılan ayarlarla görüntüden yükleyin ve sanal makineyi yeniden başlatın. Ayrıca, el kaynaklardan proxmox yükleyebilirsiniz, ancak bu çoğu durumda gerekli değildir (talimatları takip buraya ).
SSH ile sunucunuza bağlanın, proxy şablonları şablonunu güncelleyin ve kapsayıcılar için uygun bir şablon indirin.
apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz
Şimdi, bir linux köprüsüne bağlı ağ arayüzü ile bir linux konteyner oluşturmamız gerekiyor. /etc/network/interfaces
Aşağıdaki satırları açın ve ekleyin:
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
Sistem yeniden başlatıldıktan sonra, Ubuntu 14.04
şablondan yeni bir kapsayıcı oluşturabilirsiniz.
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
Kapsayıcıyı kullanarak pct list
# 200 kapsayıcısını ile başlatabilir pct start 200
ve kabuğunu ile girebilirsiniz pct enter 200
. Ağ ayarlarını ve adreslerini ile de doğrulayabilirsiniz ip addr
.
Konteynerinizin içinde internet bağlantısı sağlamak için etkinleştirmemiz gerekir NAT
. Aşağıdakiler, NAT teknolojisinin yardımıyla trafiğin konteynırdan internete iletilmesine izin verecektir. vmbr0
Köprü dış arabirim bağlanır ve vmbr1
köprü kaplar bağlanır.
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
Kapsayıcıyı girin ve pct enter 200
içindeki web sunucusunu yapılandırın.
apt-get update
apt-get install nginx
service nginx start
exit
Şimdi, web sitelerini kapsayıcılara proxy yapmak için sunucunuzdaki Nginx'i yapılandırmamız gerekiyor.
apt-get update
apt-get install nginx
/etc/nginx/sites-available/box200
Aşağıdaki içeriğe sahip yeni bir yapılandırma dosyası oluşturun :
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 artık server200.example.com
sunucunuzdan konteynere her HTTP isteğini IP 10.100.0.200 ile proxy yapacak. Bu yapılandırmayı etkinleştirin.
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
Korumalı alanlara kolay erişim sağlamak istiyorsanız, SSH oturumlarını kapsayıcılara iletmeniz gerekir. Bunu yapmak için kök sunucunuzda yeni bir kullanıcı oluşturun. Bir şifre girmeyi unutmayın, diğer parametreler gerekli değildir.
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
Bu SSH anahtarını kopyalayın ve anahtarı eklemek için kapsayıcıyı girin.
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
Sunucunuzda, aşağıdaki satırı .ssh/authorized_keys
dosyaya ekleyin .
command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
<YOUR SSH KEY>
Ev genel anahtarınıza geçmeyi unutmayın . Alternatif olarak, komut satırından aşağıdakileri çalıştırabilirsiniz.
echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
Ardından, sandbox'ınıza ssh ile bağlanabilirsiniz.
`ssh box200@<your_server_IP>`
Çeşitli güvenlik iyileştirmeleri uygulama zamanı. İlk olarak, varsayılan SSH portunu değiştirmek istiyoruz. Ardından Proxmox yönetim sayfamızı temel HTTP kimlik doğrulaması ile korumak istiyoruz.
nano /etc/ssh/sshd_config
Açma ve değiştirme çizgisi
#Port 22
için
Port 24000
Ssh'yi yeniden başlatın.
service ssh restart
Yeni bağlantı noktasıyla ssh'ye yeniden bağlanın.
ssh root@<your_IP> -p 24000
Dosya oluştur /etc/default/pveproxy
.
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
pveproxy
Değişikliklerin etkili olması için yeniden başlatın .
/etc/init.d/pveproxy restart
Nginx'i yapılandırın (daha önce yapmadıysanız).
apt-get install nginx
service nginx restart
Konumunda varsayılan bir yapılandırma oluşturun /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; }
}
Geçerli bir SSL sertifikası alın ve nginx yapılandırmanızı güncelleyin. Örneğin, certbox ve letsencrypt yardımıyla yapılabilir. Daha fazla bilgi için buraya tıklayın .
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
Şimdi, nginx yapılandırmanız böyle görünmelidir (veya daha sonra manuel olarak değiştirebilirsiniz). SSL, yetkilendirme ve konum satırlarını rahatsız etmeyi unutmayın.
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
}
Htpasswd oluşturucuyu /etc/htpasswd
kullanarak bir dosya oluşturun .
nano /etc/nginx/htpasswd
Nginx'i yeniden başlat
service nginx restart
Artık, https://example.com
temel kimlik doğrulamasından sonra yönetim konsolunu görüntüleyebilirsiniz .
Kapsayıcılar artık HTTP istekleri ve SSH tarafından kullanılabilir. Artık harici sunucudan kapsayıcılara bağlantı noktası iletmeyi yapılandırabiliriz. Örneğin , aşağıdakileri example.com:8080
girmek için eşleme için 10.100.0.200:3000
.
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
Mevcut kuralları görüntüleyebilirsiniz.
`iptables -t nat -v -L PREROUTING -n --line-number`
Bir kuralı aşağıdakilerle numarasına göre de silebilirsiniz.
`iptables -t nat -D PREROUTING <#>`.
Artık bir konteynerden diğerine erişebiliyoruz.
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
Konteyner 250'den 200'e erişimi kısıtlamak istiyorsanız, her konteyneri kişisel bir köprüye bağlamanız ve köprüler arasında iletmeyi devre dışı bırakmanız gerekir.
Mevcut kapsayıcıları silin.
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
İçeriğini değiştirin /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
Yönlendirmeyi etkinleştir
`sysctl -w net.ipv4.ip_forward=1`
Bu değişiklikleri kalıcı yapmak için /etc/sysctl.conf
dosyayı düzenleyebilir ve aşağıdaki metni bulabilirsiniz.
#net.ipv4.ip_forward=1
Rahatsız et.
net.ipv4.ip_forward=1
sysctl -p
Değişikliklerin hemen yürürlüğe girmesi için de çalışabilirsiniz .
Kapsayıcılar oluşturun.
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
Kapları pct start 200
ve ile başlatın pct start 250
.
iptables
Kuralları yıkayın .
iptables -F
NAT'ı etkinleştirin.
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0
dış arabirimi içeren köprüdür.
Harici arayüzden iletmeye izin ver.
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
Konteynerlerden internete yönlendirmeye izin verin.
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
Diğer yönlendirmeyi bırakın.
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
Şimdi, bu kontrol 10.100.1.200
kutu ping 8.8.8.8
ama ping olamaz 10.100.2.250
ve bu 10.100.2.250
kutu ping 8.8.8.8
ama ping olamaz 10.100.1.200
.
İptables ile ilgili komutların sırası önemlidir. Kurallarınızı çalıştırmanın en iyi yolu kullanmaktır iptables-persistent
. Bu paket dosyalara iptables kuralları kaydetmek için yardımcı olur /etc/iptables/rules.v4
ve /etc/iptables/rules.v6
ve otomatik olarak sistem yeniden başlatma sonrasında bunları yükleyebilirsiniz. Sadece aşağıdakileri yükleyin.
apt-get install iptables-persistent
YES
İstendiğinde seçin .
Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu
Rancher OS, Docker etrafında inşa edilmiş çok hafif bir Linux dağıtımıdır. İşletim sisteminin kendisi yaklaşık 20 MB ağırlığında. Bu eğitici ile birlikte çalışmaya başlayacaksınız
Giriş Docker, kapsayıcı olarak çalıştırılan programları dağıtmamızı sağlayan bir uygulamadır. Popüler Go programlama dilinde yazılmıştır
Giriş Bu kılavuz, birden fazla Alpine Linux 3.9.0 sunucusu ve Portainer kullanarak bir Docker sürüsü oluşturmayı ve yapılandırmayı gösterecektir. Lütfen unutmayın
PHP uygulamaları genellikle bir web sunucusu, ilişkisel veritabanı sistemi ve dil yorumlayıcısının kendisinden oluşur. Bu derste leveragin olacağız
Farklı Bir Sistem mi Kullanıyorsunuz? Docker, sanal kapsayıcılara yazılım dağıtımına izin veren bir uygulamadır. Go programında yazıldı
Harbor, Docker görüntülerini depolayan ve dağıtan açık kaynaklı, kurumsal sınıf bir kayıt defteri sunucusudur. Liman, açık kaynaklı Docker Dağıtımını genişletiyor b
Bu makalede, docker-composeun CoreOSa nasıl yükleneceği açıklanmaktadır. CoreOSta / usr / klasörü değiştirilemez, bu nedenle standart / usr / local / bin yolu kullanılamaz.
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Rancher, konteynerleri çalıştırmak ve özel bir konteyner servisi oluşturmak için açık kaynaklı bir platformdur. Çiftlik temelidir
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Rancher, konteynerleri çalıştırmak ve özel bir konteyner servisi oluşturmak için açık kaynaklı bir platformdur. Çiftlik temelidir
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Docker Swarm, bireysel sunucularınızı bir bilgisayar kümesine dönüştürür; ölçeklendirme, yüksek kullanılabilirlik ve
Vultr Docker uygulamasının yardımıyla Dockerı Vultr sunucu örneğinize kolayca dağıtabilirsiniz. Bu arada, Docker yönetim görevini kolaylaştırabilirsiniz
Hepimiz uygulama kaplarını birden çok makineye oluşturmak, yönetmek ve dağıtmak için bir platform olan Dockerı biliyoruz ve seviyoruz. Docker Inc.
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sentry, hata izleme için açık kaynaklı bir çözümdür. Nöbetçi istisnaları ve diğer yararlı mesajları izler
Genel Bakış RancherOS, sistem hizmetlerini çalıştırmak için bir Docker arka plan programı PID 0 olarak çalıştıran inanılmaz derecede hafif bir işletim sistemidir (yalnızca yaklaşık 60 MB).
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Docker Swarm, bireysel sunucularınızı bir bilgisayar kümesine dönüştürerek ölçeklendirmeyi, yüksek kullanılabilirliği ve
Bu eğitimde Dockerı kullanmaya başlamanın temelleri açıklanmaktadır. Dockerın kurulu olduğunu varsayıyorum. Bu öğreticideki adımlar,
Bir web uygulaması çalıştırırken, yazılımınızı çoklu iş parçacığını kullanmak için dönüştürmek zorunda kalmadan normalde kaynaklarınızdan en iyi şekilde yararlanmak istersiniz.
Önkoşullar Docker motoru 1.8+. Minimum 4GB disk alanı. Minimum 4GB RAM. Adım 1. Dockerı yükleyin SQL-Serverı yüklemek için Docker mus
Bu makalede, Düğüm uygulamanızı bir Docker kapsayıcısında nasıl dağıtacağınız gösterilecektir. Not: Bu eğiticide Dockerın yüklü ve okunmuş olduğu varsayılmaktadır
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun