This commit is contained in:
Baohua Yang
2026-02-09 12:56:12 -08:00
parent 63377d0431
commit b44c9acd6c
228 changed files with 326 additions and 271 deletions

View File

@@ -0,0 +1,99 @@
## Kubernetes 实战练习
本章将通过一个具体的案例部署一个 Nginx 网站并为其配置 Service Ingress来串联前面学到的知识
### 目标
1. 部署一个 Nginx Deployment
2. 创建一个 Service 暴露 Nginx
3. 可选通过 Ingress 访问服务
### 步骤 1创建 Deployment
创建一个名为 `nginx-deployment.yaml` 的文件
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.24
ports:
- containerPort: 80
```
应用配置
```bash
kubectl apply -f nginx-deployment.yaml
```
### 步骤 2创建 Service
创建一个名为 `nginx-service.yaml` 的文件
```yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort # 使用 NodePort 方便本地测试
```
应用配置
```bash
kubectl apply -f nginx-service.yaml
```
查看分配的端口
```bash
kubectl get svc nginx-service
```
如果输出端口是 `80:30080/TCP`你可以通过 `http://<NodeIP>:30080` 访问 Nginx
### 步骤 3模拟滚动更新Rolling Update
修改 `nginx-deployment.yaml`将镜像版本改为 `nginx:latest`
```bash
kubectl apply -f nginx-deployment.yaml
```
观察更新过程
```bash
kubectl rollout status deployment/nginx-deployment
```
### 步骤 4清理资源
练习结束后记得清理资源
```bash
kubectl delete -f nginx-service.yaml
kubectl delete -f nginx-deployment.yaml
```