Home Linux Central_Management Satellite_6

System Requirements

Redhat Satellite 6 license Licence for Satellite Clients: Red Hat Enterprise Linux for Virtual Datacenters with Smart Management, Premium System Name: Ip address: Netmask: Gateway: DNS: CPU: 2 cores minimum, 4 recommended RAM: 12G minimum, 16 recommended Datavg: 250G Minimum/500G using thick provisioning since there will be databases installed Minimal (@base) redhat install using XFS selinux set to [permissive] or enforcing mode vi /etc/selinux/config if no dns, add itself to /etc/hosts user with sudo all Ports and Firewalls Requirements os install partition scheme /boot 1G / 1G /home 5G /opt 3G /tmp 2.5G /usr 5G /var 3.5G /var/log 2G swap 4G Add the filesystems for satellite jlfs datavg pulplv 200G /var/lib/pulp root root 750 xfs jlfs datavg mongodblv 25G /var/lib/mongodb root root 750 xfs jlfs datavg pgsqllv 2G /var/lib/pgsql root root 750 xfs Remove network manager yum remove NetworkManager NetworkManager-team NetworkManager-tui NetworkManager-config-server NetworkManager-libnm Configure Firewall # get the active zone firewall-cmd --get-active-zones # set the default zone to drop firewall-cmd --set-default-zone=drop # clean up what is extra but keep ssh firewall-cmd --zone=drop --permanent --remove-service=dhcpv6-client # add services for satellite firewall-cmd --zone=drop --permanent --add-service=RH-Satellite-6 # adds --add-service=dhcp --add-service=dns --add-service=tftp # reload the firewall and verify it state firewall-cmd --reload firewall-cmd --zone=drop --list-all

Registration

subcribe to satellie subscription-manager register --type=satellite Set the version on redhat portal attach to redhat satellite also attach the license for the clients to this satellite. something like: Red Hat Enterprise Linux for Virtual Datacenters with Smart Management, Premium download the manifest for later step. List available Entitlements subscription-manager list --available --all subscription-manager list --all --available | grep Satellite -A 10 Find the pool id subscription-manager attach --pool=<pool_id> Disable all repos yum repolist subscription-manager repos --disable "*" Enable the repos for satellite server. Attention to the satellite version subscription-manager repos --enable rhel-7-server-rpms --enable rhel-server-rhscl-7-rpms --enable rhel-7-server-satellite-6.X-rpms yum repolist

Update the server

yum -y update -y

Install chronyd for time synchronization

yum install chrony Add the timeservers to /etc/hosts if not in dns vi /etc/chrony.conf and change the servers if local provided. server .. server .. Start and enable the service at boot systemctl start chronyd systemctl enable chronyd

reboot

reboot the server if it was not rebooted after installing the updates make sure the date and time are synched.

Install katello

yum install katello katello-installer --foreman-initial-organization "<MyOrganization>" --foreman-initial-location "Montreal" \ --foreman-admin-username "<MyAdminUser>" \ --foreman-admin-password "<MyAdminPass>" \ #dont do this , it installs 5 packages from epel --foreman-configure-epel-repo true \ **** Installing Done [100%] [..............................................................] Success! * Katello is running at https://myserver.domain.ca Initial credentials are MyAdminUser / MyAdminPass * Capsule is running at https://myserver.domain.ca:9090 * To install additional capsule on separate machine continue by running: capsule-certs-generate --capsule-fqdn "$CAPSULE" --certs-tar "~/$CAPSULE-certs.tar" The full log is at /var/log/katello-installer/katello-installer.log **** Verify the locations and organizations assingations { Administer } -> Organizations and click on the organization. under location make sure it is set to our location { Administer -> Settings -> Puppet and set the default_location and default_organization

Enable Content

Create the Manifest Login to access.redhat.com to generate our manifest file. Locate the new satellite server, within access.redhat.com. Be sure to re-set the Version, if it has become unset. attacht a subscrition. click on Download manifest Import the Manifest { Content }-> Red hat Subscriptions or from command line: copy the manifest file downloaded in previous step to /root on the satellite server. hammer subscription upload --organization "MyOrganization" --file /root/manifest_xxxxxxxxxxxxx.zip authenticate with admin user Enable redhat repositories { Content }-> Red hat Repositories Select Kickstarts: Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server (Kickstart) -> Red Hat Enterprise Linux 6 Server Kickstart x86_64 6.8 Select RPMS: Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server (RPMs) -> Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server - RH Common (RPMs) -> Red Hat Enterprise Linux 6 Server - RH Common RPMs x86_64 6Server Red Hat Enterprise Linux Server -> RHN Tools for Red Hat Enterprise Linux 6 Server (RPMs) -> RHN Tools for Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server - Extras (RPMs) -> Red Hat Enterprise Linux 6 Server - Extras RPMs x86_64 Red Hat Enterprise Linux Server -> Red Hat Enterprise Linux 6 Server - Optional (RPMs) -> Red Hat Enterprise Linux 6 Server - Optional RPMs x86_64 6Server Red Hat Enterprise Linux Server -> Red Hat Satellite Tools 6.1 (for RHEL 6 Server) (RPMs) -> Red Hat Satellite Tools 6.1 (for RHEL 6 Server) (RPMs) # Note: provides the katello-agent and puppet-agent packages for clients registered to the Satellite Server. Sync redhat repositories: { Content } -> Sync Status Add EPEL repo: { content } -> Product [ New Product ] then select [ Repo Discovery ] https://dl.fedoraproject.org/pub/epel/ [ Discover ] select the desired versions: 6Server/x86_64/ and 7Server/x86_64/ then click [ Create Selected ] set a meaningfull name and label for each Click [ Create ] Select the 2 new repos and click [ Sync Now ] Add sync schedule: { Content } -> Sync plans

Configure virt-who

virt-who

Create a lifecycle environment

example with: Project-Dev -> Project-Pre-prod -> Project-Prod Add a New Environment path Project-Dev { Content } -> Lifecycle Environments [ + New Environment Path ] Add a new Environents Project-Pre-prod to Project-Dev path { Content ] -> Lifecycle Environments [ + Add New Environment ] # the one right above the Project-Dev path Add a new Environents Project-Prod to Project-Dev path { Content ] -> Lifecycle Environments [ + Add New Environment ] # the one right above the Project-Dev path

Puppet note

# In 6.2 create a product and add a puppet repos, uploade a custom puppet module to that repo create a puppet content view ( else puppet content and rpm content versioning will happen at same time ) when the puppet content view is promoted to an environemt then its puppet environment will be created.

Create a content view ( Base for RHEL X)

a content view is a collection of repositories rpms, puppet modules that are then to be used with environments. { Content } -> Content Views -> [ + Create New View ] assign the products ( yum Content ) to the new view. Base for RHEL X { Yum Content } [ + Add Repositories ] [ Publish New Version ] Note: by default a publishing promotes to "Library", the base of all content views Promote the content views { Content } -> Content Views -> Base for RHEL X { Versions } [ .: Promote ] Select Project-Dev and click on [ Promote Version ] { Content } -> Content Views -> Base for RHEL X { Versions } [ .: Promote ] Select Project-Pre-Prod and click on [ Promote Version ] { Content } -> Content Views -> Base for RHEL X { Versions } [ .: Promote ] Select Project-Prod and click on [ Promote Version ]

Create host collections

Host Collection is equivalent to a Satellite 5 System Group, that is, a user defined group of one or more Hosts. Host Group is a template for building a Host. This includes the content view (which defines the available RPM files and Puppet modules) and the Puppet classes to apply (which ultimately determines the software and configuration). { Hosts } -> Host Collections [ + New Host Collection ] # usually add at least one for each projects/lifecyle

Create Activation Keys

{ Content } -> Activation Keys [ + New Activation Key ] for Key-Project-Dev etc... Assign a host collection. This will automatically add new hosts into this host collection In the activation key go to { Host Collections } select Project-Dev and [ Add Selected ] ??? set auto attach by default, Do I need this if set to auto attach? Assign subscriptions # will automatically assign new hosts to this subscription How to use the key from a client subscription-manager register --org="MyOrganisation" --activationkey="Key-Project-Dev"