the HTTP request and access the remote Kubernetes cluster securely and authentica‐
ted:
$ ./kubectl config set-cluster k --server=https://
:6443 \
--insecure-skip-tls-verify=true
$ ./kubectl config set-context kcon --user=superadmin
$ ./kubectl config set-context kcon —-cluster=k
$ ./kubectl config set-credentials superadmin --username=admin --password=foobar
$ ./kubectl config use-context kcon
Discussion
Although the
kubectl
client is powerful, remember that you could write your own
client because the requests are standard HTTP requests. For example, you can use
curl
to make an authenticated request:
$ curl -k -u toto:foobar https://:6443/api
{
"versions": [
"v1"
]
}
See Also
• Kubernetes client
libraries
168 | Chapter 5: Kubernetes
CHAPTER 6
Optimized Operating System
Distributions for Docker
6.0 Introduction
In the first chapter we covered several installation scenarios. They showed how to
install Docker on traditional operating systems. In this chapter we present a new gen‐
eration of operating systems (OSes) that are optimized for Docker. These new OSes
consider two new trends. First, they consider that everything running in a server will
be a container. Second, they try to implement an atomic upgrade mechanism to sim‐
plify operation and maintenance of servers in the data center.
This means that these
new operating systems do not feature a traditional package manager like
yum
or
apt
,
but instead they assume that you will get your application running in the machine by
pulling a Docker image and running a container. These OSes provide just the mini‐
mum required to run containers.
The first operation system presented is CoreOS (see
Recipe 6.1
). CoreOS is available
on several public cloud providers. It can be installed on
bare-metal and can be tested
locally via Vagrant or by building your own ISO. In
Recipe 6.2
we show how to con‐
figure a CoreOS instance, in
Recipe 6.3
we present how to create a cluster of CoreOS
machines, and in
Recipe 6.4
we see how we can use the native
system-based scheduler
to launch containers on a CoreOS cluster. We then have a look a Flannel, a network
overlay technique that comes bundled in CoreOS. Flannel, as we mentioned in the
networking chapter, provides you with a networking solution
so that your containers
can communicate on a private IP space across multiple hosts.
We then cover three other Docker-optimized OSes. RedHat Atomic is introduced in
Recipe 6.6
, and
Recipe 6.7
shows you how to start an Atomic instance on AWS.
Ubuntu Snappy is presented in
Recipe 6.8
, while
Recipe 6.9
shows
how to start an
169
Ubuntu instance on AWS. Showing examples on AWS gives you the option of trying
these new OSes on your local machine or in the cloud. Finally, we present RancherOS
in
Recipe 6.10
, which has the unique characteristics of also running system services as
containers.
In summary, this chapter gives you some alternatives to running Docker in tradi‐
tional operating systems and presents a few solutions where
everything that runs on
the machine is a container. You should also note that there are other choices, like
VMware Photon
, and that different approaches which leverage traditional virtualiza‐
tion technologies also exist, like the
Clear
Linux project
and and
hyper.sh
.
CoreOS is a new Linux distribution available on several public cloud providers. It is
Do'stlaringiz bilan baham: