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

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。

题外话

黑客&网络安全如何学习*

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,100多本网安电子书,最新学习路线图和工具安装包都有,不用担心学不全。
在这里插入图片描述

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值