在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-12-20/kubernetes 1.32版本更新解读:新特性和变化一目了然
- 2024-12-19拒绝 Helm? 如何在 K8s 上部署 KRaft 模式 Kafka 集群?
- 2024-12-16云原生周刊:Kubernetes v1.32 正式发布
- 2024-12-13Kubernetes上运行Minecraft:打造开发者平台的例子
- 2024-12-12深入 Kubernetes 的健康奥秘:探针(Probe)究竟有多强?
- 2024-12-10运维实战:K8s 上的 Doris 高可用集群最佳实践
- 2024-12-022024年最好用的十大Kubernetes工具
- 2024-12-02OPA守门人:Kubernetes集群策略编写指南
- 2024-11-26云原生周刊:K8s 严重漏洞
- 2024-11-15在Kubernetes (k8s) 中搭建三台 Nginx 服务器怎么实现?-icode9专业技术文章分享