You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/docs/concepts/cluster-administration/_index.md
+48-28Lines changed: 48 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,31 +11,37 @@ no_list: true
11
11
---
12
12
13
13
<!-- overview -->
14
+
14
15
The cluster administration overview is for anyone creating or administering a Kubernetes cluster.
15
16
It assumes some familiarity with core Kubernetes [concepts](/docs/concepts/).
16
17
17
-
18
18
<!-- body -->
19
+
19
20
## Planning a cluster
20
21
21
-
See the guides in [Setup](/docs/setup/) for examples of how to plan, set up, and configure Kubernetes clusters. The solutions listed in this article are called *distros*.
22
+
See the guides in [Setup](/docs/setup/) for examples of how to plan, set up, and configure
23
+
Kubernetes clusters. The solutions listed in this article are called *distros*.
22
24
23
-
{{< note >}}
24
-
Not all distros are actively maintained. Choose distros which have been tested with a recent version of Kubernetes.
25
-
{{< /note >}}
25
+
{{< note >}}
26
+
Not all distros are actively maintained. Choose distros which have been tested with a recent
27
+
version of Kubernetes.
28
+
{{< /note >}}
26
29
27
30
Before choosing a guide, here are some considerations:
28
31
29
-
- Do you want to try out Kubernetes on your computer, or do you want to build a high-availability, multi-node cluster? Choose distros best suited for your needs.
30
-
- Will you be using **a hosted Kubernetes cluster**, such as [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/), or **hosting your own cluster**?
31
-
- Will your cluster be **on-premises**, or **in the cloud (IaaS)**? Kubernetes does not directly support hybrid clusters. Instead, you can set up multiple clusters.
32
-
-**If you are configuring Kubernetes on-premises**, consider which [networking model](/docs/concepts/cluster-administration/networking/) fits best.
33
-
- Will you be running Kubernetes on **"bare metal" hardware** or on **virtual machines (VMs)**?
34
-
- Do you **want to run a cluster**, or do you expect to do **active development of Kubernetes project code**? If the
35
-
latter, choose an actively-developed distro. Some distros only use binary releases, but
36
-
offer a greater variety of choices.
37
-
- Familiarize yourself with the [components](/docs/concepts/overview/components/) needed to run a cluster.
38
-
32
+
- Do you want to try out Kubernetes on your computer, or do you want to build a high-availability,
33
+
multi-node cluster? Choose distros best suited for your needs.
34
+
- Will you be using **a hosted Kubernetes cluster**, such as
35
+
[Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/), or **hosting your own cluster**?
36
+
- Will your cluster be **on-premises**, or **in the cloud (IaaS)**? Kubernetes does not directly
37
+
support hybrid clusters. Instead, you can set up multiple clusters.
38
+
-**If you are configuring Kubernetes on-premises**, consider which
- Will you be running Kubernetes on **"bare metal" hardware** or on **virtual machines (VMs)**?
41
+
- Do you **want to run a cluster**, or do you expect to do **active development of Kubernetes project code**?
42
+
If the latter, choose an actively-developed distro. Some distros only use binary releases, but
43
+
offer a greater variety of choices.
44
+
- Familiarize yourself with the [components](/docs/concepts/overview/components/) needed to run a cluster.
39
45
40
46
## Managing a cluster
41
47
@@ -45,29 +51,43 @@ Before choosing a guide, here are some considerations:
45
51
46
52
## Securing a cluster
47
53
48
-
*[Generate Certificates](/docs/tasks/administer-cluster/certificates/) describes the steps to generate certificates using different tool chains.
54
+
*[Generate Certificates](/docs/tasks/administer-cluster/certificates/) describes the steps to
55
+
generate certificates using different tool chains.
49
56
50
-
*[Kubernetes Container Environment](/docs/concepts/containers/container-environment/) describes the environment for Kubelet managed containers on a Kubernetes node.
the environment for Kubelet managed containers on a Kubernetes node.
51
59
52
-
*[Controlling Access to the Kubernetes API](/docs/concepts/security/controlling-access) describes how Kubernetes implements access control for its own API.
60
+
*[Controlling Access to the Kubernetes API](/docs/concepts/security/controlling-access) describes
61
+
how Kubernetes implements access control for its own API.
53
62
54
-
*[Authenticating](/docs/reference/access-authn-authz/authentication/) explains authentication in Kubernetes, including the various authentication options.
63
+
*[Authenticating](/docs/reference/access-authn-authz/authentication/) explains authentication in
64
+
Kubernetes, including the various authentication options.
55
65
56
-
*[Authorization](/docs/reference/access-authn-authz/authorization/) is separate from authentication, and controls how HTTP calls are handled.
66
+
*[Authorization](/docs/reference/access-authn-authz/authorization/) is separate from
67
+
authentication, and controls how HTTP calls are handled.
57
68
58
-
*[Using Admission Controllers](/docs/reference/access-authn-authz/admission-controllers/) explains plug-ins which intercepts requests to the Kubernetes API server after authentication and authorization.
explains plug-ins which intercepts requests to the Kubernetes API server after authentication
71
+
and authorization.
59
72
60
-
*[Using Sysctls in a Kubernetes Cluster](/docs/tasks/administer-cluster/sysctl-cluster/) describes to an administrator how to use the `sysctl` command-line tool to set kernel parameters .
73
+
*[Using Sysctls in a Kubernetes Cluster](/docs/tasks/administer-cluster/sysctl-cluster/)
74
+
describes to an administrator how to use the `sysctl` command-line tool to set kernel parameters
75
+
.
61
76
62
-
*[Auditing](/docs/tasks/debug/debug-cluster/audit/) describes how to interact with Kubernetes' audit logs.
77
+
*[Auditing](/docs/tasks/debug/debug-cluster/audit/) describes how to interact with Kubernetes'
*[DNS Integration](/docs/concepts/services-networking/dns-pod-service/) describes how to resolve a DNS name directly to a Kubernetes service.
88
+
*[DNS Integration](/docs/concepts/services-networking/dns-pod-service/) describes how to resolve
89
+
a DNS name directly to a Kubernetes service.
90
+
91
+
*[Logging and Monitoring Cluster Activity](/docs/concepts/cluster-administration/logging/)
92
+
explains how logging in Kubernetes works and how to implement it.
72
93
73
-
*[Logging and Monitoring Cluster Activity](/docs/concepts/cluster-administration/logging/) explains how logging in Kubernetes works and how to implement it.
*Kubernetes objects* are persistent entities in the Kubernetes system. Kubernetes uses these entities to represent the state of your cluster. Specifically, they can describe:
17
+
*Kubernetes objects* are persistent entities in the Kubernetes system. Kubernetes uses these
18
+
entities to represent the state of your cluster. Specifically, they can describe:
18
19
19
20
* What containerized applications are running (and on which nodes)
20
21
* The resources available to those applications
21
22
* The policies around how those applications behave, such as restart policies, upgrades, and fault-tolerance
22
23
23
-
A Kubernetes object is a "record of intent"--once you create the object, the Kubernetes system will constantly work to ensure that object exists. By creating an object, you're effectively telling the Kubernetes system what you want your cluster's workload to look like; this is your cluster's *desired state*.
24
+
A Kubernetes object is a "record of intent"--once you create the object, the Kubernetes system
25
+
will constantly work to ensure that object exists. By creating an object, you're effectively
26
+
telling the Kubernetes system what you want your cluster's workload to look like; this is your
27
+
cluster's *desired state*.
24
28
25
-
To work with Kubernetes objects--whether to create, modify, or delete them--you'll need to use the [Kubernetes API](/docs/concepts/overview/kubernetes-api/). When you use the `kubectl` command-line interface, for example, the CLI makes the necessary Kubernetes API calls for you. You can also use the Kubernetes API directly in your own programs using one of the [Client Libraries](/docs/reference/using-api/client-libraries/).
29
+
To work with Kubernetes objects--whether to create, modify, or delete them--you'll need to use the
30
+
[Kubernetes API](/docs/concepts/overview/kubernetes-api/). When you use the `kubectl` command-line
31
+
interface, for example, the CLI makes the necessary Kubernetes API calls for you. You can also use
32
+
the Kubernetes API directly in your own programs using one of the
@@ -48,11 +56,17 @@ the status to match your spec. If any of those instances should fail
48
56
between spec and status by making a correction--in this case, starting
49
57
a replacement instance.
50
58
51
-
For more information on the object spec, status, and metadata, see the [Kubernetes API Conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md).
59
+
For more information on the object spec, status, and metadata, see the
60
+
[Kubernetes API Conventions](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md).
52
61
53
62
### Describing a Kubernetes object
54
63
55
-
When you create an object in Kubernetes, you must provide the object spec that describes its desired state, as well as some basic information about the object (such as a name). When you use the Kubernetes API to create the object (either directly or via `kubectl`), that API request must include that information as JSON in the request body. **Most often, you provide the information to `kubectl` in a .yaml file.**`kubectl` converts the information to JSON when making the API request.
64
+
When you create an object in Kubernetes, you must provide the object spec that describes its
65
+
desired state, as well as some basic information about the object (such as a name). When you use
66
+
the Kubernetes API to create the object (either directly or via `kubectl`), that API request must
67
+
include that information as JSON in the request body. **Most often, you provide the information to
68
+
`kubectl` in a .yaml file.**`kubectl` converts the information to JSON when making the API
69
+
request.
56
70
57
71
Here's an example `.yaml` file that shows the required fields and object spec for a Kubernetes Deployment:
58
72
@@ -81,7 +95,9 @@ In the `.yaml` file for the Kubernetes object you want to create, you'll need to
81
95
*`metadata` - Data that helps uniquely identify the object, including a `name` string, `UID`, and optional `namespace`
82
96
*`spec` - What state you desire for the object
83
97
84
-
The precise format of the object `spec` is different for every Kubernetes object, and contains nested fields specific to that object. The [Kubernetes API Reference](/docs/reference/kubernetes-api/) can help you find the spec format for all of the objects you can create using Kubernetes.
98
+
The precise format of the object `spec` is different for every Kubernetes object, and contains
99
+
nested fields specific to that object. The [Kubernetes API Reference](/docs/reference/kubernetes-api/)
100
+
can help you find the spec format for all of the objects you can create using Kubernetes.
85
101
86
102
For example, see the [`spec` field](/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec)
87
103
for the Pod API reference.
@@ -103,5 +119,3 @@ detail the structure of that `.status` field, and its content for each different
103
119
* Learn about [controllers](/docs/concepts/architecture/controller/) in Kubernetes.
104
120
*[Using the Kubernetes API](/docs/reference/using-api/) explains some more API concepts.
0 commit comments