K8s 如何部署前端网站项目?

准备工作

** **

在开始之前,确保你已经具备以下条件:

  1. 一个 Kubernetes 集群(可以是本地的 Minikube 或者云服务商提供的集群)。
  2. kubectl 命令行工具已安装并配置好。
  3. Docker 已安装,并且能够构建和推送镜像。
    在这里插入图片描述

步骤一:构建 Nginx 镜像

首先,我们需要构建一个简单的 Nginx 镜像。创建一个名为 Dockerfile 的文件,内容如下:

FROM nginx:alpineCOPY . /usr/share/nginx/html

这个 Dockerfile 使用 nginx:alpine 作为基础镜像,并将当前目录下的所有文件复制到 Nginx 的默认静态文件目录中。

接下来,构建并推送镜像到 Docker Hub 或者私有镜像仓库:

docker build -t your-dockerhub-username/nginx-frontend:latest .docker push your-dockerhub-username/nginx-frontend:latest

步骤二:创建 Kubernetes 部署

创建一个名为 nginx-deployment.yaml 的文件,内容如下:

apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-frontendspec:  replicas: 3  selector:    matchLabels:      app: nginx-frontend  template:    metadata:      labels:        app: nginx-frontend    spec:      containers:      - name: nginx        image: your-dockerhub-username/nginx-frontend:latest        ports:        - containerPort: 80

这个配置文件定义了一个名为 nginx-frontend 的 Deployment,它会创建 3 个 Pod,每个 Pod 运行我们刚刚构建的 Nginx 镜像。

使用 kubectl 创建 Deployment:

kubectl apply -f nginx-deployment.yaml

步骤三:创建 Service

为了让外部能够访问到 Nginx,我们需要创建一个 Service。创建一个名为 nginx-service.yaml 的文件,内容如下:

apiVersion: v1kind: Servicemetadata:  name: nginx-servicespec:  selector:    app: nginx-frontend  ports:    - protocol: TCP      port: 80      targetPort: 80  type: ClusterIP

这个配置文件定义了一个名为 nginx-service 的 Service,它会将流量转发到带有 app: nginx-frontend 标签的 Pod。

使用 kubectl 创建 Service:

kubectl apply -f nginx-service.yaml

步骤四:配置 Ingress

Ingress 是 Kubernetes 中用于管理外部访问的 API 对象。我们需要创建一个 Ingress 资源来将外部流量路由到我们的 Nginx Service。

创建一个名为 nginx-ingress.yaml 的文件,内容如下:

apiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: nginx-ingress  annotations:    nginx.ingress.kubernetes.io/rewrite-target: /spec:  rules:  - host: your-domain.com    http:      paths:      - path: /        pathType: Prefix        backend:          service:            name: nginx-service            port:              number: 80


这个配置文件定义了一个名为 nginx-ingress 的 Ingress 资源,它会将 your-domain.com 的流量路由到 nginx-service

使用 kubectl 创建 Ingress:

kubectl apply -f nginx-ingress.yaml

步骤五:验证部署

** **

现在,你可以通过访问 http://your-domain.com 来验证部署是否成功。如果一切顺利,你应该能够看到 Nginx 的欢迎页面。

你也可以使用 kubectl 命令来查看资源的状态:

kubectl get deploymentskubectl get serviceskubectl get ingress

总结

通过本文,你已经学会了如何使用 Kubernetes 部署一个前端 Nginx 镜像,并配置 Ingress 来实现外部访问。

Kubernetes 提供了强大的功能来管理容器化应用,希望这篇文章能帮助你更好地理解和使用 K8s。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包,需要点击下方链接即可前往获取

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐