k8s集群部署springcloud 单应用

K8S 部署电商项目 阅读详情

k8s集群部署springcloud 单应用

  • docker配置docker私库
  • docker build 镜像
  • k8s集群部署 镜像
  • 验证部署结果

1. docker配置docker私库

1.1 编辑/etc/sysconfig/docker

cat /etc/sysconfig/docker
# /etc/sysconfig/docker

# Modify these options if you want to change the way the docker daemon runs
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry docker.hbg.io '
if [ -z "${DOCKER_CERT_PATH}" ]; then
    DOCKER_CERT_PATH=/etc/docker
fi

ADD_REGISTRY='--insecure-registry docker.hbg.io'
# Do not add registries in this file anymore. Use /etc/containers/registries.conf
# from the atomic-registries package.
#

# docker-latest daemon can be used by starting the docker-latest unitfile.
# To use docker-latest client, uncomment below lines
#DOCKERBINARY=/usr/bin/docker-latest
#DOCKERDBINARY=/usr/bin/dockerd-latest
#DOCKER_CONTAINERD_BINARY=/usr/bin/docker-containerd-latest
#DOCKER_CONTAINERD_SHIM_BINARY=/usr/bin/docker-containerd-shim-latest
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

OPTIONS中添加 –insecure-registry docker.hbg.io 
添加一行 ADD_REGISTRY=’–insecure-registry docker.hbg.io’ 
重启docker 
docker.hbg.io 为私库地址

登录私库

# docker login docker.hbg.io
Username: ****
Password: 
Login Succeeded
 
  • 1
  • 2
  • 3
  • 4

部署时 如果私库需要登录则要创建一个secret ,如下:

kubectl create secret docker-registry docker.hbg.io --docker-server=docker.hbg.io --docker-username=【你的用户名】 --docker-password=【用户名密码】 --docker-email=【邮箱】
 
  • 1

2. docker build 镜像

2.1 maven 打jar包

mvn install

2.2 编写Dockerfile

[root@master eureka]# pwd
/root/apps/eureka
[root@master eureka]# ll
总用量 39112
-rwxrwxrwx 1 root root      118 10月 12 11:26 build.sh
-rwxrwxrwx 1 root root 40039685 10月 12 13:00 cloud-eureka-server-1.0.0.jar
-rwxrwxrwx 1 root root      182 10月 12 11:22 Dockerfile
[root@master eureka]# cat  Dockerfile 
FROM java:8

VOLUME /tmp

ADD *.jar app.jar

RUN sh -c 'touch /app.jar'

ENV JAVA_OPTS=""

CMD exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom  -jar /app.jar
[root@master eureka]# cat build.sh 
docker build -t docker.hbg.io/cdchen/eureka:1.0.0 /root/apps/eureka && docker push docker.hbg.io/cdchen/eureka:1.0.0 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

开始build

[root@master eureka]# ./build.sh 
Sending build context to Docker daemon 40.04 MB
Step 1 : FROM java:8
Trying to pull repository docker.io/library/java ... 
8: Pulling from docker.io/library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
76610ec20bf5: Pull complete 
60170fec2151: Pull complete 
e98f73de8f0d: Pull complete 
11f7af24ed9c: Pull complete 
49e2d6393f32: Pull complete 
bb9cdec9c7f3: Pull complete 
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
 ---> d23bdf5b1b1b
Step 2 : VOLUME /tmp
 ---> Running in c922ea759ecd
 ---> 90e6bfb979be
Removing intermediate container c922ea759ecd
Step 3 : ADD *.jar app.jar
 ---> 22693545d892
Removing intermediate container 1eae1ee6e02e
Step 4 : RUN sh -c 'touch /app.jar'
 ---> Running in 4a3f242329a7
 ---> 7655007ab702
Removing intermediate container 4a3f242329a7
Step 5 : ENV JAVA_OPTS ""
 ---> Running in f2e6a37c62e9
 ---> 463cb7c6074d
Removing intermediate container f2e6a37c62e9
Step 6 : CMD exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom  -jar /app.jar
 ---> Running in 299051efb456
 ---> 54c5b40ddedf
Removing intermediate container 299051efb456
Successfully built 54c5b40ddedf
The push refers to a repository [docker.hbg.io/cdchen/eureka]
de6598ca7626: Pushed 
818fc746fd69: Pushed 
35c20f26d188: Pushed 
c3fe59dd9556: Pushed 
6ed1a81ba5b6: Pushed 
a3483ce177ce: Pushed 
ce6c8756685b: Pushed 
30339f20ced0: Pushed 
0eb22bfb707d: Pushed 
a2ae92ffcd29: Pushed 
1.0.0: digest: sha256:430e3db388ecc253acd64c97eae3b169732dc1c98e79e2c2f29c1aba679bbaec size: 2424
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

3. k8s部署镜像

3.1 部署

使用 k8s webUI部署 如下图 
k8s webUI部署
点击 SHOW ADVANCED OPTIONS选择拉取镜像的秘钥 
找到image pull secret 
image pull secret

点击DEPLOY

4. 验证部署结果

查看nodePort

# kubectl describe service/cloud-eureka-server
Name:                   cloud-eureka-server
Namespace:              default
Labels:                 app=cloud-eureka-server
                        version=1.0.0
Selector:               app=cloud-eureka-server,version=1.0.0
Type:                   LoadBalancer
IP:                     10.254.247.31
Port:                   tcp-8888-8888-c73x7     8888/TCP
NodePort:               tcp-8888-8888-c73x7     31427/TCP
Endpoints:              172.17.26.2:8888
Session Affinity:       None
No events.
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在 node1 和 node2 中执行docker ps 看pod运行在哪一台上。

浏览器访问: 
http://node2:31427/ 
如下图,证明启动成功 
suc

K8s部署eureka注册中心集群 K8s部署SpringCloud eureka集群 一.概述 对于一般的后端微服务来说,在k8s中同时起多个相同的服务来做负载均衡,只需要简单的修改deployment的replicas,增加pod数量,然后通过对外暴露一个service来代理这些pod。 而对于eureka来说,要实现eureka的高可用,那就不是修改replicas这么方便了。由于部署的多个eureka之间需要将自己注册到彼此... 阅读详情

相关推荐

Kubernetes部署SpringCloud微服务

Kubernetes部署SpringCloud项目 一.Kubernetes集群版本 版本情况 NAME STATUS ROLES AGE VERSION server101 Ready <none> 6d18h v1.15.1 server88 Ready master 6d19h v1.15.1 二.K8S 部...

weixin_43876317的博客 2825

容器内安装CDH 6.3.2

参考CDSN资源 https://www.cnblogs.com/runnerjack/p/12693597.html 1.环境准备 1.1 安装vagrant虚拟机 node01 Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.hostname = "node01" config.vm.network "private_network", ip: "10.1.100.11" # 虚拟机配置

weixin_39561762的博客 1289

SpringCloud微服务电商系统在Kubernetes集群中上线详细教程

​ 程序架构一共经历了3个阶段:单体架构、SOA架构、微服务架构。​ 微服务系统应用由原来的单体变成几十到几百个不同的工程,会产生例如包括服务间的依赖,服务如何拆封,内部接口规范,数据传递等等问题,尤其是服务拆分,需要团队熟悉业务流程,懂得取舍,要保证拆分的粒度服务既符合“高内聚,低耦合”的基本原则,还要兼顾业务的发展以及公司的愿景,要还要说服团队成员为之努力,并且积极投入,在多方中间取得平衡。​ 微服务从概念上讲就是将一个大的平台拆分成几个独立的小模块,这些模块有自己专门的数据库服

江晓龙的博客 1万+

搭建及使用K8s集群 <k8s集群部署springcloud 单应用>

k8s集群部署springcloud 单应用 docker配置docker私库 docker build 镜像 k8s集群部署 镜像 验证部署结果 1. docker配置docker私库1.1 编辑/etc/sysconfig/dockercat /etc/sysconfig/docker # /etc/sysconfig/docker# Modify these options if you wa

JustHaveTry的专栏 3543

在k8s中集成大数据服务

在k8s中集成大数据服务!!!!!!!!!!!!!!!!!!

Time-Interleaved Analog-to-Digital Converters

  这篇论文提供了时间交错模数转换器的教程回顾。在解释了偏置、增益、定时和其他不匹配对变换器性能的影响后,给出了目前解决不匹配问题的方法。论文最后总结了时间交错模数转换器的现状。 1.简介   时间交错模数转换器(ADC)将多个子ADC组合成一个ADC系统,可以实现比单独的子ADC[1]更快的采样速率。历史上,时间交错adc的主要缺点是需要紧密匹配子adc[2]的特性。近年来,由于应用需要非常宽带信号的数字化、功率高效子adc的可用性以及由深亚微米互补金属氧化物硅(CMOS)技术实现的微调技术,使得时间交错

weixin_44537056的博客 6732

SpringCloud微服务实战——搭建企业级开发框架(三十五):SpringCloud + Docker + k8s实现微服务集群打包部署-集群环境部署

一、集群环境规划配置 生产环境不要使用一主多从,要使用多主多从。这里使用三台主机进行测试一台Master(172.16.20.111),两台Node(172.16.20.112和172.16.20.113) 1、设置主机名 CentOS7安装完成之后,设置固定ip,三台主机做相同设置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #在最下面ONBOOT改为yes,新增固定地址IPADDR,172.16.20.111,172.16.20.112,172.16.2

全栈程序猿的专栏 8264

半导体设备隔振必看:如何用天棚阻尼PID控制实现VC-C级振动抑制(含SIMULINK模型)

本文深入探讨了在半导体精密制造中,如何运用天棚阻尼PID控制算法实现VC-C级振动抑制。通过构建高保真单自由度仿真模型,详细解析了从算法原理、SIMULINK实现到参数整定的全链路方案,并针对谐波扰动提供了陷波滤波器设计方法,为工程师提供了从仿真到实践的完整主动隔振技术指南。

pz89012345的博客 538

VMware下centos7安装k8s(Kubernetes)多master集群

k8s 多master 集群 kubernetes集群

week_ed的专栏 1814

形位公差标注的常见误区与优化策略

本文深入解析机械设计中形位公差标注的常见误区与优化策略,特别针对NX2406用户提供实用技巧。从标注冗余、基准选择到公差值设定等五大误区入手,结合工程图实例展示如何提升标注精度与效率,帮助工程师避免常见错误,优化设计流程,确保零件功能实现与制造可行性。

info6的博客 245

开源浏览器插件开发实战:从零搭建多平台内容分发工具

浏览器扩展(Browser Extension)是运行在浏览器上层、通过标准Web技术增强浏览器能力的轻量级程序,其核心价值在于对页面内容的读取、操作与跨应用信息流转。在内容创作与分发场景中,创作者频繁需要在公众号、知乎、优快云、头条等平台间搬运同一篇文章,而传统SaaS分发工具往往受限于免费额度、授权托管和平台适配滞后等问题。基于Manifest V3规范,开发者可以构建一款100%开源、永久免费的浏览器插件,利用content script完成从源文章页提取标题、正文与图片,通过消息通信机制将结构化数

weixin_29882269的博客 295

搭建及使用K8s集群 <目录>

目录 (1) ………………………………………………………………….k8s简介 (2)……………………………………………………………..k8s集群搭建 (3)……………………………………….k8s dashboard pod方式部署 (4)……………………………………k8s集群部署springcloud 单应用 (5)……………………………………………………………k8s Dns 部署 (6)……………

JustHaveTry的专栏 2465

ASPICE学习笔记

ASPICE的全称是Automotive SPICE。

汽车电子软件领域知识分享 1355

k8s部署SpringCloud微服务集群

本文简要介绍 kubernetes(后文简称 k8s )的基本原理,基于 k8s 部署 SpringBoot 微服务应用集群的方法。

weixin_40328383的博客 3646

思维链:让AI更接近人类思维的技术

本文将探讨一种名为“思维链”的技术,它旨在让AI更接近人类思维。文章首先介绍了问题背景与核心概念,接着讲解了算法原理和数学模型,随后阐述了系统分析与架构设计,最后通过项目实战展示了思维链的实际应用,并提供了最佳实践和小结。思维链是一种旨在模拟人类思维过程的技术,它通过构建一系列相互关联的思维方式,实现对复杂问题的分析和解决。思维链算法是一种基于人类思维过程的人工智能算法,它通过构建一系列思维链,实现对问题的分析和解决。智能问答系统是一种常见的人工智能应用,它能够回答用户提出的各种问题。

AI天才研究院 943

RAP Draft Handling 全面拆解:从独占 Draft 到协作 Draft 的架构与落地实践

独占 Draft 的启用点在行为定义头部的with draft。with draft;create;update;delete;with draft;上面这段代码来自一个完整的 Draft 启用示例,包含了 Draft 表声明、锁策略、ETag、Draft 动作等关键要素。:告诉框架草稿存哪。:告诉框架如何做并发控制与一致性保护。:把草稿生命周期动作显式暴露出来,让 UI 与事务引擎能正确驱动流程。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 958

在Kubernetes(k8s)上部署整个SpringCloud微服务应用

Kubernetes上部署整个SpringCloud微服务应用,并使用ingress暴露应用。部署包括nacos、redis、mysql等组件。同时还部署monitor监控模块。

XiaoHH的博客 1万+

python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法

出现该Bug的原因主要是 账号密码无法登录,但原先使用该代码测试qq或者163的时候是可以通过的!问题在于各个公司邮件所处理的代码方式不一样

码农研究僧的博客 3503

【实战】K8S集群部署nacos并接入Springcloud项目容器化运维

在k8s中部署nacos还是使用helm比较简单,直接下载安装包修改配置文件安装即可。我们在Springcloud、Springboot项目中集成nacos需要注意需要使用集群内部地址,当我们将项目部署在k8s集群中可以直接使用nacos配置和查询服务集群。

勤于笔记,成于点滴。 3878

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Kubernetes(k8s)实战:Kubernetes(k8s)部署Springboot项目

在集群中,pod之间可以通过service 的name进行访问,不仅仅是ip,这就意味着,service中不仅帮我们做了负载均衡,而且做了dns处理。如上,加上hostNetwork: true,就会在nacos上注册的ip端口,会映射成宿主机的ip和端口。如果在同一个k8s集群下,这样部署是没问题的,但是不同k8s集群下,微服务之间就互相不可访问了。我们发现,搭建成功了,用浏览器访问192.168.56.101:30493,发现访问成功了!访问:http://localhost:8080/k8s。

秃了也弱了 5751

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Kubernetes实践:使用k8s部署微服务应用

Kubernetes实践:使用k8s部署微服务应用1 准备工作1.1 集群环境说明1.2 部署方案2 配置文件2.1 命名空间2.1 Mysql2.1.1 deployment2.1.2 ConfigMap2.1.3 Secret2.1.4 Service2.2 Redis2.2.1 deployment2.2.2 Service2.3 SpringCloud2.3.1 image2.3.2 de...

遇事不决 可问春风 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Kubernetes -K8S安装部署及SpringCloud应用

k set image deploy kubia nodejs=luksa/kubia:v2 一.Kubernetes - 一键安装Kubernetes集群 集群方案 使用三台物理机或VMware虚拟机来搭建集群环境,一台主控服务器,两台工作节点服务器。 如果资源有限也可以去掉一个工作节点,使用两台服务器。 一,集群安装准备 kubeasz项目(https://github.com/easzlab/kubeasz)极大的简化了k8s集群的安装过程,他提供的工具可以轻松安装和管理k8s集..

weixin_55026035的博客 2052

单机版的k8s+docker+部署springCloud系列服务

本文转载自:https://blog.youkuaiyun.com/ysk_xh_521/article/details/81668631 本文容器部分部署是参考上面的博主的部署,一些具体的demo是从下面的连接地址的博主里的源码里摘取了部分 本文转载自:https://blog.youkuaiyun.com/hemin1003/article/details/82043611 本文中的演示demo代码来源于,这一篇...

渔人 4728

k8s部署springcloud_k8s部署springcloud实际落地操作

背景我们项目开始使用了微服务springcloud alibaba,每个服务都有多个实例,刚开始用脚本手动部署,实在是麻烦。后来决定上k8s来解决此问题,k8s是什么我这里就不展开说了。我这里主要说怎么用k8s来解决部署的问题的。springcloud里面的概念k8s里大部分都有可以替换的方案了,比如配置中心,注册中心,客户端调用服务的时候负载均衡等。痛点:如果在springcloud的项目中,配...

weixin_39707851的博客 4050

kubernetes集群部署springcloud项目【AL】

kubernetes集群部署springcloud项目【AL】 (先手工做,非自动化) 整体逻辑架构图 2、代码编译构建,打包镜像 2.1 dev1分支的文件 (交付代码): tips: 2.3 product-service 商品服务 其他的文件夹要看的关键文件,以此类推。 target下的jar包 dev3 批量打包docker镜像脚本 docker_build.sh tips:执行前需docker login 192.168.31.70 脚本执行完后,仓库结果,6个镜像:

Nightwish5的博客 2569

Kubernetes(K8s)部署 SpringCloud 服务实战

目录 1. 概述 2. 有状态应用和无状态应用 3. 场景说明 4. 部署 SpringCloud 服务 5. 综述 6. 个人公众号 1. 概述 老话说的好:有可能性就不要放弃,要敢于尝试。 言归正传,之前我们聊了一下如何在 Kubernetes(K8s)中部署容器,今天我们来聊一下如何将 SpringCloud 的服务部署到 Kubernetes(K8s)中。 2. 有状态应用和无状态应用 我们先来了解两个概念,有状态应用 和 无状态应用。 有状态应用:简单说就是..

追风人的博客 2662
上一篇: k8s 集群部署springcloud 多应用
下一篇: 使用ingress 暴露springcloud服务
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值