SaltStack - Salt Proxy Minions
Yönlendirici, ağ donanımı vb. Gibi, özel işletim sistemine, sınırlı belleğe ve yüksek güvenlik hususlarına sahip birçok cihaz vardır. Bu cihazlarda standardı yükleyemediksalt-minionve daha sonra bu sistemleri yönetemedi. Ancak Salt, bu kısıtlamanın üstesinden gelmek için yenilikçi bir teknoloji sağlar.
Salt, uzak sistemde çalışan REST hizmetini kullanarak uzak sistemi kontrol eden ayrı bir salt proxy minion modülüne sahiptir. Bu REST hizmeti, HTTP tabanlı bir web hizmetidir.Representational State Transfer (REST) konseptidir ve hem uygulaması hem de tüketmesi kolaydır.
Her cihaz, karmaşık uygulamaları yazmak için kendi SDK'sına ve geliştirme ortamına sahip olacaktır. Salt, cihazda Salt arayüz özelliğine göre bir REST servisinin geliştirilmesini bekler. Salt ayrıca REST web hizmetini yazmak için bir python modülü sağlar. Cihaz python destekliyorsa, REST web hizmetini geliştirmek kolay olacaktır.
REST web hizmeti geliştirilip uzak sistemde dağıtıldıktan sonra, Salt uzak cihazı, salt minion yerine REST web hizmetini kullanarak kontrol edecek şekilde yapılandırılabilir.
Çalışma Örneği
Kavramını öğrenelim salt proxy minioncanlı bir çalışma ortamı kullanmak. Canlı ortam için, hem ana hem de proxy minion için bir Linux sistemi seçtik. Sistemi salt minion yerine REST web servisini kullanarak kontrol edeceğiz.
REST Web Hizmetini Kurun ve Yapılandırın
Salt, katkıda modülünde proxyminion_rest_example olarak adlandırılan REST web hizmeti uygulamasının bir örneğini sağlar. Örnek web servisini kuralım.
Yüklemek ‘bottle’pip kullanarak. bottle command web uygulaması geliştirmek için bir python web çerçevesidir.
pip install bottle = 0.12.8
İndir saltstack/salt-contribgithub'dan proje. Aksi takdirde, aşağıdaki komutu kullanarak projeyi klonlayın.
git clone https://github.com/saltstack/salt-contrib
Bir terminal açın ve şuraya gidin: salt-contrib dizin.
Bu tuz katkısı dizininin bir klasörü olacak, proxyminion_rest_example. Bu klasör, REST web hizmeti için örnek uygulama içerir. Proxyminion_rest_example klasörüne gidin.
REST web hizmetini başlatmak için aşağıdaki komutu çalıştırın.
python rest.py --address <your ip address> --port 8000
Bir tarayıcı açın ve http: // «ip adresiniz»: 8000 yükleyin. Bu, aşağıdaki ekran görüntüsünde gösterildiği gibi hizmetlerin ve paketlerin bulunduğu varsayılan sayfayı gösterecektir.
Şimdi, REST web hizmetini yapılandırdık ve REST web hizmetini sorgulamak ve sistemi kontrol etmek için salt proxy'nin nasıl yapılandırılacağını kontrol edecek.
Salt-Proxy'yi Yapılandır
Salt-Proxy'yi yapılandırmak için aşağıda verilen adımları izlemeliyiz.
Salt-proxy için ana düğümü belirlemeliyiz. / Etc / salt / proxy içindeki proxy yapılandırma dosyası konumunu düzenleyin ve aşağıdaki kodu girin.
master: <your ip address>
Temel sütun dosyasını değiştirin / oluşturun /srv/pillar/top.sls aşağıdaki kod bloğunda gösterildiği gibi.
base:
'p8000':
- p8000
Yeni bir sütun dosyası ekleyin, p8000.sls içinde /srv/pillar aşağıdaki kod bloğunda gösterildiği gibi.
proxy:
proxytype: rest_sample
url: http://<your ip address>:8000
Aşağıdaki komutu kullanarak hata ayıklama modunda salt-proxy'yi başlatın.
salt-proxy --proxyid = p8000 -l debug
Tuz minyonuna benzer şekilde, salt-proxy key Aşağıda gösterildiği gibi.
salt-key -y -a p8000
The following keys are going to be accepted:
Unaccepted Keys:
p8000
Key for minion p8000 accepted.
Tuzu Çalıştırmak
Şimdi çalıştırın salt komut verin ve çağırın ping.test aşağıda gösterildiği gibi işlev görür.
salt p8000 test.ping
REST web hizmeti tarafından desteklenen herhangi bir işlevi kullanarak çalıştırabiliriz. saltbenzer olan salt-minion.
Örneğin, tane bilgisi aşağıdaki komut kullanılarak elde edilebilir.
salt p8000 grains.items