Simple automation for all your Linux servers with Ansible

Поділитися
Вставка
  • Опубліковано 15 лип 2024
  • We take a look at how to automate Linux servers with Ansible. We also cover authentication via SSH user/password and private/public keys you should use in a production environment. #Ansible #Linux #SSH
    DOCS: github.com/christianlempa/vid...
    Follow me:
    TWITTER: / christianlempa
    INSTAGRAM: / christianlempa
    DISCORD: / discord
    GITHUB: github.com/christianlempa
    PATREON: / christianlempa
    MY EQUIPMENT: kit.co/christianlempa
    Timestamps:
    00:00 - Introduction
    03:14 - Install and configure Ansible
    07:23 - Test connection
    09:18 - Playbooks
    15:34 - Authentication with SSH private/public keys

КОМЕНТАРІ • 62

  • @christianlempa
    @christianlempa  3 роки тому +1

    Learn more about Ansible and how to automate virtual machine provisioning with Vagrant and Ansible: ua-cam.com/video/7Di0twyxw1M/v-deo.html

  • @wekiwa7055
    @wekiwa7055 2 роки тому +2

    Very informative Christian! So many dont provide the details on real world Ansible setup for many servers with different passwords. Thank You from Texas US!

  • @BlurryBit
    @BlurryBit Рік тому

    Wow man that's a no crap goldmine! Thank you, enjoying the video quite a lot, and I have what I was searching for for the last 3 hours!! :p

  • @kmalysiakPL
    @kmalysiakPL 9 місяців тому

    good starting point for ansible, short and informative; thumbs up!

  • @alexanderschwaighofer1550
    @alexanderschwaighofer1550 3 роки тому +2

    Thanks for this great tutorial! It helped me a lot getting started with ansible. Keep up the extremely good work

  • @urbanachiever15
    @urbanachiever15 Рік тому

    Very helpful tutorial to get started. Thank you!

  • @geoffreyvanwyk4588
    @geoffreyvanwyk4588 2 роки тому

    Thank you, Christian, for making this video. It helped me to get started with Ansible. Trying to get started by just visiting the Ansible documentation is daunting.

    • @christianlempa
      @christianlempa  2 роки тому +1

      Thank you, it makes me happy to see it helped you :)

  • @MrHanSoL0
    @MrHanSoL0 10 місяців тому

    Excellent!! Just what I was looking for! You helped me tremendously with clarifying on using the ansible.cfg and inventory files correctly. Thank you for sharing 🙏 I forgot I had seen this and had to revert back 😁

  • @ericsg95
    @ericsg95 2 роки тому +7

    This could be the most underrated channel in YT!! You are doing a great job and I hope your subscribers exploded to find this hidden treasure!! Have enjoyed a lot of your videos and super advanced Sysadmin and Devops! 🙌

  • @cyberdyne981
    @cyberdyne981 10 місяців тому

    @christianlempa - I very much appreciate all the effort you put into your videos, including the extra work of time and chapter indexes! Danke schön 😀

  • @AmedeeVanGasse
    @AmedeeVanGasse 2 роки тому +16

    10:17 you don't need the three hyphens.
    It comes from the YAML spec. The hyphens are a separator, before are directives (like yaml version, yaml tags,...) and after is the actual yaml content. If you have no yaml directives, then you *may* drop the 3 hyphens. Yaml directives are not really relevant for ansible, so feel free to drop the hyphens. Similarly, the yaml spec specifies 3 dots to end yaml content. That's when one document contains multiple yaml parts, or when the yaml is not a file but a stream and you want to signal your yaml processor to stop instead of waiting until the stream is closed. Again, not relevant for ansible, so drop the 3 dots. I think almost everyone is doing that already without knowing why.
    I suggest to configure your yamlling to NOT check for --- or ...

  • @khalidelgazzar
    @khalidelgazzar 3 роки тому

    Great video and great explanation

  • @MrHanSoL0
    @MrHanSoL0 3 роки тому

    Thank you sir!! Very helpful and I will follow in github

  • @JamesT65
    @JamesT65 3 роки тому

    Just came across this channel and love it, your awesome.

    • @christianlempa
      @christianlempa  3 роки тому +1

      Thanks man 😊

    • @JamesT65
      @JamesT65 3 роки тому

      @@christianlempa your welcome, you put a lot of hard work in to those videos.

  • @tobiashelbing1233
    @tobiashelbing1233 7 місяців тому

    Mega! Danke

  • @dgililov
    @dgililov 3 роки тому

    Great tutorial

  • @carlosalonsosouza6439
    @carlosalonsosouza6439 Рік тому

    As always, gret video ! Thanks. Git hub subscriber now ^^ cheers

  • @MarekGrossman
    @MarekGrossman 2 роки тому

    It really help. Thanks.

  • @marcodigits4321
    @marcodigits4321 Рік тому

    I find it kinda funny to see old fashion ordner maps behind Christian.

  • @davida.7586
    @davida.7586 3 роки тому

    Super!

  • @contactsan12
    @contactsan12 2 роки тому

    beautiful nothing else

  • @GorkemYildirim
    @GorkemYildirim 3 роки тому

    Thanks for the great intro to Ansible. I have no experience in this area but interested to learn as much as possible. Do you use Nagios? I guess it is commonly used for monitoring.

  • @morikuldip526
    @morikuldip526 Рік тому

    please create a video playbook for installing ansible for install adminer in targeted server.

  • @opethfan89
    @opethfan89 2 роки тому

    Entirely curious -- I really like your terminal layout. I see you're using powerline theme...what shell are you using? Zsh? and what terminal emulator? I really like the paste prompt.
    My OCD is kicking in and I noticed on the right side of your prompt, you have some artifact bleedover in the symbols. I believe you need to use a different patched Powerline font to get rid of that. Of course, just because it bothers me doesn't mean it bothers you, or anyone else!

  • @contactsan12
    @contactsan12 2 роки тому

    make same on dockers nice video last part was little fast but good

  • @andreabiasci973
    @andreabiasci973 Місяць тому

    Thankyou; which terminal you use ?😜

  • @Jason.M
    @Jason.M Рік тому

    What is the terminal being used in this video? Reminds me of the kali Linux terminal

  • @saschag7615
    @saschag7615 2 роки тому +2

    Thanks for the video! The best one of starting with Ansible I found :)
    But I have one think to ask: Wouldn't it be safer to only add the user to the sudoers file and add the nopasswd instead of allow it for all users?

    • @christianlempa
      @christianlempa  2 роки тому +1

      Thanks! Yeah thats a good point!

    • @saschag7615
      @saschag7615 2 роки тому

      @@christianlempa I've tested this and it's working like your way, only with one additional row 👌

    • @TheOnlyEpsilonAlpha
      @TheOnlyEpsilonAlpha 2 роки тому

      Maybe you can also limit the sudoer without password entering to a functional user for ansible.
      I like the concept of having systems contained in their own functional users with just the privileges they need, in this case the root user group or an administrative group. So if anything goes wrong you can much more easily track down the source of an issue, and if security concerns apply about a comprised ansible master, you can get rid of the functional users

  • @madhavreddy6008
    @madhavreddy6008 2 роки тому +1

    Hi, I actually setup the Ansible master and server configuration in two docker containers. When I am executing the following command it is asking for sudo password:
    ```ansible-playbook ```
    - My question is when it is asking for "SUDO" password, what I need to enter there
    a. Root password of worker container ?
    b. Password of the user that we defined in hosts file (ex: Madhav user) of worker container ?

  • @user-bi3ug9qp5j
    @user-bi3ug9qp5j Рік тому

    how to get those nodes ips ? like, from where & how do we get the nodes ?

  • @syed9721
    @syed9721 Рік тому

    Can you show how to automate Oracle database patch on Linux server using Ansible....please

  • @bahijaamejrar5352
    @bahijaamejrar5352 2 роки тому

    Pliiz show the result of playbook in the hosts

  • @sanaths4613
    @sanaths4613 2 роки тому

    Hi bro, i wanna write ansible playbook that performs ssh login into remote hosts and then checks for sudo access, please help me

  • @theconfusedchannel6365
    @theconfusedchannel6365 Рік тому

    Thanks for this. Have you figured out without using NOPASSWD for sudo? Also can you pass password with Ansible vault for sudo?

    • @christianlempa
      @christianlempa  Рік тому

      I think you can do it, but I feel it's a bit uncomfortable to always inject it into the command, that's why I prefer the NOPASSWD statement.

  • @szevaa97
    @szevaa97 2 роки тому

    I love your PS1, do you mind share it?

  • @alpachino468
    @alpachino468 Рік тому

    Can Ansible return output as JSON?

  • @alexc414
    @alexc414 2 роки тому

    This probably sounds like a stupid question and maybe I missed it, but would the master be where all these config files and inventory files should be stored?

    • @christianlempa
      @christianlempa  2 роки тому

      Good question, usually you have them on your workstation, but of course this might be not best in a team setup. You could use github or also a project like AWX, I hopefully can make a video about somewhere next year.

  • @gosnooky
    @gosnooky Рік тому +2

    Never, ever, EVER allow sudo access without a password - if any bad actors gain access to your machine, then they will have access to the entire thing and not just user files.
    Keep your sudo passwords in a yaml file (key-value pairs) that is encrypted with ansible-vault, then include that secrets file in the vars_files array at the top level of the playbook hierarchy, then create a task (set fact) to import those sudo passwords into the ansible_become_pass variable per host. Only add become: true to individual tasks and not the playbook as a whole.

  • @csiriiimjammu1947
    @csiriiimjammu1947 5 місяців тому

    how to enable and disable network adapter using ansible playbook ...pls revert

  • @hawwestin
    @hawwestin Рік тому +1

    With version 2.10.7 even ping does not work so this tutorial is obsolete by now.
    It always use user upon which you execute ansible command and if this user is not available on target host it will fail on ssh connection. Inventory variables like ansible_user=root does not work now....
    I'm searching for solution but all YT tutorials use the same practice to authorize.

    • @hawwestin
      @hawwestin Рік тому

      The issue is about variables squashing "By default Ansible merges groups at the same parent/child level in ASCII order, and the last group loaded overwrites the previous groups" So when you have added two list of variables to one inventory file it may not work :/

  • @themangoman5642
    @themangoman5642 2 роки тому

    I have 500+ servers and i want to install telegraf agent on those servers gor grafana monitoring.. how can i add 500+ servers on ansible and run commands on all those servers

  • @Kelly-wy2uf
    @Kelly-wy2uf 9 днів тому

    I don't want to see the easy way. I always want to see how setup or use as you would in production.