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: learn-pr/azure/intro-to-kubernetes/4-how-app-deployments-work.yml
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -5,12 +5,11 @@ title: How Kubernetes deployments work
5
5
metadata:
6
6
title: How Kubernetes works
7
7
description: Learn about the basic Kubernetes deployment options available for applications and some considerations around network and storage configuration.
Copy file name to clipboardExpand all lines: learn-pr/azure/intro-to-kubernetes/includes/2-what-is-kubernetes.md
+11-20Lines changed: 11 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
The decoupled design of microservices combined with the atomicity of containers makes it possible to scale out apps that respond to demand. In complex solutions like the drone-tracking app, the process of deploying, updating, monitoring, and removing containers introduces challenges.
2
2
3
-
Before looking at what's in Kubernetes, there are two concepts that you should understand first: container management and orchestrators.
3
+
Before we look at Kubernetes, there are two concepts that you should understand first: container management and container orchestrators.
4
4
5
5
## What is container management?
6
6
@@ -10,9 +10,9 @@ The drone-tracking app consists of multiple microservices responsible for tasks
10
10
11
11
:::image type="content" source="../media/2-container.png" alt-text="Diagram of a server or application replicated as containers for cloud deployment." border="false":::
12
12
13
-
For example, with the drone-tracking app's website, you find that you need more instances of the site's caching service to maintain performance during specific times of the day, so you add more caching service container instances.
13
+
For example, with the drone-tracking app's website, you find that you need more instances of the site's caching service to maintain performance during specific times of the day. The solution is to add more caching service container instances.
14
14
15
-
Next, assume that you've increased the number of caching instances and need to roll out a new version of the microservice. You need to update *all* the active containers to use the new version.
15
+
Next, assume that you increased the number of caching instances and need to roll out a new version of the microservice. You need to update _all_ the active containers to use the new version.
16
16
17
17
Container management helps you with these manual repetitive tasks.
18
18
@@ -36,17 +36,12 @@ The benefits of using Kubernetes are based on the abstraction of tasks.
36
36
37
37
These tasks include:
38
38
39
-
- Self-healing of containers; for example, restarting containers that fail or replacing containers
40
-
41
-
- Scaling deployed container count up or down dynamically, based on demand
42
-
43
-
- Automating rolling updates and rollbacks of containers
44
-
45
-
- Managing storage
46
-
47
-
- Managing network traffic
48
-
49
-
- Storing and managing sensitive information such as usernames and passwords
39
+
- Self-healing of containers; for example, restarting containers that fail or replacing containers.
40
+
- Scaling deployed container count up or down dynamically, based on demand.
41
+
- Automating rolling updates and rollbacks of containers.
42
+
- Managing storage.
43
+
- Managing network traffic.
44
+
- Storing and managing sensitive information such as usernames and passwords.
50
45
51
46
> [!IMPORTANT]
52
47
> Keep in mind that all of the preceding aspects of Kubernetes require configuration and a good understanding of the underlying technologies. For example, you need to understand concepts such as virtual networks, load balancers, and reverse proxies to configure Kubernetes networking.
@@ -60,16 +55,12 @@ With Kubernetes, you can view your datacenter as one large compute resource. You
60
55
However, it's important to understand that Kubernetes isn't a single installed app that comes with all possible components needed to manage and orchestrate a containerized solution:
61
56
62
57
- Aspects such as deployment, scaling, load balancing, logging, and monitoring are all optional. You're responsible for finding the best solution that fits your needs to address these aspects.
63
-
64
58
- Kubernetes doesn't limit the types of apps that can run on the platform. If your app can run in a container, it can run on Kubernetes. To make optimal use of containerized solutions, your developers need to understand concepts such as microservices architecture.
65
-
66
59
- Kubernetes doesn't provide middleware, data-processing frameworks, databases, caches, or cluster-storage systems. All these items are run as containers or as part of another service offering.
67
-
68
-
- For Kubernetes to run containers, it needs a container runtime like Docker or containerd. The container runtime is the object that's responsible for managing containers. For example, the container runtime starts, stops, and reports on the container's status.
69
-
60
+
- For Kubernetes to run containers, it needs a container runtime like Docker or `containerd`. The container runtime is the object that's responsible for managing containers. For example, the container runtime starts, stops, and reports on the container's status.
70
61
- You're responsible for maintaining your Kubernetes environment. For example, you need to manage OS upgrades and the Kubernetes installation and upgrades. You also manage the hardware configuration of the host machines, such as networking, memory, and storage.
71
62
72
63
Cloud services such as Azure Kubernetes Service (AKS) reduce these challenges by providing a hosted Kubernetes environment. These services also simplify deploying and managing containerized apps in Azure. With AKS, you get the benefits of open-source Kubernetes without the complexity or operational overhead of running your own custom Kubernetes cluster.
73
64
74
65
> [!NOTE]
75
-
> Kubernetes is sometimes abbreviated to *K8s*. The 8 represents the eight characters between the K and the s of the word K[*ubernete*]s.
66
+
> Kubernetes is sometimes abbreviated to _K8s_. The `8` represents the eight characters between the K and the s of the word K[*ubernete*]s.
Copy file name to clipboardExpand all lines: learn-pr/azure/intro-to-kubernetes/includes/3-how-kubernetes-works.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
-
A successfully configured Kubernetes installation depends on a solid understanding of the Kubernetes system architecture. Here, you look at all the components that make up a Kubernetes installation.
1
+
A successfully configured Kubernetes installation depends on a solid understanding of the Kubernetes system architecture. In this unit, you look at the components that make up a Kubernetes installation.
2
2
3
3
## What is a computer cluster?
4
4
5
5
A cluster is a set of computers that you configure to work together and view as a single system. The computers configured in the cluster handle the same kinds of tasks. For example, they'll all host websites, APIs, or run compute-intensive work.
6
6
7
-
A cluster uses centralized software that's responsible for scheduling and controlling these tasks. The computers in a cluster that run the tasks are called *nodes*, and the computers that run the scheduling software are called control *planes*.
7
+
A cluster uses centralized software that's responsible for scheduling and controlling these tasks. The computers in a cluster that run the tasks are called _nodes_, and the computers that run the scheduling software are called control _planes_.
8
8
9
9
:::image type="content" source="../media/3-diagram-cluster.svg" alt-text="Diagram of a computer cluster that shows how a task is distributed via the control plane to three nodes and the interaction between the nodes." border="false":::
10
10
@@ -18,7 +18,7 @@ A Kubernetes cluster contains at least one main plane and one or more nodes. Bot
18
18
19
19
You can also run Microsoft workloads by using Windows Server 2019 or later on cluster nodes. For example, assume that the data-processing service in the drone-tracking app is written as a .NET 4.5 app that uses specific Windows OS API calls. This service can run only on nodes that run a Windows Server OS.
20
20
21
-
Now, let's look at both the control planes and worker nodes and the software that runs on each in more detail. Understanding the role of each component and where each component runs in the cluster helps you when it comes to installing Kubernetes.
21
+
Now, let's look at both the control planes and worker nodes and the software that runs on each in more detail. Understanding the role of each component and where each component runs in the cluster helps you when you install Kubernetes.
22
22
23
23
### Kubernetes control plane
24
24
@@ -49,7 +49,7 @@ The following services make up a Kubernetes cluster's control plane:
49
49
50
50
### What is the API server?
51
51
52
-
You can think of the API server as the front end to your Kubernetes cluster's control plane. All the communication between the components in Kubernetes is done through this API.
52
+
You can think of the API server as the front end to your Kubernetes cluster's control plane. All of the communication between the components in Kubernetes is done through this API.
53
53
54
54
For example, as a user, you use a command-line app called `kubectl` that allows you to run commands against your Kubernetes cluster's API server. The component that provides this API is called `kube-apiserver`, and you can deploy several instances of this component to support scaling in your cluster.
55
55
@@ -68,7 +68,7 @@ In a production Kubernetes cluster, the official Kubernetes guidance is to have
68
68
69
69
### What is the scheduler?
70
70
71
-
The scheduler is the component that's responsible for the assignment of workloads across all nodes. The scheduler monitors the cluster for newly created containers and assigns them to nodes.
71
+
The scheduler is the component that's responsible for the workload assignment across all nodes. The scheduler monitors the cluster for newly created containers and assigns them to nodes.
72
72
73
73
### What is the controller manager?
74
74
@@ -98,21 +98,21 @@ The following services run on the Kubernetes node:
98
98
99
99
### What is the kubelet?
100
100
101
-
The kubelet is the agent that runs on each node in the cluster and monitors work requests from the API server. It makes sure that the requested unit of work is running and healthy.
101
+
The `kubelet` is the agent that runs on each node in the cluster and monitors work requests from the API server. It makes sure that the requested unit of work is running and healthy.
102
102
103
-
The kubelet monitors the nodes and makes sure that the containers scheduled on each node run as expected. The kubelet manages only containers that Kubernetes creates. It isn't responsible for rescheduling work to run on other nodes if the current node can't run the work.
103
+
The `kubelet` monitors the nodes and makes sure that the containers scheduled on each node run as expected. The kubelet manages only containers that Kubernetes creates. It isn't responsible for rescheduling work to run on other nodes if the current node can't run the work.
104
104
105
105
### What is kube-proxy?
106
106
107
-
The kube-proxy component is responsible for local cluster networking and runs on each node. It ensures that each node has a unique IP address. It also implements rules to handle routing and load balancing of traffic by using iptables and IPVS.
107
+
The `kube-proxy` component is responsible for local cluster networking and runs on each node. It ensures that each node has a unique IP address. It also implements rules to handle routing and load balancing of traffic by using `iptables` and IP Virtual Server (IPVS).
108
108
109
-
This proxy doesn't provide DNS services by itself. A DNS cluster add-on based on CoreDNS is recommended and installed by default.
109
+
This proxy doesn't provide DNS services by itself. A DNS cluster add-on based on `CoreDNS` is recommended and installed by default.
110
110
111
111
### What is the container runtime?
112
112
113
-
The container runtime is the underlying software that runs containers on a Kubernetes cluster. The runtime is responsible for fetching, starting, and stopping container images. Kubernetes supports several container runtimes, including but not limited to Docker, containerd, rkt, CRI-O, and frakti. The support for many container runtime types is based on the Container Runtime Interface (CRI). The CRI is a plug-in design that enables the kubelet to communicate with the available container runtime.
113
+
The container runtime is the underlying software that runs containers on a Kubernetes cluster. The runtime is responsible for fetching, starting, and stopping container images. Kubernetes supports several container runtimes, including but not limited to Docker, `containerd`, `rkt`, CRI-O, and `frakti`. The support for many container runtime types is based on the Container Runtime Interface (CRI). The CRI is a plug-in design that enables the `kubelet` to communicate with the available container runtime.
114
114
115
-
The default container runtime in AKS is containerd, an industry-standard container runtime.
115
+
The default container runtime in AKS is `containerd`, an industry-standard container runtime.
116
116
117
117
## Interact with a Kubernetes cluster
118
118
@@ -122,7 +122,7 @@ Kubernetes provides a command-line tool called `kubectl` to manage your cluster.
122
122
123
123
-**Cluster** configuration specifies a cluster name, certificate information, and the service API endpoint associated with the cluster. This definition allows you to connect from a single workstation to multiple clusters.
124
124
-**User** configuration specifies the users and their permission levels when they're accessing the configured clusters.
125
-
-**Context** configuration groups clusters and users by using a friendly name. For example, you might have a "dev-cluster" and a "prod-cluster" to identify your development and production clusters.
125
+
-**Context** configuration groups clusters and users by using a friendly name. For example, you might have a _dev-cluster_ and a _prod-cluster_ to identify your development and production clusters.
126
126
127
127
You can configure `kubectl` to connect to multiple clusters by providing the correct context as part of the command-line syntax.
0 commit comments