A Practical Guide To Working With Kubernetes
A Practical Guide To Working With Kubernetes
A Practical Guide To Working With Kubernetes
TO WORKING WITH
KUBERNETES
SYNOPSIS
The IT world is having a love affair with Kubernetes. Seemingly everyone
everywhere is talking about Kubernetes as an essential tool for orchestrating
containerized applications.
There are several reasons for Kubernetes’s popularity. One is the strong
open source community that undergirds it. Another is the fact that it’s a
community-developed platform, rather than one closely associated with a single
commercial company (as most other container orchestrators are). The fact that
Kubernetes is free and easily customizable helps, too.
Yet, amidst all of the excitement about Kubernetes, it can be easy to overlook
a crucial reality. While Kubernetes is very useful as a container orchestration
tool, it doesn’t perform magic. To use Kubernetes effectively, organizations
need to carefully plan how they will implement and optimize their Kubernetes
deployment. They need to assess which Kubernetes features are the most
important for their needs, and determine how to configure those features to
maximum effect. They must address challenges such as securing Kubernetes,
and ensuring that Kubernetes deployments remain flexible and scalable as
the applications Kubernetes manages evolve. And they need to integrate
Kubernetes effectively into their DevOps-based workflows.
With those challenges in mind, Alcide has prepared this eBook to provide
organizations with a practical guide to working with Kubernetes. The eBook
explains how to get Kubernetes up and running. It highlights Kubernetes’s most
significant features and offers tips on optimizing them. And it explains how to
use Kubernetes to advance your organization’s DevOps culture.
The pages below don’t go into exhaustive detail about the technical details
of Kubernetes; for that information, the Kubernetes documentation is a great
resource. But we do hope that readers of this eBook will find helpful and
practical tips for making the most out of Kubernetes, and see why Kubernetes —
when used effectively — is such a powerful tool.
2 www.alcide.io • [email protected]
GETTING STARTED WITH
KUBERNETES
If you’re planning your Kubernetes deployment or assessing whether
Kubernetes is a good fit for your needs, an obvious question you need to answer
is what the process of setting up Kubernetes actually looks like. Here’s a primer
on the steps you’ll follow in order to start your Kubernetes journey.
3 www.alcide.io • [email protected]
DAY 1
GET KUBERNETES
RUNNING IN YOUR
ENVIRONMENT
Using the forerunner of hosted solutions,
GKE on GCP, is as simple as one command
line:
4 www.alcide.io • [email protected]
DAY 2
NOW WE NEED TO MAINTAIN THIS
KUBERNETES MONSTER
A full Kubernetes multi-node cluster The best approach right now is to use a
deployment with live applications is not a part- project like that offered by Alcide, which
time endeavour for the average operational understands both Kubernetes and the
team. Not only is it typically new to the cloud it is running on, with a single,
environment, it is work in addition to any easy-to-use interface.
existing application deployments. Over time,
For monitoring and alerting, the CNCF
other application deployment models can be
has a top-level project that co-exists with
retired or migrated to Kubernetes, but there is
Kubernetes called Prometheus, which can
a transition period where making operations
handle most environments’ basic needs.
as simple as possible is key.
If more in-depth diagnostics are needed
Most Kubernetes deployments end up using from deployed applications, Jaeger is also
a networking layer that supports network supported by the CNCF.
policies, as they are the most flexible and
easiest to use for developers to manage
their own network security. Managing these
security policies only becomes more difficult
over time as the number of policies configured
grows.
5 www.alcide.io • [email protected]
DAY 3
DON’T FORGET
KUBERNETES
SECURITY
As with any modern network-connected
infrastructure, security is a big part of the
Kubernetes landscape. This goes beyond the
initial concerns people have when security is
mentioned (often residing around edge security
like firewalls). Network security policies play a
big part in what used to be exclusively in the
domain of edge security.
6 www.alcide.io • [email protected]
UNDERSTANDING AND
OPTIMIZING KEBERNETES
KEY FEATURES
Kubernetes is a complex tool. Although at a high level, it
does one thing (container orchestration), its functionality
breaks down into several distinct categories.
7 www.alcide.io • [email protected]
UNDERSTANDING
AND OPTIMIZING
KUBERNETES’S KEY
FEATURES
AUTOMATION & One of the most common reasons for using Kubernetes is to
automate tasks that would be difficult to perform manually.
SELF-SERVICE
Out of the box, Kubernetes automates many complicated
procedures.
8 www.alcide.io • [email protected]
UNDERSTANDING
AND OPTIMIZING
KUBERNETES’S KEY
FEATURES
9 www.alcide.io • [email protected]
UNDERSTANDING
AND OPTIMIZING
KUBERNETES’S KEY
FEATURES
kube-aws up --export
10 www.alcide.io • [email protected]
KUBERNETES SECURITY AND
PERFORMANCE CONSIDERATIONS
Security and performance are complex topics within the realm of
Kubernetes. Kubernetes is not a security tool per se. Nor does it optimize
performance on its own. In order to address these needs, developers and IT
staff must understand which security and performance features Kubernetes
offers, and how to work with them.
11 www.alcide.io • [email protected]
KUBERNETES
SECURITY AND
PERFORMANCE
CONSIDERATIONS
12 www.alcide.io • [email protected]
KUBERNETES
SECURITY AND
PERFORMANCE
CONSIDERATIONS
13 www.alcide.io • [email protected]
KUBERNETES
SECURITY AND
PERFORMANCE
CONSIDERATIONS
14 www.alcide.io • [email protected]
KUBERNETES AND
DEVOPS
A final essential requirement for making the most
of Kubernetes is to integrate Kubernetes effectively
into your DevOps workflow and culture. On this topic,
there is not a specific set of technical procedures to
follow; instead, the focus is on understanding which
values a DevOps culture prioritizes, and identifying
ways in which Kubernetes can reinforce them.
15 www.alcide.io • [email protected]
KUBERNETES AND
DEVOPS
16 www.alcide.io • [email protected]
KUBERNETES AND
DEVOPS
17 www.alcide.io • [email protected]
KUBERNETES AND
DEVOPS
18 www.alcide.io • [email protected]
KUBERNETES AND
DEVOPS
19 www.alcide.io • [email protected]
CONCLUSION
Kubernetes is eating the world, with good reason. Kubernetes offers a powerful
set of features for deploying and managing containerized applications.
However, as this eBook has explained, improving IT operations with the help
of Kubernetes is not as simple as flipping a switch to turn on Kubernetes
and calling it a day. Instead, organizations must carefully plan how to set up
and manage their Kubernetes deployments. They must also choose how to
configure the long list of features that Kubernetes offers, and they must take
extra steps to optimize Kubernetes security and performance.
It’s only through careful planning and implementation that Kubernetes can
achieve its promise of making the delivery of containerized applications faster
and more efficient — and, by extension, advance the goals of organizations that
have embraced DevOps.
GET IT HERE
20 www.alcide.io • [email protected]