Lesson  in  Kubernetes the (Very) Hard Way

Tips & Tricks

How to Complete the Course

Before jumping into the first lesson, here are a few tips to help you progress through the course.

Read Code Snippets

Throughout the course, lessons will include code snippets (sometimes long ones).

To get the most out of this course, make sure to read them carefully. Don't just copy and paste them into the terminal without understanding what they do.

Practice Makes Perfect

Each lesson includes related content and references for diving deeper into the topic. Be sure to check them out—they'll help you understand the concepts better.

Also, feel free to stay in the playground and experiment on your own after completing each lesson. This will help solidify your understanding and prepare you for what comes next.

⚠️ This is not a course you should speedrun.

Take your time, learn at your own pace, and enjoy the journey.

Reporting Issues

If you encounter any issues throughout the course, please report them here.

Practical Tips

Editing Configuration Files

System configuration files are typically owned by the root user.

To edit them, you have a few options:

  • Use sudo to run your editor as root (e.g., sudo nano /path/to/file)
  • Use sudoedit to edit the file directly as root
  • Use sudo su to switch to the root user

💡 Set the EDITOR environment variable to your preferred editor so that sudoedit will use it.

Whatever you choose, make sure to become familiar with it before proceeding.

Systemd Basics

In systemd, an application running as a daemon is called a service.

Throughout the course, you will create, configure, and manage services.

The primary command for managing services is systemctl. You can use it to start, stop, restart, enable, disable, and check the status of services.

  • Start, stop, and restart are self-explanatory.
  • Enable and disable tell systemd whether to start the service at boot.
  • The status command shows the current state of the service.

To create a systemd service, you need to create a configuration file in /etc/systemd/system/ with a .service extension.

For example, to create a service for kubelet, you can run the following command:

sudoedit /etc/systemd/system/kubelet.service

After adding or changing a service file, you need to reload the systemd daemon:

sudo systemctl daemon-reload

Finally, enable and start the service:

systemctl enable --now kubelet

Troubleshooting

If you have trouble getting a service to run, first check whether the service is enabled and able to run:

sudo systemctl status SERVICE

Next, you can use the journalctl command to look at the logs:

sudo journalctl -u kubelet.service

That's it!

You are now ready to jump into the first lesson.

Previous lesson
Welcome
Next lesson
containerd