Preface

With more than 20 releases to date, Kubernetes is as hot as ever, even several years after its initial appearance in 2014. Kubernetes, along with other cloud-native technologies, is massively reshaping the IT landscapes in some of the most advanced and progressive companies around the world.

According to the 10th annual Open Source Jobs Report by the Linux Foundation, cloud and containers are highlighted as the most demanded skills categories. Hence, having a strong command of Kubernetes and cloud-native skills is essential for advancing your career and working at some of the best organizations today. Becoming a certified Kubernetes and Cloud Native Associate helps you to stand out and prove your competence in the field.

This book will take you on a cloud-native journey from the very beginning and will teach you both the theoretical and practical aspects of Kubernetes. You’ll learn how to build, configure, and run containers with Docker; how to bootstrap minimal Kubernetes clusters; how to deploy, configure, and manage containerized applications with Kubernetes; how to automate software delivery with CI/CD, and much more. You’ll build a solid foundation to pass the KCNA exam on the first attempt and get a well-rounded view of today’s industry standards.

The book is divided into five parts:

  1. The Cloud Era
  2. Performing Container Orchestration
  3. Learning Kubernetes Fundamentals
  4. Exploring Cloud Native
  5. KCNA Exam and Next Steps

In the first part, you’ll be introduced to cloud native computing, explaining how the industry evolved and why modern applications often run in containers. Next, you’ll learn about Docker and get hands-on with running containers locally.

In Part 3, the largest part, you’ll learn about Kubernetes: its features, architecture, API, and components. You’ll find the best practices, recap questions, and lots of practical assignments to support your journey. In Part 4, we’ll focus on cloud-native architectures and other technologies from the cloud-native ecosystem. We’ll see how to monitor, observe, and deliver cloud-native applications. Finally, in Part 5, you’ll find mock exams and tips on passing KCNA, as well as some advice on how to proceed after becoming certified.

Who this book is for

Kubernetes and Cloud Native Associate (KCNA) is a pre-professional certification designed for candidates interested in advancing to the professional level through a demonstrated understanding of Kubernetes foundational knowledge and skills.

A certified KCNA will confirm conceptual knowledge of the entire cloud native ecosystem, particularly focusing on Kubernetes. KCNA will demonstrate the candidate’s basic knowledge of Kubernetes and cloud-native technologies, including how to deploy an application using basic kubectl commands, the architecture of Kubernetes, understanding the cloud native landscape and projects, and understanding the basics of cloud-native security.

Whether a fresh IT graduate, a developer, a system administrator, or a DevOps engineer, regardless of experience, anyone interested in learning about Kubernetes and cloud-native technologies will find this book practical and easy to follow. Familiarity with IT fundamentals (Git), operating systems, and command-line interfaces is required, but no prior knowledge of Kubernetes, Docker, or cloud-native technologies is needed to get started.

What this book covers

Chapter 1, From Cloud to Cloud Native and Kubernetes, shares how computing has evolved over the past 20+ years. It explains what the cloud is, how it appeared, and how IT landscapes have changed with the introduction of containers. You will learn about fundamentals such as IaaS, PaaS, SaaS, and FaaS, as well as take a first look at Kubernetes.

Chapter 2, Overview of CNCF and Kubernetes Certifications, introduces the Cloud Native Computing Foundation (CNCF) and its parent organization – the Linux Foundation. It will share what is behind those foundations, how they appeared, and which projects are curated in their ecosystems. This chapter will explain about the CNCF community, governance, cloud roles, and Kubernetes certification path.

Chapter 3, Getting Started with Containers, provides a closer look at containers, diving deeper into container technology and container ecosystem, and discovering commonly used Docker tooling. This chapter includes practical assignments.

Chapter 4, Exploring Container Runtimes, Interfaces, and Service Meshes, takes you further to explore container runtimes, networking, and interfaces, and learn about service meshes. You will learn how containers can communicate with each other over the network, which container interfaces exist in Kubernetes, and get to know what a service mesh is and its applications.

Chapter 5, Orchestrating Containers with Kubernetes, starts the coverage of the most important and perhaps the hardest part of KCNA certification – Kubernetes Fundamentals. You will learn about the features and the basics of Kubernetes architecture, its API, components, and the smallest deployable unit, called a Pod. The practical part includes the local installation of Kubernetes with the help of minikube.

Chapter 6, Deploying and Scaling Applications with Kubernetes, takes you further to explore the Kubernetes functionality and rich ecosystem. The chapter provides an overview of other Kubernetes resources and their purpose; it discusses how to implement self-healing and scaling of applications with Kubernetes, how to use Kubernetes service discovery, and how to run stateful workloads with Kubernetes. More practical Kubernetes exercises are an essential part of the chapter.

Chapter 7, Application Placement and Debugging with Kubernetes, demonstrates how to control the placement of workloads on Kubernetes, how its scheduler works, and how applications running on K8s can be debugged. The chapter covers aspects from the Kubernetes Fundamentals as well as Cloud Native Observability domains of the KCNA exam at the same time.

Chapter 8, Following Kubernetes Best Practices, talks about Kubernetes networking and network policies for traffic control, restricting access with Role-Based Access Control (RBAC), using Helm as a K8s package manager, and more. The final chapter of the Kubernetes part includes a few more hands-on exercises.

Chapter 9, Understanding Cloud Native Architectures, explores aspects of cloud native in more detail. The chapter shares core concepts that are a part of Cloud Native and Cloud Native architectures. This chapter covers further requirements of the Cloud Native Architecture domain of the KCNA exam.

Chapter 10, Implementing Telemetry and Observability in the Cloud, emphasizes the need to monitor and optimize Cloud Native applications based on observations for best performance with cost in mind. The chapter covers further requirements from the Cloud Native Observability domain of KCNA.

Chapter 11, Automating Cloud Native Application Delivery, talks about the Cloud Native application life cycle. You will learn about best practices for the development and delivery of Cloud Native apps and see how automation helps to develop better and ship faster.

Chapter 12, Practicing for the KCNA Exam with Mock Papers, shares a few tips on passing the exam and includes two mock exams to test the knowledge during final preparations.

Chapter 13, The Road Ahead, concludes the book with tips on how to advance and what to do next for a successful Cloud Native career.

To get the most out of this book

You’ll install a number of tools; therefore, a system with administrative privileges will be needed.

Software/hardware covered in the book

Operating system requirements

Kubernetes

Windows, macOS, or Linux (macOS or Linux are recommended)

minikube

Docker

Prometheus

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.

Download the example code files

You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Becoming-KCNA-Certified. If there’s an update to the code, it will be updated in the GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots and diagrams used in this book. You can download it here: https://packt.link/OnZI3.

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and so on. Here is an example: “Let’s delete the old nginx-deployment that we created at the beginning of this chapter.”

A block of code is set as follows:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: kcna-pv-claim
spec:
  storageClassName: standard
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

Normal   Scheduled  85s                default-scheduler   Successfully assigned kcna/liveness-exec to minikube
  Normal   Pulled     81s                kubelet            Successfully pulled image "k8s.gcr.io/busybox" in 3.4078911s
  Warning  Unhealthy  41s (x3 over 51s)  kubelet            Liveness probe failed: cat: can't open '/tmp/healthy': No such file or directory
  Normal   Killing    41s                kubelet            Container liveness failed liveness probe, will be restarted
  Normal   Pulling    11s (x2 over 85s)  kubelet            Pulling image "k8s.gcr.io/busybox"

Bold: Indicates a term, an important word, or words. For instance, major points can appear in bold.

Tips or important notes

Appear like this

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Share Your Thoughts

Once you’ve read Becoming KCNA Certified, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

Download a free PDF copy of this book

Thanks for purchasing this book!

Do you like to read on the go but are unable to carry your print books everywhere? Is your eBook purchase not compatible with the device of your choice?

Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.

The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

Follow these simple steps to get the benefits:

  1. Scan the QR code or visit the link below

https://packt.link/free-ebook/9781804613399

  1. Submit your proof of purchase
  2. That’s it! We’ll send your free PDF and other benefits to your email directly
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset