Ubuntuda SaltStacki Sütunlarla Kullanma 17.04

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.

Gereksinimler

  • Ubuntu 17.04 (ana) çalıştıran Vultr örneği
  • Ubuntu 17.04 (minyonlar) çalıştıran iki Vultr örneği

Master kurulumu

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.

formül

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.confdosyamı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.jinjadosyayı 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 %}

sütun

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.slsaz önce oluşturduğumuz dizin içindeki dosyaya yazılır . Örneğimizde, hostname ile iki minyon olduğunu varsayıyoruz nginxwww1ve nginxwww2oysa her iki benzersiz sütun dosyasını atayacağız:

base:
  'id:nginxwww1':
    - match: grain
    - nginxwww1
  'id:nginxwww2':
    - match: grain
    - nginxwww2

Ardından, nginxwww1alan 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

nginxwww2Etki 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.jsve 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/

dağıtma

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

Onaylama

SaltStack formülü herhangi bir hata olmadan çalıştırılmış ve tamamlandıktan sonra, görmek gerekir nginxport dinlemesini 81üzerinde nginxwww1ve bağlantı noktasında 82üzerine nginxwww2onay olarak.

Sonuç

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!



Leave a Comment

Ubuntuda SaltStacka Başlarken 17.04

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

CentOS 7 Üzerinde Jenkins Kurulumu

CentOS 7 Üzerinde Jenkins Kurulumu

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

CentOS 7 Üzerinde SaltStack Kurulumu

CentOS 7 Üzerinde SaltStack Kurulumu

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

Ubuntu 16.04 Üzerinde Concourse CI Kurulumu ve Konfigürasyonu

Ubuntu 16.04 Üzerinde Concourse CI Kurulumu ve Konfigürasyonu

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

Ubuntuda Django Uygulamasını Yapılandırmak için Chef-solo Kullanma

Ubuntuda Django Uygulamasını Yapılandırmak için Chef-solo Kullanma

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

Vultr Yük Dengeleyiciler

Vultr Yük Dengeleyiciler

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

Ubuntu 18.04 Üzerinde Drone CI Kurulumu

Ubuntu 18.04 Üzerinde Drone CI Kurulumu

Giriş Drone, kendi altyapınızda çalışan otomatik, sürekli bir test ve dağıtım platformudur. Drone herhangi bir dili, hizmeti destekler

Foremanı CentOS 7ye Yükleme

Foremanı CentOS 7ye Yükleme

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

Windows Server ile Kullanım için AnsOS Üzerinde Ansible Kurulumu ve Konfigürasyonu

Windows Server ile Kullanım için AnsOS Üzerinde Ansible Kurulumu ve Konfigürasyonu

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

CentOS 7 üzerinde Concourse CI Kurulumu ve Konfigürasyonu

CentOS 7 üzerinde Concourse CI Kurulumu ve Konfigürasyonu

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

Ubuntu 18.04 Üzerinde Strider CD Nasıl Kurulur

Ubuntu 18.04 Üzerinde Strider CD Nasıl Kurulur

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

Debian 9 Üzerinde Windows Server İle Kullanılmak Üzere Ansibleı Yükleme ve Yapılandırma

Debian 9 Üzerinde Windows Server İle Kullanılmak Üzere Ansibleı Yükleme ve Yapılandırma

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 ile Anlık Görüntüler Oluşturma

Packer ile Anlık Görüntüler Oluşturma

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

Windowsta Chocolatey Package Managerı kullanma

Windowsta Chocolatey Package Managerı kullanma

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

Ubuntu 16.04 LTS Üzerinde Foreman Kurulumu

Ubuntu 16.04 LTS Üzerinde Foreman Kurulumu

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

CentOS 7 Üzerinde GoCD Kurulumu ve Konfigürasyonu

CentOS 7 Üzerinde GoCD Kurulumu ve Konfigürasyonu

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

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

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.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

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: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği 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 ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

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!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

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.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

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