Red Hat’in açık kaynaklı Ansible’ı, Python’da yazılmış, sistemleri yapılandırabilen, yazılımı dağıtabilen ve gelişmiş iş akışlarını düzenleyebilen açık kaynaklı bir BT otomasyon platformudur. Varsayılan olarak Ansible bir komut satırı aracıdır ancak çalışması çok karmaşık değildir.
Ancak platformun kullanımını daha verimli hale getirmek için grafik kullanıcı arayüzüne (GUI) sahip olmayı tercih edenler de var. Neyse ki, Ansible’ın daha büyük ortamlar ve kuruluşlar için kullanımını kolaylaştırmaya yardımcı olabilecek, Semafor adı verilen özel bir GUI var.
“Semaphore” yükleme sürecinde size yol göstermek istiyorum. Ubuntu Linux’ta (sürüm 22.04) gösteri yapacağım, dolayısıyla Ansible’ın kurulu ve çalışır durumda olduğundan emin olmanız gerekir.
İhtiyacınız Olanlar
Açıkçası, Ansible’ın Ubuntu’da çalışır durumda olmasına ihtiyacınız olacak. Ayrıca sudo ayrıcalıklarına sahip bir kullanıcıya da ihtiyacınız olacak. İşte bu. Gelelim kuruluma.
Semaphore’un Kurulumu
Semaphore’u Snap ile kolayca kurabilseniz de, biz farklı bir yol izleyeceğiz, böylece platformun LAN’ınızdaki herhangi bir yerden kullanılabilir olmasını sağlayabiliriz.
Yapılacak ilk şey bir veritabanı sunucusu kurmaktır. MariaDB ile gideceğiz. MariaDB’yi Ubuntu’ya kurmak için depoyu şu komutla eklemelisiniz:
1
|
curl –LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash –s –
|
Bu komut tamamlandıktan sonra hem sunucuyu hem de istemciyi aşağıdakilerle yükleyin:
1
|
sudo apt install mariadb–server mariadb–client
|
MariaDB kuruluyken şu komutla güvenliğini sağlayın:
1
|
sudo mariadb–secure–installation
|
İlk soruyu n, geri kalanını ise y olarak yanıtlayın. Ayrıca bir root kullanıcı parolası oluşturmanız ve doğrulamanız da istenecektir.
Veritabanı kurulduğuna göre semaprhore ‘u ekleme zamanı geldi. İlk önce şu komutla sürüm için bir değişken ayarlayacağız:
1
|
VER=$(curl –s https://api.github.com/repos/ansible–semaphore/semaphore/releases/latest|grep tag_name | cut –d ‘”‘ –f 4|sed ‘s/v//g’)
|
Artık bu değişkeni şu komutla doğru sürümü indirmek için kullanabiliriz:
1
|
wget https://github.com/ansible–semaphore/semaphore/releases/download/v${VER}/semaphore_${VER}_linux_amd64.deb
|
Semaphore’u şununla yükleyin:
1
|
sudo apt install ./semaphore_${VER}_linux_amd64.deb
|
Semaphore kuruldu ve yapılandırılmaya hazır.
Semaphore ‘uYapılandır
Henüz bir yapılandırma dosyası bulunmadığı için yalnızca bir yapılandırma dosyasını düzenleyemezsiniz. Yapılandırma dosyasını oluşturmak için semaforu çalıştırın, böylece her şeyi yapılandırmanız istenecektir. Bunun için komut şudur:
1
|
sudo semaphore setup
|
Yapılandırmanın ilk bölümü şöyle görünür:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
Hello! You will now be guided through a setup to:
1. Set up configuration for a MySQL/MariaDB database
2. Set up a path for your playbooks (auto–created)
3. Run database Migrations
4. Set up initial semaphore user & password
What database to use:
1 – MySQL
2 – BoltDB
3 – PostgreSQL
(default 1):
|
Veritabanınız için MySQL’i seçtiğinizden ve ardından buna göre yapılandırdığınızdan emin olun. Her şey için varsayılanı kabul edebilirsiniz ancak daha önce oluşturduğunuz MariaDB root kullanıcı şifresini yazmanız gerekecektir.
Ana Bilgisayar Adı bölümüne ulaştığınızda (db Ana Bilgisayar Adına benzer (varsayılan 127.0.0.1:3306):), forma yazdığınızdan emin olun:
1
|
http://SERVER:3000
|
SERVER, barındırma sunucunuzun IP adresidir.
İstemin sonuna doğru web kullanıcı arayüzü için yeni bir yönetici kullanıcı oluşturmanız da istenecektir.
Systemd Dosyası Oluşturma
Daha sonra Semaphore servisinin kontrol edilebilmesi için systemd dosyası oluşturmamız gerekiyor. Dosyayı şu komutla oluşturun:
1
|
sudo nano /etc/systemd/system/semaphore.service
|
Bu dosyaya aşağıdakileri yapıştırın:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[Unit]
Description=Semaphore Ansible UI
Documentation=https://github.com/ansible–semaphore/semaphore
Wants=network–online.target
After=network–online.target
[Service]
Type=simple
ExecReload=/bin/kill –HUP $MAINPID
ExecStart=/usr/bin/semaphore server —config /etc/semaphore/config.json
SyslogIdentifier=semaphore
Restart=always
[Install]
WantedBy=multi–user.target
|
Dosyayı kaydedip kapatın.
Systemd arka plan programını şununla yeniden yükleyin:
1
|
sudo systemctl daemon–reload
|
“Semaphore” hizmetini şununla başlatın ve etkinleştirin:
1
|
sudo systemctl enable —now semaphore
|
Semaphore Web Kullanıcı Arayüzüne Erişim
Hizmet çalışırken ve bağlantıları kabul ederken, aynı LAN’a bağlı bir makinede bulunan bir web tarayıcısını açın ve http://SERVER:3000’e yönlendirin (burada SERVER, barındırma sunucusunun IP adresidir). Semaphore giriş istemi ile karşılaşacaksınız (Şekil 1).
Daha sonra ilk projenizi oluşturmanız istenecektir (Şekil 2), bu nedenle ona bir ad verin ve isteğe bağlı Telegram Sohbet Kimliğini ve Maksimum Paralel Görev Sayısını yapılandırın. Bunu hallettikten sonra OLUŞTUR’a tıklayın.
Proje sayfasından (Şekil 3), envanterin (Ansible’ın yöneteceği makineler) yanı sıra ortam değişkenlerini, anahtar depolarını, depoları, görev şablonlarını ve ekip üyelerini ekleyerek başlayabilirsiniz. İlk anahtar deponuzu, envanterinizi ve başucu kitabı depolarınızı oluşturduğunuzdan emin olun (bu noktada yine de başucu kitaplarını manuel olarak oluşturmanız gerekir; bu, bu makalenin üst kısmında bağlantısı verilen makalede açıkladığım bir işlemdir).
Tebrikler, bu noktada Ansible’ı yönetmek artık daha kolay olacak.
Yazının orijinalini buradan okuyabilirsiniz.