Kubernetes (K8S) 是一个开源的容器编排引擎,可以实现容器集群的自动化部署、扩展和管理。在这篇文章中,我将教你如何搭建一个基本的 K8S 环境并部署一个简单的 web 应用程序。

首先,我们需要明确整个搭建过程的步骤,可以使用以下表格展示:

| 步骤 | 描述 |
|------|------------------------------------|
| 1 | 安装 Docker |
| 2 | 安装 kubectl |
| 3 | 安装 Minikube |
| 4 | 创建并启动一个 Minikube 集群 |
| 5 | 部署一个简单的 web 应用程序 |

接下来,我们将一步一步地执行以上的每个步骤并提供相应的代码示例。

### 步骤 1: 安装 Docker
```
# 安装 Docker
sudo apt-get update
sudo apt-get install docker.io
```

### 步骤 2: 安装 kubectl
```
# 安装 kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
```

### 步骤 3: 安装 Minikube
```
# 安装 Minikube
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube
sudo install minikube /usr/local/bin
```

### 步骤 4: 创建并启动一个 Minikube 集群
```
# 创建并启动 Minikube 集群
minikube start
```

### 步骤 5: 部署一个简单的 web 应用程序
创建一个名为 `web-deployment.yaml` 的 YAML 文件,并在其中定义一个简单的 Deployment:

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-deployment
spec:
selector:
matchLabels:
app: web
replicas: 3
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: nginx:latest
ports:
- containerPort: 80
```

然后使用 kubectl 命令创建 Deployment:

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

接着创建一个名为 `web-service.yaml` 的 YAML 文件,并在其中定义一个 Service:

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

使用 kubectl 命令创建 Service:

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

现在,你已经成功部署了一个简单的 web 应用程序在你的 Minikube 集群上。你可以通过 `minikube service web-service` 命令查看该应用程序在浏览器中的访问地址。

通过以上代码示例和步骤,你应该已经学会了如何搭建一个 K8S 环境并部署一个简单的 web 应用程序了。希望这篇文章能帮助你更好地理解和应用 K8S 技术。如果有任何问题,请随时向我提问!