Ubuntuda SaltStacka Başlarken 17.04
SaltStack, yapılandırma dosyalarının, dağıtımların ve diğer herhangi bir şeyin otomasyonu için optimize edilmiş python tabanlı bir yapılandırma yönetim programıdır
SaltStack, birçok sunucuda eşzamanlı olarak işlemleri çalıştırmak için harika bir araç olsa da, ayrıca "sütun" olarak adlandırılan benzersiz bir dosyada saklanan ana bilgisayar başına tanımlanmış yapılandırma ön ayarlarını da destekler. Bu kılavuzda, Nginx'i kurmak ve sütunları kullanarak sanal ana bilgisayarların dağıtımını otomatikleştirmek için küçük bir SaltStack formülü yazacağız.
Daha yeni başlıyorsanız ve SaltStack master'ınızı henüz kurmadıysanız, SaltStack'ı kullanmaya nasıl başlayacağınızı açıklayan bu makaleye göz atın.
SaltStack'ın minyonlarımızdaki işlemleri için gerekli olan dosyaları daha da içeren formülümüz için klasör oluşturmaya başlıyoruz.
mkdir -p /srv/salt/nginx
Klasörü oluşturduktan sonra init.sls
, her formülün önemli bir parçası olan dosyayı yazmaya devam edebiliriz :
nginx:
pkg:
- installed
/etc/nginx/sites-enabled/virtualhosts.conf:
file.managed:
- source: salt://nginx/files/virtualhosts.jinja
- template: jinja
- user: root
- group: root
- mode: 655
cmd:
- run
- names:
- service nginx restart
Muhtemelen fark ettiğiniz gibi, SaltStack dinamik yapılandırma dosyaları oluşturmak için Jinja şablonlama motorunu kullanır. Bu, yapılandırma şablonu dosyalarımızda yerel Python koduna erişme veya değişkenleri ayarlama ve benzeri gibi çok çeşitli olanaklar sunar. Bir sonraki adım, virtualhosts.conf
dosyamız için şablon oluştururken, önce klasörü oluşturmamız gerekiyor:
mkdir -p /srv/salt/nginx/files
Klasör oluşturulduktan sonra virtualhosts.jinja
dosyayı yazmaya devam edebiliriz :
{% for vhost in pillar['vhosts'] %}
server {
listen {{ vhost['listenPort'] }};
server_name {{ vhost['serverName'] }};
root {{ vhost['documentRoot'] }};
index {%- for index in vhost['indexFiles'] -%}{{ index }}{%- endfor -%};
location / {
try_files $uri $uri/ =404;
}
}
{% endfor %}
Formülü oluşturduktan sonra, Sütun tabanımızı kurabiliriz:
mkdir -p /srv/pillar/
Belirli bir sütun dosyasıyla eşleşen ana bilgisayarlara yönelik referanslar, top.sls
az önce oluşturduğumuz dizin içindeki dosyaya yazılır . Örneğimizde, hostname ile iki minyon olduğunu varsayıyoruz nginxwww1
ve nginxwww2
oysa her iki benzersiz sütun dosyasını atayacağız:
base:
'id:nginxwww1':
- match: grain
- nginxwww1
'id:nginxwww2':
- match: grain
- nginxwww2
Ardından, nginxwww1
alan adı example.com
, belge kökü /var/www/example_com/
ve dizin dosyaları için 81 numaralı bağlantı noktasında bir vhost dinlerken bir sütun dosyası oluşturmaya devam edeceğiz index.shtml
:
vhosts:
-
listenPort: '81'
serverName: 'example.com'
documentRoot: '/var/www/example_com'
indexFiles:
- index.shtml
nginxwww2
Etki alanı example2.com
, belge kökü /var/www/example2_com/
ve dizin dosyaları için 82 numaralı bağlantı noktasında bir vhost dinlerken bir sütun dosyası oluşturmaya devam edeceğiz index.js
ve index.css
:
vhosts:
-
listenPort: '82'
serverName: 'example2.com'
documentRoot: '/var/www/example2_com'
indexFiles:
- index.js
- index.css
Not: Sütun dosyaları içinde saklanır/srv/pillar/
Artık ilk denememizi kölelerimizde güncelleyerek sütunlarla tamamlayabiliriz:
salt '*' saltutil.refresh_pillar
Daha sonra SaltStack formülünü çalıştırabiliriz:
salt '*' state.sls nginx
SaltStack formülü herhangi bir hata olmadan çalıştırılmış ve tamamlandıktan sonra, görmek gerekir nginx
port dinlemesini 81
üzerinde nginxwww1
ve bağlantı noktasında 82
üzerine nginxwww2
onay olarak.
Bu oldukça hafif ama zaten güçlü SaltStack formülü, muhtemelen Let's Encrypt'in bir entegrasyonu, CGI veya PHP arka uçları desteği ve manuel olarak yapabileceğiniz her şey ile HTTPS desteği eklemek için daha da genişletilebilir. Bu kılavuz, yapılandırma dosyalarının dağıtımı için kullanılan SaltStack formülleri ve sütunları hakkında temel bir fikir vermiş olmalıdır. Mutlu otomasyon!
SaltStack, yapılandırma dosyalarının, dağıtımların ve diğer herhangi bir şeyin otomasyonu için optimize edilmiş python tabanlı bir yapılandırma yönetim programıdır
Jenkins, proje geliştirme, devreye alma ve otomasyon için yaygın olarak kullanılan popüler bir açık kaynaklı CI (Sürekli Entegrasyon) aracıdır. Bu makale
SaltStack veya Salt, uzaktan yürütme, yapılandırma yönetimi, kodek uygulamak için kullanılabilen popüler bir açık kaynak yapılandırma yönetimi çözümüdür
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sürekli Entegrasyon, geliştiricilerin sık sık bir araya gelmelerini sağlayan bir DevOps yazılım geliştirme uygulamasıdır
Bir kutuyu kurma ve yapılandırma işlemini otomatikleştirmenin birçok yolu vardır. Herhangi bir nedenden dolayı, bu noktada tüm sistemimiz sadece
Yük Dengeleyici nedir Yük Dengeleyiciler uygulamanızın önünde oturur ve gelen trafiği uygulamanızın birden çok örneğine dağıtır. fo
Giriş Drone, kendi altyapınızda çalışan otomatik, sürekli bir test ve dağıtım platformudur. Drone herhangi bir dili, hizmeti destekler
Farklı Bir Sistem mi Kullanıyorsunuz? Foreman, fiziksel ve sanal sunucuların yapılandırılması ve yönetiminde size yardımcı olan ücretsiz ve açık kaynaklı bir araçtır. FOREMA
Farklı Bir Sistem mi Kullanıyorsunuz? Ansible, görevleri otomatikleştirmek için açık kaynaklı bir araçtır. Linux ve Windows sunucularınızın yapılandırmasını yönetir. İşe yarıyor
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sürekli Entegrasyon, geliştiricilerin sık sık bir araya gelmelerini sağlayan bir DevOps yazılım geliştirme uygulamasıdır
Giriş Strider CD, açık kaynaklı bir sürekli dağıtım platformudur. Uygulama Node.js ile yazılmış ve depolama arka uç olarak MongoDB kullanır. Stride
Farklı Bir Sistem mi Kullanıyorsunuz? Ansible, görevleri otomatikleştirmek için açık kaynaklı bir araçtır. Linux ve Windows sunucularınızın yapılandırmasını yönetir. İşe yarıyor
Packer nedir? Packer, HashiCorp tarafından geliştirilen bir sunucu görüntüleme aracıdır. Sunucu görüntüleme; veya alternatif olarak değişmez altyapı; popüler bir alternatif
Giriş Chocolatey, Linux üzerinde yazılım ve bağımlılıkları yönetmeyi kolaylaştıran paket yönetimini Windowsa getiriyor. Hızlı ve kolay bir şekilde yapabilirsiniz
Farklı Bir Sistem mi Kullanıyorsunuz? Foreman, fiziksel ve sanal sunucuların yapılandırılması ve yönetiminde size yardımcı olan ücretsiz ve açık kaynaklı bir araçtır. FOREMA
Farklı Bir Sistem mi Kullanıyorsunuz? GoCD açık kaynaklı bir sürekli dağıtım ve otomasyon sistemidir. Karmaşık iş akışlarını, paralel bir
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