在Kubernetes上部署你的第一个应用:Nginx服务器

2024/11/5 21:03:27

本文主要是介绍在Kubernetes上部署你的第一个应用:Nginx服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

作为第一个应用,我们将在一个EKS(Amazon Elastic Kubernetes Service)集群上启动一个基本的nginx。

所需条件:
  • 一个 Kubernetes 集群(你可以参考一下这个链接来创建一个 AWS EKS 集群:这个
  • 能够通过 CLI 访问集群。
部署一个Nginx服务器

我们要在这个新的命名空间里部署这个web服务器。

kubectl 创建一个命名空间 my-nginx-namespace

您可以使用以下命令更新默认命名空间为,避免在每个命令中都指定命名空间,以防止重复指定。

_kubectl config set-context --current --namespace=my-nginx-namespace # 设置当前上下文的命名空间为my-nginx-namespace_

启动图像:

制作部署文件,并应用,

    # nginx-deployment.yaml  
    apiVersion: apps/v1  
    kind: Deployment  
    metadata:  
      name: nginx-deployment  
      namespace: my-nginx-namespace  
      labels:  
        app: nginx  
    spec:  
      replicas: 2  # 指定副本数量为2
      selector:  
        matchLabels:  
          app: nginx  # 标签匹配
      template:  
        metadata:  
          labels:  
            app: nginx  
        spec:  
          containers:  
          - name: nginx  
            image: nginx:latest  
            ports:  
            - containerPort: 80  # 容器端口为80

注释:此文件定义了如何部署一个名为nginx-deployment的应用程序,使用的是nginx镜像,并在my-nginx-namespace命名空间中运行。

运行Kubernetes命令来应用Nginx部署配置文件:

kubectl apply -f nginx部署.yaml

图片已上传

这个部署使用了 nginx:latest 镜像并运行了 2 个容器(副本数为 2)。

查看Pod是否已创建 kubectl get pods

创建的Pod

曝光这个应用:

接下来,我们需要一种方式让这些Pod可见。在Kubernetes里,Service是用来暴露在一个或多个Pod中运行的网络服务的方法。

# nginx-service.yaml 文件
apiVersion: v1
kind: Service
metadata:  
  name: nginx-service  
spec:  
  选择器:  
    app: nginx  
  端口:  
    - protocol: TCP  
      port: 80  
      targetPort: 80  
  type: ClusterIP
# 类型: ClusterIP (集群IP)

集群IP服务创建

进入服务器:

此服务类型为ClusterIP,因此只能在集群内部访问。但是,我们可以通过端口转发从本地主机访问该服务,如下:

kubectl port-forward svc/nginx-service 8080:80 此命令用于将Nginx服务的80端口转发到本地的8080端口。

端口转发已开启

该命令将从你机器的 8080 端口到 Kubernetes 集群内的 nginx-service80 端口设置端口映射。

在浏览器中可以通过这个地址访问该服务:<http://127.0.0.1:8080>

本地主机上的Web服务器可以通过某个端口访问.

你刚刚在 Kubernetes 上成功部署了第一个微服务,干得不错!

参考(如有)

参考链接:

  • https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ Kubernetes 部署概念介绍
  • https://kubernetes.io/docs/concepts/services-networking/service/ Kubernetes 服务与网络概念介绍
  • https://hub.docker.com/_/nginx Nginx 官方 Docker Hub 仓库


这篇关于在Kubernetes上部署你的第一个应用:Nginx服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程