Kubernetes (K8s) 是一种用于管理容器化应用程序的开源平台,能够实现自动化部署、扩展和操作应用程序容器。在本文中,我们将介绍如何使用最新的 2021 版本 Kubernetes 来部署和管理容器化应用程序。如果你是一位刚入行的小白,接下来我将一步一步教你如何实现。

### 步骤概述
下面是部署 K8s 的基本步骤概述:

| 步骤 | 描述 |
|------|------------------------|
| 1 | 安装 Docker |
| 2 | 安装 Kubernetes |
| 3 | 创建一个 Pod |
| 4 | 暴露服务 |
| 5 | 扩展应用程序 |

### 具体步骤及代码示例

#### 步骤 1: 安装 Docker
首先,我们需要安装 Docker,因为 Kubernetes 使用 Docker 容器来运行应用程序。你可以按照 Docker 官方文档的指导安装 Docker。

#### 步骤 2: 安装 Kubernetes
一旦 Docker 安装完成,接着需要安装 Kubernetes。可以使用 kubeadm 工具来快速安装 Kubernetes。

```bash
# 安装 kubeadm 工具
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
```

#### 步骤 3: 创建一个 Pod
Pod 是 Kubernetes 中最小的计算单元,它可以包含一个或多个容器。我们可以通过编写一个 Pod 的 YAML 文件来创建一个 Pod。

```yaml
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: nginx:latest
```

使用以下命令创建 Pod:

```bash
kubectl apply -f pod.yaml
```

#### 步骤 4: 暴露服务
为了让外部访问 Pod 提供的服务,我们需要创建一个 Service。

```yaml
apiVersion: v1
kind: Service
metadata:
name: myservice
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
```

使用以下命令创建 Service:

```bash
kubectl apply -f service.yaml
```

#### 步骤 5: 扩展应用程序
如果需要扩展应用程序,可以通过 Deployment 控制器来实现。Deployment 负责维护应用程序的实时状态。

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: mydeployment
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: mycontainer
image: nginx:latest
```

使用以下命令创建 Deployment:

```bash
kubectl apply -f deployment.yaml
```

通过上述步骤,你已经成功部署和管理了一个基本的 Kubernetes 应用程序。继续深入学习和实践,你将逐渐掌握 Kubernetes 的各种高级功能和用法。祝你在 Kubernetes 的学习之路上一帆风顺!