K8s 核心实战|部署 Nginx 应用

K8s 核心实战|部署 Nginx 应用(CentOS 7 适配 + Pod/Service 全命令)

一、实验目标

基于 CentOS 7 的 Minikube 集群,部署 Nginx 并暴露服务,所有命令适配 CentOS 7。

二、环境准备

  • CentOS 7 已启动 Minikube 集群(参考博客 1)
  • 确保kubectl命令可正常执行

三、实验步骤(CentOS 7 兼容命令)

步骤 1:创建 Deployment(命令与 Ubuntu 一致,CentOS 7 补充文件操作)

bash

运行

# 方式1:命令行快速创建
kubectl create deployment nginx-deploy --image=nginx:1.25 --replicas=2

# 方式2:YAML创建(CentOS 7用vi/echo创建文件,避免cat EOF换行问题)
echo 'apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: "0.5"
            memory: "512Mi"
          requests:
            cpu: "0.2"
            memory: "256Mi"' > nginx-deploy.yaml

# 应用YAML
kubectl apply -f nginx-deploy.yaml
步骤 2:查看部署状态(命令通用)

bash

运行

kubectl get deployments
kubectl get pods -o wide
kubectl describe deployment nginx-deploy
步骤 3:创建 Service(CentOS 7 端口访问优化)

bash

运行

# 创建NodePort Service
kubectl expose deployment nginx-deploy --type=NodePort --port=80 --target-port=80 --name=nginx-service

# 查看Service
kubectl get svc nginx-service

# CentOS 7下访问Service(补充防火墙开放NodePort)
NODE_PORT=$(kubectl get svc nginx-service -o jsonpath='{.spec.ports[0].nodePort}')
firewall-cmd --add-port=${NODE_PORT}/tcp --permanent
firewall-cmd --reload

# 访问测试(CentOS 7用Minikube IP+NodePort)
MINIKUBE_IP=$(minikube ip)
curl http://${MINIKUBE_IP}:${NODE_PORT}

✅ 预期结果:返回 Nginx 默认页面 HTML,CentOS 7 下访问成功。

步骤 4:扩缩容与清理(命令通用)

bash

运行

# 扩缩容
kubectl scale deployment nginx-deploy --replicas=3

# 清理资源
kubectl delete svc nginx-service
kubectl delete deploy nginx-deploy

四、CentOS 7 补充说明

  • CentOS 7 默认开启的 firewalld 会拦截 NodePort 端口,需手动开放;
  • 创建 YAML 文件时,CentOS 7 的cat EOF可能因终端编码问题报错,建议用echovi创建;
  • 所有kubectl核心命令与 Ubuntu 完全一致,无需修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值