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

一份文档教你“玩转”微服务与容器化:Docker+K8S+Spring cloud 微服务是当今互联网公司的主流架构。这种模式由于具备独立开发、独立部署、复用性强等优点,近些年更是大行其道。但随着业务规模的不断扩张,数量众多的服务组件导致企业维护成本陡增。不少人感觉微服务越来越难做。幸运的是, 一方面 Docker 、Kubernetes 等容器技术和自动化运维等相关技术的发展为微服务的管理带来了不少便利;另一方面,愈发成熟的服务治理手段使得不少维护人员解放出来。因此,微服务将是大中型企业的业务架构的发展趋势。由于篇幅限制,小编只把目录截图展现出来了。 阅读详情

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

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

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

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

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 

开始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

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.

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

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

Jenkins搭建K8s持续集成流水线企业级实战 在配置 kubernetes 连接内容的下面,还需要配置Pod Templates ,这里的模板名称和标签列表不是 Pod 的 name 和 label,这里的名称和标签列表只是 Jenkins 查找选择模板时使用的,Jenkins自动创建 Pod 的name是项目名称+随机字母的组合,所以我们填写jenkins-slave,命名空间填写对应的namespace,也可以不填写,不填写默认是default。第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的安装口令。 阅读详情

相关推荐

在k8s中集成大数据服务

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

容器内安装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

国土变更调查中六类拓扑错误的成因分析与高效修复实践

本文深入分析了国土变更调查中六类拓扑错误的成因,包括边界不一致和不规则图形等常见问题,并提出了高效的自动化修复实践。通过智能咬合算法、引力-斥力平衡模型等核心技术,显著提升了修复效率,节省人工质检时间70%。文章还分享了实战中的避坑指南和黄金法则,为相关从业人员提供了宝贵经验。

weixin_29202213的博客 359

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

【数据结构】面试题整理 共36题

链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针。与数组不同,链表中的元素在内存中不必是连续存储的,这使得链表在插入和删除操作时非常高效。单向链表(Singly Linked List):每个节点只包含一个指向下一个节点的指针。双向链表(Doubly Linked List):每个节点包含两个指针,一个指向下一个节点,一个指向前一个节点。循环链表(Circular Linked List):链表的最后一个节点指向第一个节点,形成一个环。

weixin_44329069的博客 7198

Linux内核模块开发实战指南(2025版)

2025年Linux内核模块开发迎来革命性突破!本文将从零开始手把手教你构建可动态加载的AI加速驱动模块,揭秘最新内核特性与开发技巧,更包含独家性能调优方案与跨架构移植秘籍。文末附赠价值百万的调试脚本,助你轻松突破开发瓶颈!

资深全栈架构师,乐于在 优快云 分享技术见解,与大家携手共进,共攀技术巅峰! 1809

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

k8s 多master 集群 kubernetes集群

week_ed的专栏 1814

AI赋能合同审查:构建租赁合同智能审核系统的全流程解析

在商业地产、设备租赁等场景中,合同审核效率直接影响业务流转速度。传统人工审核存在三大痛点:审核周期长(平均2-3个工作日)、合规风险高(条款遗漏率约15%)、人力成本居高不下。智能审核系统可将审核时间压缩至秒级,风险识别准确率提升至98%以上。

理论都是虚的,代码才是王道。 1356

Kubernetes部署(四):k8s项目交付----(1)持续集成

实战交付dubbo服务到k8s 一、什么是Dubbo是什么 ● Dubbo是什么 ● Dubbo基于java开发的,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。 ● Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 ● 简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,.........

Jerry00713的博客 1万+

dolphinscheduler-3.4.0

dolphinscheduler集群部署

docsz的博客 660

UCIE Specification详解(十一)

Electrical Layer (2D and 2.5D)以及UCIe-3D

Crazzy_M的博客 1194

搭建及使用K8s集群 <k8s Dns 部署>

k8s Dns 部署k8s Dns 部署 k8s dns 相关镜像准备 修改配置文件 1 修改各个node上的kubelet 2 修改APIserver yamls 编写 1 skydns-rcyml 2 skydns-svcyaml 创建pods 验证k8s dns 1 部署busybox 2 nslookup 验证1. k8s dns 相关镜像准备 2. yamls 编写 3. 创建

JustHaveTry的专栏 3403

点云数据生成DEM,并导出三维模型

点云数据生成DEM,并导出三维模型

qq_42540466的博客 2万+

使用jenkins实现K8s持续集成--待完成

k8s+jenkins 持续集成

liuyan 1494

第076篇:大涡模拟进阶

大涡模拟(Large Eddy Simulation, LES)是介于直接数值模拟(DNS)和雷诺平均方法(RANS)之间的重要湍流模拟方法。本文深入介绍动态Smagorinsky模型、尺度相似模型、WALE模型和隐式LES等高级亚格子模型。通过Python实现槽道湍流和圆柱绕流的LES求解器,详细展示近壁面处理、动态系数计算和亚格子应力建模技术。大涡模拟,亚格子模型,动态模型,Smagorinsky,WALE模型,尺度相似模型,近壁面处理,槽道湍流LES的核心思想是对Navier-Stokes方程进行空间

2401_87715305的博客 740

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

基于k8s构建持续集成

一、实施准备 登录 OpenStack 平台,使用提供的 CentOS_7.5_x86_64_XD.qcow2 镜像创建两台云主机,并使用提供的软件包部署好双节点 Kubernetes 集群。 项目目标:jenkins的离线安装步骤、gitlab的使用和管理、CICD的配置步骤和方法。 二、案例实施 1、安装Jenkins环境 # 查看k8s集群状态 [root@master jenkins]#...

hqs2212586的专栏 212

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【云原生 | Kubernetes 系列】----K8s持续集成与部署

K8s持续集成与部署

Q先生 1287

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

手把手搭建jenkins + docker + k8s 持续集成、自动化发布环境

持续集成对于微服务开发来说,已经是不可或缺了,能够极大的提升效率。

自动化软件测试 4089

Kubernetes(K8S)集群搭建基础入门教程

K8s操作命令还有很多,这里我转载了一位博主的文章,对于K8s操作命令讲解的很全面,看这篇文章就足够了linkhttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。............

养歌的博客 7652

持续集成和部署如何做?一步步教你在k8s上安装Jenkins

持续集成和部署是 DevOps 的重要组成部分,Jenkins 是一款非常流行的持续集成和部署工具,最近试验了一下 Jenkins,发现它是我一段时间以来用过的工具中最复杂的。一个可能的原因是它需要与各种其它工具集成才能完成任务,而集成的方法又各不相同。在这些工具中,Docker 是最简单的,真的非常好用。K8s 比较复杂,开始要花些时间熟悉,但它的整体设计十分合理,一旦搞清核心概念,掌握脉络之后,就非常顺利。它的命令格式即规范又统一,使得有些命令自己都能猜出来,这就是好的设计带来的福利。。但 Jenkin

Java搜索工程技术栈 1130

Jenkins+K8s实现持续集成(二)

三、project-svc.yaml怎么写呢?五、如何在jenkins里面进行配置呢?部署前呢,要先把jenkins搭建好。二、project.yaml怎么写呢?四、jenkins.sh脚本如何写?一、Dockerfile怎么写呢?挂载目录和项目名字需要改成自己的。同时呢已经有了k8s的环境。

jwandbj的博客 1180

k8s【使用篇】05:【持续集成】CICD

k8s【使用篇】05:【持续集成】CICD

weixin_40612128的博客 1791

【kubernetes】k8s集群的搭建安装详细说明【创建集群、加入集群、踢出集群、重置集群

金三银四到了,送上一个小福利!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!kubectl子命令tab设置状况: 现在除了kubectl可以tab,剩下的都是不能tab的,你可以先测试一下。查看kubectl的cmd自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。

2401_84048832的博客 801

K8s集群搭建教程

三台虚拟机搭建一个一主多从的kubernetes集群(超详细!!!)

qq_44214446的博客 1万+
上一篇: 搭建及使用K8s集群 <k8s dashboard pod方式部署>
下一篇: 搭建及使用K8s集群 <目录>
cdchen2017
博客等级 码龄15年 44粉丝 54原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值