k8s创建一个Nginx示例

在 Kubernetes 上部署一个最简单的 Nginx 只需要创建一个 Deployment 和一个 Service。以下是具体步骤和相应的 YAML 文件示例。

步骤

  1. 创建 Nginx Deployment
  2. 创建 Service 资源

1. 创建 Nginx Deployment

首先,创建一个 nginx-deployment.yaml 文件:

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

这个文件定义了一个名为 nginx-deployment 的 Deployment,它包含一个 Nginx 容器,并暴露端口 80。

2. 创建 Service 资源

接下来,创建一个 nginx-service.yaml 文件:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: LoadBalancer

这个文件定义了一个名为 nginx-service 的 Service,它将暴露 Deployment 中的 Nginx 应用程序,并将其公开在集群外部。type: LoadBalancer 意味着 Kubernetes 的服务会自动分配一个外部 IP 地址(在支持的云环境中,如 Google Cloud、AWS 等)。

部署这些资源

使用 kubectl apply 命令来创建这些资源:

kubectl apply -f nginx-deployment.yaml
kubectl apply -f nginx-service.yaml

验证部署

你可以使用以下命令来验证部署状态:

kubectl get deployments
kubectl get pods
kubectl get services

找到 nginx-service 的外部IP地址(如果类型为 LoadBalancer),然后在浏览器中访问这个IP地址以查看 Nginx 欢迎页面。

示例输出

运行 kubectl get services 可能会得到类似以下的输出:

NAME            TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
nginx-service   LoadBalancer   10.96.0.1       192.168.1.100   80:31234/TCP   5m

在浏览器中访问 http://192.168.1.100 会显示 Nginx 的默认欢迎页面,这意味着你的 Nginx 服务已经成功部署。

总结

通过创建一个 Deployment 和一个 Service,你可以在 Kubernetes 上快速部署并公开一个简单的 Nginx 应用程序。这种方式非常适合用于测试和开发环境,以及对 Kubernetes 部署过程的基本理解。

k8s创建一个Nginx示例

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top
桂ICP备2023008908号-1