在Kubernetes上部署你的第一个应用:Nginx服务器
2024/11/5 21:03:27
本文主要是介绍在Kubernetes上部署你的第一个应用:Nginx服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
作为第一个应用,我们将在一个EKS(Amazon Elastic Kubernetes Service)集群上启动一个基本的nginx。
所需条件:- 一个 Kubernetes 集群(你可以参考一下这个链接来创建一个 AWS EKS 集群:这个)
- 能够通过 CLI 访问集群。
我们要在这个新的命名空间里部署这个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-service
的 80
端口设置端口映射。
在浏览器中可以通过这个地址访问该服务:<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服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-05基于Kubernetes的自定义AWS云平台搭建指南
- 2024-11-05基于Kubernetes Gateway API的现代流量管理方案
- 2024-11-05利用拓扑感知路由控制Kubernetes中的流量
- 2024-11-05Kubernetes中的层次命名空间:更灵活的资源管理方案
- 2024-11-055分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!
- 2024-10-30K8s 容器的定向调度与亲和性
- 2024-10-28云原生周刊:K8s未来三大发展方向 丨2024.10.28
- 2024-10-25亚马逊弹性Kubernetes服务(EKS)实战:轻松搭建Kubernetes平台
- 2024-10-22KubeSphere 最佳实战:Kubernetes 部署集群模式 Nacos 实战指南
- 2024-10-10K8sGPT+Ollama:一个免费的Kubernetes自动诊断工具