Sunday, April 26, 2020

Ansible playbook for Java 11 Installation on Ubuntu - Ansible Java 11 Playbook Ubuntu 22.0.4

1. Login to Ansible management server/machine. Create SSH keys in Ansible host machine by executing the below command: (if you already have keys created, please skip this step)
ssh-keygen 

enter three times..now you will see keys successfully created.
2.  Execute the below command on Ansible management node and copy the public key content:
sudo cat ~/.ssh/id_rsa.pub

copy the above output.
3. Now login to target node, execute the below command to open the file
sudo vi /home/ubuntu/.ssh/authorized_keys
type shift A and then enter now 
    and paste the key in the above file. please do not delete any existing values in this file.

4. Now go back to Ansible mgmt node, do changes in /etc/ansible/hosts file to include the node you will be installing software. Make sure you add public IP address of target node as highlighted below in red color:
sudo vi /etc/ansible/hosts
[My_Group]  
xx.xx.xx.xx ansible_ssh_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa  ansible_python_interpreter=/usr/bin/python3

5. let's make sure Ansible Control node is able to connect to target node

ansible -m ping all

ansible all -a "whoami"



6. make changes in playbooks as given below,
cd ~/playbooks

sudo vi installJava11.yml

---
- hosts: My_Group
  tasks:
    - name: Task - 1 Update APT package manager repositories cache
      become: true
      apt:
        update_cache: yes
    - name: Task -2 Install Java using Ansible
      become: yes
      apt:
        name: "{{ packages }}"
        state: present
      vars:
        packages:
           - openjdk-11-jdk

6. Execute Ansible playbook
ansible-playbook installJava11.yml

now after successfully executing, enter below command to make sure Java is installed in target node:

java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)

2 comments:

  1. if you got /root/.ssh/id_rsa: No such file or directory try this ansible_ssh_private_key_file=/home/ubuntu/.ssh/id_rsa

    ReplyDelete