Foreman ve Katello Kurulum ve Konfigürasyon
Foreman Nedir?
Foreman, fiziksel ve sanal sunucular için kullanabileceğiniz opensource lifecycle management tool’dur. Sistem yöneticilerine, tekrarlayan görevleri kolayca otomatikleştirme, uygulamaları hızlı bir şekilde dağıtma ve şirket içinde veya bulutta sunucuları proaktif olarak yönetmeyi kolaylaştırır.
Katello Nedir?
Foreman uygulamasının repository, issue ve errata gibi konuların yönetimini yapan plugindir.
Minimum Sistem Gereksinimleri;
- 10 GB Ram
- 2 Core CPU
- 20 GB Disk
Foreman ve Katello Server Kurulumu
Bu seçenek ile kurulum yapacaksanız Foreman ile birlikte katellello da kuracaksınız. Oracle 7.9 ile birlikte katello kurulumunda gerekli bazı paketler repodan kaldırıldığı için eksik paketleri tek tek kurmamız gerekiyor. Aşağıdaki işlemleri eksiksiz olarak yaptığınızda katello paketi kurulacaktır.
Kaldırılan paketlerin detayı : https://docs.oracle.com/en/operating-systems/oracle-linux/7/relnotes7.9/ol7-pkg-appendix.html#ol7-x86-packages-bin-removed
Öncelikle sununun hostname ayarları yapılır. Hostname ve ip adresini kendi bilgileriniz ile değiştiriniz.
# Oracle Linux 7.9sudo hostnamectl set-hostname server.foreman.comecho "192.168.1.23 server.foreman.com" | sudo tee -a /etc/hostsping -c 2 $(hostname -f)
Katello’a client ekleme sırasında ssl handshake sırasında saat farkından dolayı problem yaşamamak için ntp ayarları yapılır.
# Oracle Linux 7.9sudo yum updatesudo yum install -y ntp ntpdatesudo ntpdate -u 0.rhel.pool.ntp.orgsudo timedatectl set-timezone Europe/Istanbul
Katello ile birlikte kurulacak olan PostgreSQL uygulamasında tablolar import edilirken hata almamanız için işletim sisteminin locale ayarlarını UTF-8 olarak ayarlamanız gerekiyor.
# Oracle Linux 7.9localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
Katello uygulamasını kurmak için foreman offical repository işletim sistemine eklenir ve yükleme base işlemi başlatılır.
# Oracle Linux 7.9yum -y localinstall https://yum.theforeman.org/releases/2.4/el7/x86_64/foreman-release.rpmyum -y localinstall https://yum.puppet.com/puppet6-release-el-7.noarch.rpmsudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmsudo yum -y install http://mirror.centos.org/altarch/7/extras/aarch64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpmyum -y localinstall https://fedorapeople.org/groups/katello/releases/yum/4.0/katello/el7/x86_64/katello-repos-latest.rpmyum -y localinstall http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/subscription-manager-rhsm-certificates-1.27.16-1.el8.x86_64.rpmyum -y localinstall http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/python3-subscription-manager-rhsm-1.27.16-1.el8.x86_64.rpmyum -y localinstall http://mirror.centos.org/centos/7/os/x86_64/Packages/python-zope-interface-4.0.5-4.el7.x86_64.rpmyum -y localinstall http://mirror.centos.org/centos/7/os/x86_64/Packages/python-twisted-core-12.2.0-5.el7.x86_64.rpmyum -y localinstall http://mirror.centos.org/centos/7/os/x86_64/Packages/python-fpconst-0.7.3-12.el7.noarch.rpmyum -y localinstall http://mirror.centos.org/centos/7/os/x86_64/Packages/SOAPpy-0.11.6-17.el7.noarch.rpmyum -y localinstall http://mirror.centos.org/centos/7/os/x86_64/Packages/python-twisted-web-12.1.0-7.el7_8.x86_64.rpmyum -y localinstall http://mirror.centos.org/centos/7/extras/x86_64/Packages/python-blinker-1.3-2.el7.noarch.rpmyum -y localinstall http://mirror.centos.org/centos/7/extras/x86_64/Packages/python-werkzeug-0.9.1-2.el7.noarch.rpmyum -y localinstall http://mirror.centos.org/centos/7/extras/x86_64/Packages/python-itsdangerous-0.23-2.el7.noarch.rpmyum -y localinstall http://mirror.centos.org/centos/7/extras/x86_64/Packages/python-flask-0.10.1-5.el7_7.noarch.rpmyum -y install katello
Yukarıdaki işlemler başarılı bir şekilde bitti ise base kurulum tamamlanmıştır. Foreman+katello kurulum ve konfigürasyon işlemi için aşağıdaki komut kullanılır.
foreman-installer --scenario katello
Kurulum başarılı bir şekilde tamamlandıktan sonra agent kurulumlarında, agentların otomatik sing olması için Foreman ekranı açılır ve Infrastructure> Smart Proxies yolu izlenir ve default proxy’ye tıklanır.
Buradan Puppet CA> Autosing entries yolu izlenir ve Create Autosing Entry butonuna tıklanır.
Burada ben *.foreman.com tanımını yaptım gelen tüm agent isteklerini onaylamasını isterseniz sadece * yaparak her agent kurulumunda manuel onaylama işlemi yapmak zorunda kalmazsınız.
Foreman Remote Execution Kurulumu
Clientleri yönetmek için katello 4.0 ile birlikte agent kullanılmayacağını duyurdu. Bu sebeple sunucularda uzaktan paket yükleme komut çalıştırma işlemleri için Foreman Remote Execution kullanacağız. Kurulum için foreman/katello sunucusunda aşağıdaki komut çalıştırılır.
foreman-installer --enable-foreman-plugin-remote-execution --enable-foreman-proxy-plugin-remote-execution-ssh
Katello Debian Repository Oluşturma
Sunucularımızın updatelerini yönetmek için öncelikle local repository oluşturmamız gerekiyor. Öncelikle Content>Products yolu izlenir ve Create Product butonuna tıklanır, gerekli bilgiler doldurulur.
Daha sonra oluşturduğumuz product içerisindeki New Repository butonuna tıklanır.
Repository bilgileri yazıldıktan sonra sayfanın sonundaki save butonuna tıklanır.
Not : Diğer repository bilgileri aşağıda text olarak paylaşılmıştır. Diğer alt repoları eklemek için aynı işlemi yapabilirsiniz.
###Debian 10 main###
URL: http://deb.debian.org/debian/
Releases: buster
Component: main
Architecture: amd64###Debian 10 debug###
URL: http://debug.mirrors.debian.org/debian-debug/
Releases: buster-debug
Component: main
Architecture: amd64###Debian 10 security###
URL: http://deb.debian.org/debian-security/
Releases: buster/updates
Component: main
Architecture: amd64###Debian 10 updates###
URL: http://deb.debian.org/debian
Releases: buster-updates
Component: main
Architecture: amd64###Debian 10 subscription-manager###
URL: https://apt.atix.de/Debian10/
Releases: stable
Component: main
Architecture: amd64
Açılan pencerede oluşturduğumuz main repo içerisine girilir Select Action kısmından Sync Now işlemi başlatılır.
Başarılı bir şekilde repo oluşturuldu paketler localimize indiriliyor.
Composite Content View Oluşturma
Content > Content Views yolu izlenir ve yeni bir tane oluşturulur.
Daha sonra oluşturduğumuz bu content view tıklanır Apt Repositories oluşturduğumuz repositoryler eklenir.
Activation Key Oluşturma
Content > Activation Keys yolu izlenir, create a new activation butonuna tıklanır yeni bir activation key oluşturulur.
Oluşturulan key içerisindeki Subscriptions sekmesinden oluşturduğumuz productslar seçilir ve eklenir.
Katello Subscription
Daha önceden katello içerisinde debian repository oluşturmuştuk. Puppet agent kurduğumuz sunucuyu bağlayacağız. İşlemleri yapmak için aşağıdaki komutları çalıştırarak gerekli paketleri kurabilirsiniz.
apt-get install gnupgapt-key adv --fetch-keys https://apt.atix.de/atix_gpg.pubecho "deb https://apt.atix.de/Debian10/ stable main" >> /etc/apt/sources.listapt-get updateapt-get install -y python-subscription-manager apt-transport-katello
Kurulum tamamlandıktan sonra aşağıdaki komut ile Subscription işlemi için aşağıdaki işlemler yapılır.
cd /tmp && wget http://192.168.1.225/pub/katello-rhsm-consumer && chmod 777 katello-rhsm-consumer/tmp/katello-rhsm-consumer# /etc/rhsm/rhsm.conf dosyasında aşağıdaki alalar güncellenir.hostname = server.foreman.com
prefix = /rhsm
baseurl = http://server.foreman.com/pulp/debsubscription-manager register --org="Default_Organization" --activationkey="debian-10"
Yukarıdaki işlem başarılı bir şekilde tamamlandıktan sonra server restart edilir ve client sunuculara erişim için ssh id paylaşma işlemi yapılır.
ssh-copy-id -i /var/lib/foreman-proxy/ssh/id_rsa_foreman_proxy.pub root@debian10client.foreman.com