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

重庆网站备案查询系统windows优化大师是什么软件

重庆网站备案查询系统,windows优化大师是什么软件,哪个网站专业做安防,2018WordPress市场占有率文章目录 前言构建一个 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 应用到 Kubernetes(K8s)已经成为现代开发中常见的实践。本教程将从零开始,引导您构建并部署一个简单的 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.name=spring-web-with-k8s
server.port=8080

启动项目 检查项目是否构建成功

  • 启动项目,使用 curl 命令访问 http://localhost:8080,检查是否正常输出 “Hello world!”

  • 正常输出 “Hello world!” ,项目构建成功。

容器化我们的应用

  • 容器化是将应用打包为一个可以在任何地方运行的轻量级环境。下面我们将我们构建的 hello world 应用打包成 Docker 镜像。

编写 Dockerfile

# 使用的基础镜像
FROM openjdk:17-jdk-alpine# 定义环境变量 注意地址是否和本地 jar 包地址是否一致
ARG JAR_FILE=target/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编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

http://www.zhongyajixie.com/news/7402.html

相关文章:

  • 网站宣传单页模板市场调研流程
  • 有域名怎么做网站怎么在百度发布信息
  • 做网站主色调选择seo文章是什么意思
  • 做网站私活多少钱网络视频营销策略有哪些
  • 丽江网站建设交换友情链接的注意事项
  • 微信网站搭建百度爱采购推广效果怎么样?
  • 淄博建设网站新闻稿
  • 西安有什么网站品牌维护
  • 制作网站首先做的是seo网页优化工具
  • 做网站的代码难吗seo谷歌外贸推广
  • 北京家装公司排名前十强网站关键词优化工具
  • 上海网站设计 企业短视频seo关键词
  • 重庆建设车业官方网站网络广告宣传平台
  • 建站系统网站建设线上商城的推广方案
  • 网站图标生成可以看封禁网站的浏览器
  • 杭州高端网站建设人民日报评网络暴力
  • 企业外包网站推广优化方法
  • 旅游网站建设的目的上海百度搜索优化
  • 做3d模型网站赚钱么引流推广广告怎么写
  • 国家房产信息网官网优化设计官方电子版
  • 电子商务网站建设教学实施建设html制作网页代码
  • 门户网站的建设安徽seo网络推广
  • 网站发展的方向长沙关键词快速排名
  • 手机网站开发需要哪些人2022近期时事热点素材摘抄
  • 官方网站侵权免费网站服务器
  • 网站关键词优化快速排名长沙百度搜索网站排名
  • 一般通过爷seo网站排名优化公司哪家好
  • 网站背景磨砂灰背景怎么做市场营销方案范文
  • 网站登录界面用什么软件做百度在线客服人工服务
  • wordpress 分享 微信整站优化