I went to a redhat provided training on this technology. Ansible vault and secrets password file is going to help out. Also doing roles will further automate things.
I have a lab setup consisting of eight raspberry pie zero w, that I’m using for various different demonstrations. The possibility to change the usage of them in a fast and reliable way during a lab session is a game changer for me. Thank you for this instructive video! Happy new year and I hope that your continue to make awesome videos in 2021 as well.
This is the automation software I didn’t know I needed. You’ve saved me countless hours remoting into VM’s and RPI’s to update on a weekly maintenance schedule! Thanks Tim!
Would love a part two where you use ssh keys only, have day #1 deployments (new infra), day #2 (maintain existing infra). I have dozen of scripts for day #1 and I’m looking for best practices. Thanks !
Bro you are literally a godsend. I've been updating all my servers like a peasant and now i can streamline this whole process! Keep up the fantastic work!
Dude, you've been killing it lately. I stumbled upon your channel a couple weeks ago, and it's amazing how similar our homelabs are. I haven't learned anything new yet, but I'm sticking around just in case. Keep up the good work, man!
I use Ansible in conjunction with Terraform to create a fictitious customer network of VMs. We use the range for Red Teaming and Cyber exercise practice. The last administrator retired, so now I have inherited this project and still have a lot to learn but it is fascinating and fun! I wish I had watched your video before I started looking at the ansible code but I feel it helped me understand your content better. Thanks for the video!
I've been using ansible for years now. Automate machine deployments, updates, config changes, STIG compliance, auditing on and no and on. Awesome tool. Love your video.
I always wanted to learn Ansible, but all videos and websites were very complicated. You explained in a simple and didactic way what made me excited again to study. Congratulations on the great videos.
This one of the easiest tutorial on youtube. Even I could follow it with any problems and that says alot. Great job!! I created a playbook which updates all my servers.
Dear Tim, thanks for your content, even though there are numerous great channels that do this kind of content there are only a handfull that present this in a interesting and engaging way. Most of the time I watch only the parts to get something running, but I watch all your videos from start to end!
i loved the intro, I wasn't sure what ansible was. You grave a great overview, and then when into the technical. I got to learn what.I needed/wanted about ansible. I learned that it;s a cool tool for automating repetitive tasks, primarily for ssh tasks. This is something that I'll never need, it was nice to bug out before the technical, knowing this will be an awesome video, just not my video. But I still throw in a like and this comment to make the interactions high!!! Because it was awesome that I got to not have to sit through technical, trying to figure out what the hell the tool does!!!
Tim, thank you for taking the time to put this together for us. I really appreciate your teaching style and how you compartmentalize different tools and subjects the best you can. For example here you reference best practices via SSH keys, but chose not to go into it. I remember teaching myself about keys from Google and how it seemed like a huge deal at the time. Had that been included in this tutorial, many would have felt it to be overwhelming as you said. I am going to use your strategy of "containerizing" the subjects as I train my team in the future, thanks again.
Great video, thanks. I started using Ansible a few months ago, it has been working very well. I have configured things slightly differently, I have used "roles" for each sort of thing I want to be on each system (web server, router, ssh, misc, etc.) and then control that via a playbook that pulls in the roles. For me the nice part about roles is I can have all the templates, config files, etc. all in the role directory of each role so I know what files belong to what role.
I would like too take the time say thank you. While 99.9 percent of the people are trying to sell me evething under the sun, you are still offering free advice thank you. I am working on my own BACnet system on a VM. I realized that I can use tell my compter that it runs a centeral plant will a chiller when it real is just a 15 pressure washer nozzles going up and down to clean the sides of house. I real just need the block logic but to get the ones that run good math on PID switch cost 7500 and that is a old outdated one. Also I want to do is save the planet and reuse olo I/O boards. I leaned most of it but people like you share free information thank you
Thank you! I do have sponsors sometimes to help pay the bills but I choose them wisely and only if I think they are a good fit for my audience. Thank you again!
Tim, I run a discord server dedicated to home labs and tech talks... you come up often. Seems like everything you're doing perfectly lines up with what we're doing. Thanks for the great content, great presentation, and great explanations.
I would always see Ansible be mentioned on job applications, along with other qualifications I know I don't have. Seeing this video gave me a little more confidence in tech I've yet to understand. Thank you for that!
Oh brother, I have to say. Thank you for working on your sound quality recently. I just subbed to your channel & watched some of your recent videos aaand being a self-proclaimed audiophile I really do appreciate it. Actually, all you do...Wow! every detail that you go into that others leave out. Nice!!! and Thank You!
Thanks Tim for this Ansible tool introduction. I saw your channel yesterday. After watching your video, immediately I liked and subscribed. I have to learn about Ansible and Chef for the CCNA certification.
Nice introduction to Ansible. I've been doing some of these operations (apt update/upgrade, java check and install) automatically with a script language I've created. Writing code gives more flexibility, but also is more error-prone. Ansible clearly is a good product, and supporting SSH both with key files and passwords is elegant. My homebrewn solution depends on key-files for SSH and updated /etc/sudoers for non-password sudo. It would be nice if you post more videos about Ansible, and also let me give you an overall thanks for a lot of interesting topics on this channe (proxmox, freeNAS, kubernetes)!
I'm trying to learn Ansible since it's part of the Network Automation learning path for Cisco. Their documentation was a bit complex to understand and I would just get bored trying to understand it and eventually the knowledge would slip out of my head. With the way you discussed it, I'm starting to grasp it better now and am actually interested seeing as now I have a better understanding. Thanks.
Great content, as usual! The way you set the timesync configuration is great for ad-hoc runs, first time setup, or to run when you actually know the file changes. Also keeps it easy for first time learners, good job! However I strongly believe we should be telling Ansible how we want our systems to be rather then what we want to be done (state vs execution) If you use Ansible in a "keep state" fashion, the timezone task would unnecessarily restart the service every time you run the playbook. A different practice would be to have a handler on the template, so it would trigger an action only when the file changes Also, I'm not entirely sure you really need to stop the service before change the config file. I'm not familiar with timesync but generally you don't need to do that for Linux services, a restart (or reload sometimes) after changing the file is enough. This is my suggestion on how to do that in an idempotent way: tasks: ... ... - name: Copy timesyncd config template: src: dst: /etc/systemd/timesyncd.conf notify: - restart timesyncd handlers: - name: restart timesyncd service: systemd-timesyncd state: restarted
Tim, just found your video and love your teaching style. Great presentations and very easy to understand. I have to learn ansible for work and this helps 100%. See you on twitch!
The developer did a a great job. He's now putting the auto timer config in etc/systemd/system. Added pull to the exec command, will see if it works. I too do not want a 2-way sync, what could possibly go wrong 😎 . Running both my piholes on bare metal. Tried to run pihole on docker but could not get unbound to work properly. Thanks for shearing: Thumbs Up!
Hecks yeah! Ansible! My take is that even with only 1 test server, Ansible is still worth while. It allows you to get your server into a state where you expect it to be.
Hi Tim, I have a nice example for a playbook that only restarts if the uploaded config file has changed. name: Restart service when config file is copied become: true become_user: root notify: - "restart service" handlers: - name: "restart service" service: - name: "{{ service_name }}" state: restarted tasks: - name: Check if config file has changed stat: - path: "{{ config_file }}" register: config_stat - name: Restart service if config file has changed service: - name: "{{ service_name }}" state: restarted when: config_stat.stat.mtime != ansible_date_time.iso8601
Have you covered ssh-agent in any videos which mention key-based authentication? That wasn't a tool which was available when I started using ssh years ago, but since I discovered it recently it has transformed my workflow. I can enjoy the "no password" life but still have secure SSH keys!
I just started to play with SaltStack but after watching this, I think I'm going to switch to Ansible as it seems a better fit for a small home lab and doesn't require agents. Thanks Tim!
Saltstack is a far superior product but , as you said, at small scale it is the more complicated solution. Take that scale to a couple of datacenters and a few thousand vms and it is a different proposition. Salt will be much faster at scale vs ansible. Ansible also is going to be the easier of the two to stand up. Saltstack supports a closed-loop feedback model via beacons. --- practical example : I need to take some action when a service shuts down unexpectedly. I create a beacon to watch the service . I then create a reactor on the saltstack server that will be triggered when the beacon fires.
Finally Ansible!!! Could you please make a tutorial about jenkins as well? In particualr, how to use jenkins to make docker image automatically whenever there is a new git commit.
I'm pretty sure Tim knows that he can likely spin up a NTP server and source the tz from there Thank you! These videos should be included in school curriculums were obviously moving in this direction full speed and these videos for whatever reason makes ansible/kubernetes/lab setup easy to follow and replicate
Hi Tim, Your videos have a clarity of purpose about them and a method and the way you explain what it is you are working to get across - its top notch stuff. I confess, I personally struggle to get any enjoyment out of scripting works and similar. It makes huge sense if you run fleets..
This is a FANTASTIC introduction. Well presented and useful for a quickstart. However, I think it would be super beneficial to briefly talk about Infrastructure as Code concepts and how Ansible adheres to the approach in a follow up. It's one thing to use Ansible in a similar manner to shell scripts. But to make the full use of any config management or IAC tool, it's worth teaching concepts such as idempotency, version control, integration testing, reusable modules, etc.
Great video Tim! I use ansible at work for both on premise, for different tasks on servers pool, and AWS EC2 instances in order to create custom AMI (Amazon machine image) with packer, another great tool.
Actually, the changes you always see is due to stop/start the service: the template file is not copied over if the destination file is exactly the same (that's implied by the Ansible module that performs that check for you). In fact, in your run, when performing the copy task, only a server results as changed because of the file copy (the other ones are not changed, because you had already copied the same file).
Hi Tim, great video. I am wondering if it is possible to automate proxmox servers upgrades, not just VMs. Can't find a proper playbook for that. Thanks
Oooo, this will become very useful. If you're using apt to for a bunch of different machines, I'd recommend using a caching service like apt-cacher-ng on one of your machines. This relieves some network pressure and prevents the same requests for the same package updates. It can even be run from a docker image and found some decent ones on github.
i really love that ntp example, i solved this this in a similarway too. One difference i solved it more task based, i set a variable in my hosts file like new_hostname=pihole and in the role i set the path to the configfile to something like this like this src: "{{ new_hostname }}/etc/systemd/timesyncd.conf", which in this example looks in the file folder for the folder pihole ( which it gets from the hostname variable i set and the hostname i declare in playbook or command line ) and then in the subfolders for the file, which allows me to deliver different timesyncd.config files for different clients withtout getting messy in the tasks main.yml cause for each use case or client there is a folderstructure with the correspondent config files =) Never tried to use it on windows, but i manage my root server with its vm's and my local raspberrypis with it. Youre absolutetly right with the ssh keys, not only is it more secure but it makes working with ansible so much more pleasant, especialy if youre in the phase of building roles / tasks / playing, sometimes things fail and having to type the password all the time sucks, keys make that anoyance dissapear, especialy if you want to reach a machine over a bastion host
I love ansible, I have used it for years!!! When you manage about 200 servers it just makes it cake! Also because I like to, I sometimes create adhoc scripts hahaha because why not!
Using Ubuntu 20.04.1 and getting "Ansible provisioning error! Using a SSH password instead of a key is not possible" ? Here's a workaround: 1) On your Ansible server, edit "/etc/ansible/ansible.cfg" 2) uncomment "host_key_checking = False" and save. 3) Run your ansible command. It should work now 4) Figure out how to add host keys of your servers.
Just subscribed. Love the content. I am still thinking through Ansible vs Bash for this function. The only thing I know right now about Ansible is from your video. I am guessing there are some benefits of Ansible I am missing, but just from this video I am thinking Bash would be the most straightforward way to do it.
Thank you! Ansible has modules that work across operating systems, it can validate and set desired state, prevent config drift, and remote execute. There are plenty more features.
What password is required 5:58 ish? I’m using WSL on Windows off a fresh install of Ubuntu. Am I to use the user and password of: Windows Ubuntu Master server node (raspberry pi) Or…? Thanks for the help in advance!
Nice video Tim. You really need to dig into how to create users and upload ssh keys to your remote ubuntu machines with ansible, thats really cool and you dont have to enter passwords and users all the time, ansible commands will become shorter :)
The python versioning and requiring an environment activation now makes this a whole separate layer of learning a new prerequisite before even starting the original task.
I know this is an older video, but it would be real neat to see how you setup servers for key login; for a thing like Ansible it seems like you'd need a TON of keys or sharing the same key across servers. Maybe a dedicated Ansible user on your systems?
haha man i went to learn ansible and it just lead me down the virtual machine rabbithole in the first five minutes and i havent even gotten around to actually doing anything with ansible
An update on usage. Not sure why but the ansible ping wouldn't work. The following worked for me on Arch Linux "ansible -i -m ping .... " i.e. the group name needs to come after the module.
The key is "is it going to be done more than twice? If yes, automate it!" I've been using Ansible for 4 years now - far superior imho to the likes of puppet and chef. Using it for spinning up AWS boxes with the aws-cli and CloudFormation or terraform, then doing every repeatable task on 1500+ boxes. The only challenge is the grouping of the boxes in the inventory file as you can end up with multiple groups.
Instead of hard-coding in the hosts file the names of the servers you want to access, is it possible to get them dynamically, at run time, from a directory server, if you have one in your network?
Hey Tim, I've been using Proxmox for a few years, along with KVM based alternatives prior to, but I've been through a few kernel editions with Debian or Ubuntu. For the "qemu-guest-agent" I've only recently been able to get this working properly in Deb 10, where as 9 and 8 seem to be unresponsive when shutdown is executed via PVE making the alternative ACPI... Have you encountered this issue with early kernels (provided you use Debian)?
@@TechnoTim I'll be darn..admittedly I've used Debian as my go-to 9/10th's the time with any guest OS, and with LXC, but I tested the guest agent on Xenial LTS, no issues
Ansible is also becoming used more and more for networking as well. I think playbook apps like Ansible are going to become more and more valued. Even lately i see Sysadmin/Network Engineer jobs have a knowledge requirement for it.
Great stuff, ques for you - I currently have a bunch of server with diff user names/ password, I currently prefer to use the PW Auth and not SSH at this time. How can I set this up to work with servers that have diff acct login info? TY
What will you automate with Ansible? Updates? Reboots? Software installs? Something else?
Updates, reboots, and synchronizing files between hosts!
Deploy clusters k8s openshift and okd
I went to a redhat provided training on this technology. Ansible vault and secrets password file is going to help out. Also doing roles will further automate things.
Secrets retrieval
I have a lab setup consisting of eight raspberry pie zero w, that I’m using for various different demonstrations. The possibility to change the usage of them in a fast and reliable way during a lab session is a game changer for me. Thank you for this instructive video! Happy new year and I hope that your continue to make awesome videos in 2021 as well.
I swear you somehow read minds or hacked Google algorithm and found my search about Ansible.
Just perfect timing. Thanks for the content!
🔮
This is the automation software I didn’t know I needed. You’ve saved me countless hours remoting into VM’s and RPI’s to update on a weekly maintenance schedule! Thanks Tim!
Would love a part two where you use ssh keys only, have day #1 deployments (new infra), day #2 (maintain existing infra). I have dozen of scripts for day #1 and I’m looking for best practices. Thanks !
I wonder what you ended up doing?
Bro you are literally a godsend. I've been updating all my servers like a peasant and now i can streamline this whole process! Keep up the fantastic work!
Thank you!
Dude, you've been killing it lately. I stumbled upon your channel a couple weeks ago, and it's amazing how similar our homelabs are. I haven't learned anything new yet, but I'm sticking around just in case. Keep up the good work, man!
Thank you so much!
I use Ansible in conjunction with Terraform to create a fictitious customer network of VMs. We use the range for Red Teaming and Cyber exercise practice. The last administrator retired, so now I have inherited this project and still have a lot to learn but it is fascinating and fun! I wish I had watched your video before I started looking at the ansible code but I feel it helped me understand your content better. Thanks for the video!
I've been using ansible for years now. Automate machine deployments, updates, config changes, STIG compliance, auditing on and no and on. Awesome tool. Love your video.
I always wanted to learn Ansible, but all videos and websites were very complicated. You explained in a simple and didactic way what made me excited again to study. Congratulations on the great videos.
Thanks Tim! Ansible has been on my list to dig into for a while and this was clearly presented and easy to understand!
Glad it was helpful!
This one of the easiest tutorial on youtube. Even I could follow it with any problems and that says alot. Great job!!
I created a playbook which updates all my servers.
Awesome, thank you!
Dear Tim, thanks for your content, even though there are numerous great channels that do this kind of content there are only a handfull that present this in a interesting and engaging way. Most of the time I watch only the parts to get something running, but I watch all your videos from start to end!
i loved the intro, I wasn't sure what ansible was. You grave a great overview, and then when into the technical. I got to learn what.I needed/wanted about ansible. I learned that it;s a cool tool for automating repetitive tasks, primarily for ssh tasks.
This is something that I'll never need, it was nice to bug out before the technical, knowing this will be an awesome video, just not my video. But I still throw in a like and this comment to make the interactions high!!! Because it was awesome that I got to not have to sit through technical, trying to figure out what the hell the tool does!!!
Tim, thank you for taking the time to put this together for us. I really appreciate your teaching style and how you compartmentalize different tools and subjects the best you can. For example here you reference best practices via SSH keys, but chose not to go into it. I remember teaching myself about keys from Google and how it seemed like a huge deal at the time. Had that been included in this tutorial, many would have felt it to be overwhelming as you said. I am going to use your strategy of "containerizing" the subjects as I train my team in the future, thanks again.
Thank you so much!
Great video, thanks. I started using Ansible a few months ago, it has been working very well. I have configured things slightly differently, I have used "roles" for each sort of thing I want to be on each system (web server, router, ssh, misc, etc.) and then control that via a playbook that pulls in the roles. For me the nice part about roles is I can have all the templates, config files, etc. all in the role directory of each role so I know what files belong to what role.
Thanks for the info! I am converting some of mine to roles, this is just the building blocks for that!
EXCELLENT intro. I'm going to start using Ansible for setting up VPSs that I use for personal projects.
I would like too take the time say thank you. While 99.9 percent of the people are trying to sell me evething under the sun, you are still offering free advice thank you.
I am working on my own BACnet system on a VM. I realized that I can use tell my compter that it runs a centeral plant will a chiller when it real is just a 15 pressure washer nozzles going up and down to clean the sides of house. I real just need the block logic but to get the ones that run good math on PID switch cost 7500 and that is a old outdated one. Also I want to do is save the planet and reuse olo I/O boards. I leaned most of it but people like you share free information thank you
Thank you! I do have sponsors sometimes to help pay the bills but I choose them wisely and only if I think they are a good fit for my audience. Thank you again!
Not much experience with Ansible but starting to LOVE it...great video Tim
Tim, I run a discord server dedicated to home labs and tech talks... you come up often. Seems like everything you're doing perfectly lines up with what we're doing. Thanks for the great content, great presentation, and great explanations.
That’s awesome! Thank you so much for taking the time to comment!
Thank you so much sir. I was actually not sure why I'm not trying to learn this powerful tool.
I would always see Ansible be mentioned on job applications, along with other qualifications I know I don't have. Seeing this video gave me a little more confidence in tech I've yet to understand. Thank you for that!
Thanks! Reminded me about VS Code!
Glad I could help!
Ansible is so freaking nice. Using it already for my C7000 blade center to setup the 10 blades as a proxmox cluster. Really game-changing ✨
Cool, can you share some playbooks? :))
Right on!
I have some in github, PRs welcome! I the description!
Oh brother, I have to say. Thank you for working on your sound quality recently. I just subbed to your channel & watched some of your recent videos aaand being a self-proclaimed audiophile I really do appreciate it. Actually, all you do...Wow! every detail that you go into that others leave out. Nice!!! and Thank You!
him wacking his table has been driving me nuts on headphones!
Thanks Tim for this Ansible tool introduction. I saw your channel yesterday. After watching your video, immediately I liked and subscribed. I have to learn about Ansible and Chef for the CCNA certification.
Nice introduction to Ansible. I've been doing some of these operations (apt update/upgrade, java check and install) automatically with a script language I've created. Writing code gives more flexibility, but also is more error-prone.
Ansible clearly is a good product, and supporting SSH both with key files and passwords is elegant. My homebrewn solution depends on key-files for SSH and updated /etc/sudoers for non-password sudo.
It would be nice if you post more videos about Ansible, and also let me give you an overall thanks for a lot of interesting topics on this channe (proxmox, freeNAS, kubernetes)!
Thank you so much!!
I'm trying to learn Ansible since it's part of the Network Automation learning path for Cisco. Their documentation was a bit complex to understand and I would just get bored trying to understand it and eventually the knowledge would slip out of my head. With the way you discussed it, I'm starting to grasp it better now and am actually interested seeing as now I have a better understanding. Thanks.
Great content, as usual!
The way you set the timesync configuration is great for ad-hoc runs, first time setup, or to run when you actually know the file changes. Also keeps it easy for first time learners, good job!
However I strongly believe we should be telling Ansible how we want our systems to be rather then what we want to be done (state vs execution)
If you use Ansible in a "keep state" fashion, the timezone task would unnecessarily restart the service every time you run the playbook.
A different practice would be to have a handler on the template, so it would trigger an action only when the file changes
Also, I'm not entirely sure you really need to stop the service before change the config file. I'm not familiar with timesync but generally you don't need to do that for Linux services, a restart (or reload sometimes) after changing the file is enough.
This is my suggestion on how to do that in an idempotent way:
tasks:
...
...
- name: Copy timesyncd config
template:
src:
dst: /etc/systemd/timesyncd.conf
notify:
- restart timesyncd
handlers:
- name: restart timesyncd
service: systemd-timesyncd
state: restarted
THANK you! I came to the comments to ask about this. Coming from Puppet, Salt, and other configuration management tools, I was genuinely confused.
Ansible isn’t only Linux. You can use it on Windows machines too. I love this automation system.
Thank you!
On OS-X too
No yo can’t. Not as host
Its so satisfying to see all my VMs updated all at once
Yes!
Woo, finally! I was waiting for you to post an ansible video. Thanks!
No problem! Enjoy!
One of the most underrated channels in all of YT.
Thank you!
Tim, just found your video and love your teaching style. Great presentations and very easy to understand. I have to learn ansible for work and this helps 100%. See you on twitch!
You did it, YES. Thank you. Now I will see what you have to present, I bet it's good as usual. I wish you a happy life!
The developer did a a great job. He's now putting the auto timer config in etc/systemd/system. Added pull to the exec command, will see if it works. I too do not want a 2-way sync, what could possibly go wrong 😎 . Running both my piholes on bare metal. Tried to run pihole on docker but could not get unbound to work properly. Thanks for shearing: Thumbs Up!
Thank you!
Hecks yeah! Ansible! My take is that even with only 1 test server, Ansible is still worth while. It allows you to get your server into a state where you expect it to be.
Agreed!
Awesome video. Would love to see an automation video on Vagrant!
Hi Tim, I have a nice example for a playbook that only restarts if the uploaded config file has changed.
name: Restart service when config file is copied
become: true
become_user: root
notify:
- "restart service"
handlers:
- name: "restart service"
service:
- name: "{{ service_name }}"
state: restarted
tasks:
- name: Check if config file has changed
stat:
- path: "{{ config_file }}"
register: config_stat
- name: Restart service if config file has changed
service:
- name: "{{ service_name }}"
state: restarted
when: config_stat.stat.mtime != ansible_date_time.iso8601
Thanks for the demo and info, have a great day
thank you!
Have you covered ssh-agent in any videos which mention key-based authentication? That wasn't a tool which was available when I started using ssh years ago, but since I discovered it recently it has transformed my workflow. I can enjoy the "no password" life but still have secure SSH keys!
I just started to play with SaltStack but after watching this, I think I'm going to switch to Ansible as it seems a better fit for a small home lab and doesn't require agents. Thanks Tim!
Saltstack is a far superior product but , as you said, at small scale it is the more complicated solution.
Take that scale to a couple of datacenters and a few thousand vms and it is a different proposition.
Salt will be much faster at scale vs ansible.
Ansible also is going to be the easier of the two to stand up.
Saltstack supports a closed-loop feedback model via beacons. --- practical example : I need to take some action when a service shuts down unexpectedly. I create a beacon to watch the service . I then create a reactor on the saltstack server that will be triggered when the beacon fires.
Hope you enjoy it!
I appreciate your honesty. Great Video and Thanks a LOT!!!
I appreciate that!
Finally Ansible!!! Could you please make a tutorial about jenkins as well? In particualr, how to use jenkins to make docker image automatically whenever there is a new git commit.
I don't have one yet for Jenkins but I have one for GitLab CI (that is very similar to Drone)
@@TechnoTim Ansible with Jenkins combined together forms a really powerful tool for automation purposes! Looking forward to more automation videos xD
outstanding job as always Tim! Your videos truly help with so many scenarios.
I'm pretty sure Tim knows that he can likely spin up a NTP server and source the tz from there
Thank you! These videos should be included in school curriculums were obviously moving in this direction full speed and these videos for whatever reason makes ansible/kubernetes/lab setup easy to follow and replicate
Thank you!
Hi Tim,
Your videos have a clarity of purpose about them and a method and the way you explain what it is you are working to get across - its top notch stuff.
I confess, I personally struggle to get any enjoyment out of scripting works and similar. It makes huge sense if you run fleets..
Wow, thank you!
Awesome, Thanks again TechnoTim. I really enjoy dabbling with all this.
Glad you enjoy it!
Awesome video Tim, Thank you sir. I hope you and your family had a great Christmas.
Solid, to the point video. Rest of the top ansible tutorial results are like as if I am in college and need to sit through unnecessary theory.
Thank you! That’s my goal, get you started fast and let you dig in if you want.
Im a simple guy, I see tim uploaded a new video, I click it
Thank you!
Same
Ditto
This is a FANTASTIC introduction. Well presented and useful for a quickstart. However, I think it would be super beneficial to briefly talk about Infrastructure as Code concepts and how Ansible adheres to the approach in a follow up. It's one thing to use Ansible in a similar manner to shell scripts. But to make the full use of any config management or IAC tool, it's worth teaching concepts such as idempotency, version control, integration testing, reusable modules, etc.
Great suggestion! I always struggle with how in depth to go and also being pragmatic at the same time. Will find a balance! Thanks for the feedback!
@@TechnoTim Of course! Regardless, I think you do a fantastic job overall. The production and communication is top notch for youtube.
Great video Tim!
I use ansible at work for both on premise, for different tasks on servers pool, and AWS EC2 instances in order to create custom AMI (Amazon machine image) with packer, another great tool.
Good stuff!
Just amazingly simple and instructive
Actually, the changes you always see is due to stop/start the service: the template file is not copied over if the destination file is exactly the same (that's implied by the Ansible module that performs that check for you). In fact, in your run, when performing the copy task, only a server results as changed because of the file copy (the other ones are not changed, because you had already copied the same file).
Hi Tim, great video. I am wondering if it is possible to automate proxmox servers upgrades, not just VMs. Can't find a proper playbook for that. Thanks
Oooo, this will become very useful.
If you're using apt to for a bunch of different machines, I'd recommend using a caching service like apt-cacher-ng on one of your machines. This relieves some network pressure and prevents the same requests for the same package updates. It can even be run from a docker image and found some decent ones on github.
Thanks for the tips!
Which font are you using for the terminal (@ 2:56)? And is that a windows terminal (ubuntu on wsl2) or some other?
Great content as always!
Hey thanks! You can configure your terminal just like mine using this ua-cam.com/video/kL8iGErULiw/v-deo.html
i really love that ntp example, i solved this this in a similarway too. One difference i solved it more task based, i set a variable in my hosts file like new_hostname=pihole and in the role i set the path to the configfile to something like this like this src: "{{ new_hostname }}/etc/systemd/timesyncd.conf", which in this example looks in the file folder for the folder pihole ( which it gets from the hostname variable i set and the hostname i declare in playbook or command line ) and then in the subfolders for the file, which allows me to deliver different timesyncd.config files for different clients withtout getting messy in the tasks main.yml cause for each use case or client there is a folderstructure with the correspondent config files =) Never tried to use it on windows, but i manage my root server with its vm's and my local raspberrypis with it. Youre absolutetly right with the ssh keys, not only is it more secure but it makes working with ansible so much more pleasant, especialy if youre in the phase of building roles / tasks / playing, sometimes things fail and having to type the password all the time sucks, keys make that anoyance dissapear, especialy if you want to reach a machine over a bastion host
Great video! The best one I found about Ansible. Thanks man!
Glad you liked it!
Very good introduction!
I love ansible, I have used it for years!!! When you manage about 200 servers it just makes it cake! Also because I like to, I sometimes create adhoc scripts hahaha because why not!
Using Ubuntu 20.04.1 and getting "Ansible provisioning error! Using a SSH password instead of a key is not possible" ?
Here's a workaround:
1) On your Ansible server, edit "/etc/ansible/ansible.cfg"
2) uncomment "host_key_checking = False" and save.
3) Run your ansible command. It should work now
4) Figure out how to add host keys of your servers.
Just subscribed. Love the content. I am still thinking through Ansible vs Bash for this function. The only thing I know right now about Ansible is from your video. I am guessing there are some benefits of Ansible I am missing, but just from this video I am thinking Bash would be the most straightforward way to do it.
Thank you! Ansible has modules that work across operating systems, it can validate and set desired state, prevent config drift, and remote execute. There are plenty more features.
@@TechnoTim Thanks! I figured I was missing something and now I know!
Great video. You're a great teacher.
I did get to the docs with the link you sent thanks for the reply.
tmux... So many great features. Being able to search through command line output is really nice.
What password is required 5:58 ish? I’m using WSL on Windows off a fresh install of Ubuntu. Am I to use the user and password of:
Windows
Ubuntu
Master server node (raspberry pi)
Or…?
Thanks for the help in advance!
I'm stuck still. Once I get this working I will use Jeff Geerling's playbook to get my Pis working! Thanks
Love your channel man ❤️❤️❤️ & Happy New Year to you and all the people watching this video!
Same to you!
Very well explained. Thank you!
Excellent video, thanx!! Small tip: Yaml files is by convention starting with "- - -"
Thank you!
the muted background music was a nice touch
Gr8 content, Rundeck combined with ansible a very powerful combination, give rundeck a try too Tim :)
Great suggestion!
Nice video Tim. You really need to dig into how to create users and upload ssh keys to your remote ubuntu machines with ansible, thats really cool and you dont have to enter passwords and users all the time, ansible commands will become shorter :)
Thanks for the tip! I already automated that too! That was my challenge to people watch the video! I mentioned it in there :)
The python versioning and requiring an environment activation now makes this a whole separate layer of learning a new prerequisite before even starting the original task.
I know this is an older video, but it would be real neat to see how you setup servers for key login; for a thing like Ansible it seems like you'd need a TON of keys or sharing the same key across servers. Maybe a dedicated Ansible user on your systems?
Great video, thank you very much, note to self (nts) watched all of it ,
haha man i went to learn ansible and it just lead me down the virtual machine rabbithole in the first five minutes and i havent even gotten around to actually doing anything with ansible
An update on usage. Not sure why but the ansible ping wouldn't work. The following worked for me on Arch Linux "ansible -i -m ping .... " i.e. the group name needs to come after the module.
The key is "is it going to be done more than twice? If yes, automate it!"
I've been using Ansible for 4 years now - far superior imho to the likes of puppet and chef.
Using it for spinning up AWS boxes with the aws-cli and CloudFormation or terraform, then doing every repeatable task on 1500+ boxes.
The only challenge is the grouping of the boxes in the inventory file as you can end up with multiple groups.
I hear ya! My host lists are ugly, need a better way to break then up without duplicating them
The cost structure for ansible is crazy.
Instead of hard-coding in the hosts file the names of the servers you want to access, is it possible to get them dynamically, at run time, from a directory server, if you have one in your network?
Hey Tim, I've been using Proxmox for a few years, along with KVM based alternatives prior to, but I've been through a few kernel editions with Debian or Ubuntu. For the "qemu-guest-agent" I've only recently been able to get this working properly in Deb 10, where as 9 and 8 seem to be unresponsive when shutdown is executed via PVE making the alternative ACPI... Have you encountered this issue with early kernels (provided you use Debian)?
I've been looking to try Ansible, and so i might try this for the same tasks getting a system upto par, and to configure LDAP authentication.
Hey! I only use Ubuntu, outside of proxmox of course, so not sure!
@@TechnoTim I'll be darn..admittedly I've used Debian as my go-to 9/10th's the time with any guest OS, and with LXC, but I tested the guest agent on Xenial LTS, no issues
Techno Tony is coming for your audio Techno Tim.
Ansible is also becoming used more and more for networking as well. I think playbook apps like Ansible are going to become more and more valued.
Even lately i see Sysadmin/Network Engineer jobs have a knowledge requirement for it.
Nice!
6 month later, i learning about this XD
cool af..
Thanks man, just have a plane to implement this to my servers. And hello from Ukraine ;)
Glad I could help
Would you please make a video on setting up ssh keys with ansible?
Nice explanation ... Thank you for the video ✌️
Hi .I want to automate 3 things can you pls help on that .
1. System check
2.system backup
3.activity precheck& postcheck
Great! Thanks a lot. Now i can start this adventure ;))
Very clear and concise thank you!!
Thank you!
great video man
Not using ansible yet, but eventually. I want to learn it for work, to automate tasks at work.
Man, this is super useful
Glad to hear it!
Cool story bro. I learned a few things
Thanks man keep such good stuff
Thanks, will do!
Great stuff, ques for you - I currently have a bunch of server with diff user names/ password, I currently prefer to use the PW Auth and not SSH at this time. How can I set this up to work with servers that have diff acct login info? TY
Great Stuff! I do wonder if you would explain how to customize Ubuntu Server Network interface like updating from DHCP to STATIC IP? Thank you!
Ansible is a great tool. I use it both at home and Job
Totally agree!
I have a question. How VScode file is recognized by Linuc machine? Is it because you are using WSL so you can see the files on the desktop?