网站备案 在哪里建e室内设计网案例

当前位置: 首页 > news >正文

网站备案 在哪里,建e室内设计网案例,信管女生做网站开发,前端网站论文文章目录 前言构建一个 hello world web 应用项目结构项目核心文件启动项目 检查项目是否构建成功 容器化我们的应用编写 Dockerfile构建 docker 镜像推送 docker 镜像仓库 使用 labs.play-with-k8s.com 构建 Kubernetes 集群并部署应用构建 Kubernetes 集群环境编写部署文件 总… 文章目录 前言构建一个 hello world web 应用项目结构项目核心文件启动项目 检查项目是否构建成功 容器化我们的应用编写 Dockerfile构建 docker 镜像推送 docker 镜像仓库 使用 labs.play-with-k8s.com 构建 Kubernetes 集群并部署应用构建 Kubernetes 集群环境编写部署文件 总结个人简介 前言 随着容器化技术的普及部署 Web 应用到 KubernetesK8s已经成为现代开发中常见的实践。本教程将从零开始引导您构建并部署一个简单的 Java Spring Boot Web 应用到 Kubernetes 集群覆盖从代码开发到容器化再到集群部署的完整流程。本文一共包含三个部分使用 Java Spring Boot 构建一个简单的 Hello World Web 应用、编写 Dockerfile 构建镜像将应用容器化、使用 labs.play-with-k8s.com 快速体验 Kubernetes 的部署与运行。 构建一个 hello world web 应用 我们可以使用 Spring Initializr 快速生成一个 Spring Boot 项目也可以使用 ide 脚手架工具帮助我们快速构建一个简单的 Hello World Web 应用此部分内容比较简单大家可以选择合适的方式构建。 项目结构 项目核心文件 HelloWorldController.java package org.demo.springwebwithk8s.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;RestController public class HelloWorldController {RestControllerpublic class HelloController {GetMapping(/)public String sayHello() {return Hello world!;}} }application.properties spring.application.namespring-web-with-k8s server.port8080启动项目 检查项目是否构建成功 启动项目使用 curl 命令访问 http://localhost:8080检查是否正常输出 “Hello world!” 正常输出 “Hello world!” 项目构建成功。 容器化我们的应用 容器化是将应用打包为一个可以在任何地方运行的轻量级环境。下面我们将我们构建的 hello world 应用打包成 Docker 镜像。 编写 Dockerfile

使用的基础镜像

FROM openjdk:17-jdk-alpine# 定义环境变量 注意地址是否和本地 jar 包地址是否一致 ARG JAR_FILEtarget/spring-web-with-k8s-0.0.1-SNAPSHOT.jar# 将应用的 jar 文件复制到容器中 COPY ${JAR_FILE} app.jar# 暴露端口 EXPOSE 8080# 定义运行命令 ENTRYPOINT [java, -jar, /app.jar]构建 docker 镜像 docker build -t hello-world-app:1.0 .docker build: 命令用于根据 Dockerfile 构建 Docker 镜像。 -t: 表示为构建的镜像指定一个标签tag。hello-world-app:1.0: hello-world-app: 镜像名称用于标识你的应用镜像。 1.0: 镜像的版本号可以帮助区分同一应用的不同版本。.: 指定 Dockerfile 所在的路径。在当前目录.中寻找 Dockerfile。检测镜像是否正常构建 docker run -d -p 8080:8080 –name hello-world-app hello-world-app:1.0docker run: 命令用于运行一个容器。 -d: 后台运行容器Detached 模式。 –name hello-world-app: 为容器指定一个名字 hello-world-app方便后续管理例如查看状态、停止容器等。 -p 8080:8080: 端口映射将宿主机的 8080 端口映射到容器的 8080 端口。 hello-world-app:1.0: 指定运行的镜像名称和版本号表示基于这个镜像创建并运行容器。推送 docker 镜像仓库 本文以 hub.docker.com 为例

Docker Hub 要求推送的镜像以 username/repository:tag 格式命名。为本地镜像打上 Docker Hub 所需的标签

docker tag hello-world-app:1.0 your-dockerhub-username/hello-world-app:1.0docker push your-dockerhub-username/hello-world-app:1.0使用 labs.play-with-k8s.com 构建 Kubernetes 集群并部署应用 最后我们使用 labs.play-with-k8s.com 快速部署我们的应用到 Kubernetes 集群中。 构建 Kubernetes 集群环境 首先创建三台服务器实例构建 Kubernetes 集群初始化 master 节点并初始化网络 kubeadm init –apiserver-advertise-address $(hostname -i) –pod-network-cidr 10.5.0.0/16 kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml将另外两台服务器实例添加入集群 kubeadm join 192.168.0.6:6443 –token y18e92.u3f9xgtio2vifvkb --discovery-token-ca-cert-hash sha256:85d66d0f4ae5122084bf0149029b9a9e374007cf6ae91913cab9cdf6b6f66789集群搭建结果查看 编写部署文件 在 Kubernetes 中部署文件YAML 文件是 Kubernetes 对象的声明式配置。等价于使用 kubectl 命令行工具逐步手动创建、管理和配置这些对象的命令。通过部署文件你可以用一种声明式的方式告诉 Kubernetes 需要什么样的资源而 Kubernetes 会自动实现和维持这些需求。 hello-world-service.yaml
apiVersion: v1 kind: Service metadata:name: hello-world-service

spec:selector:app: hello-worldports:- protocol: TCPport: 80targetPort: 8080type: LoadBalancer

apiVersion: apps/v1 kind: Deployment metadata:name: hello-world spec:replicas: 2selector:matchLabels:app: hello-worldtemplate:metadata:labels:app: hello-worldspec:containers:- name: hello-worldimage: your-dockerhub-username/hello-world-app:1.0ports:- containerPort: 8080部署 kubectl apply -f hello-world-deployment.yaml 访问是否部署成功 总结 本文我们从零开始构建并部署了一个 Java Spring Boot Web 应用到 Kubernetes 集群完整经历了以下步骤 应用开发我们使用 Spring Boot 构建了一个简单的 Hello World 应用奠定了部署的基础。 应用容器化通过编写 Dockerfile将 Spring Boot 应用打包成 Docker 镜像为跨平台部署和环境一致性提供支持。 Kubernetes 部署利用 labs.play-with-k8s.com快速构建 Kubernetes 集群成功部署和运行了容器化的 Web 应用。本文只是一篇 Kubernetes 最基础的入门介绍教程随着实际项目需求的扩展我们可以进一步学习 Kubernetes 的更多功能例如 水平扩展Scaling、配置管理ConfigMaps 和 Secrets、日志与监控 等构建更加复杂和健壮的分布式应用系统。 个人简介 你好我是 Lorin 洛林一位 Java 后端技术开发者座右铭Technology has the power to make the world a better place. 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。 作为一个 Java 后端技术爱好者我不仅热衷于探索语言的新特性和技术的深度还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。 在我的博客上你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法以帮助你更好地掌握Java编程。 我鼓励互动和建立社区因此请留下你的问题、建议或主题请求让我知道你感兴趣的内容。此外我将分享最新的互联网和技术资讯以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进一起探讨技术世界的无限可能性。 保持关注我的博客让我们共同追求技术卓越。