k8s集群部署springcloud 单应用
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}" ]; thenDOCKER_CERT_PATH=/etc/docker
fiADD_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:8VOLUME /tmpADD *.jar app.jarRUN 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部署 如下图
点击 SHOW ADVANCED OPTIONS选择拉取镜像的秘钥
找到image pull secret
点击DEPLOY
4. 验证部署结果
查看nodePort
# kubectl describe service/cloud-eureka-server
Name: cloud-eureka-server
Namespace: default
Labels: app=cloud-eureka-serverversion=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/
如下图,证明启动成功
k8s集群部署springcloud 单应用相关推荐
- Kubeadm安装高可用的K8S集群--多master单node
Kubeadm安装高可用的K8S集群–多master单node master1 IP 192.168.1.180/24 OS Centos7.6 master2 IP 192.168.1.181/24 ...
- 【好文收藏】K8S集群部署CoreDNS服务
K8S集群部署CoreDNS服务 k8s集群中的应用通常是通过ingress实现微服务发布的,前文介绍过在K8S集群中使用traefik实现服务的自动发布,其实现方式是traefik通过集群的DNS服 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...
- 【k8s系列001】K8s集群部署H2O
一.k3s集群部署 https://docs.rancher.cn/docs/k3s/_index k3s官网 1.安装master curl -sfL http://rancher-mirror.c ...
- 利用k8s集群部署第一个容器化应用
准备工作 按照这篇文章描述的流程搭建好k8s集群. 部署nginx Kubernetes 跟 Docker 等很多项目最大的不同,就在于它不推荐你使用命令行的方式直接运行容器(虽然 Kubernete ...
- k8s集群部署中etcd启动报错request sent was ignored (cluster ID mismatch: peer[c39bdec535db1fd5]=cdf818194e3a8c
k8s集群部署中etcd启动报错处理 报错信息如下,主要报错信息有两条 原因是/var/lib/etcd/目录下缓存导致 解决方法 问题2: Error starting daemon: SELinu ...
- K8S集群部署kube-Prometheus监控Ceph(版本octopus)集群、并实现告警。
K8S集群部署kube-Prometheus监控Ceph(版本octopus)集群.并实现告警. 一.背景描述 公司K8S集群后端存储采用的是cephfs,测试环境经常性出现存储故障,虽然最后都解决了 ...
- k8s集群部署springboot项目
一.前言 本篇,我们将基于k8s集群,模拟一个比较接近实际业务的使用场景,使用k8s集群部署一个springboot的项目,我们的需求是: 部署SpringBoot项目到阿里云服务器 : 基于容器打包 ...
- Rancher2.x安装及k8s集群部署
安装Rancher Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件. Rancher2.0基于Kubernetes构建,使用Ranch ...
最新文章
- 【软件工程】VB版机房文档总结
- 成都大学的计算机排名,成都除了成都大学,还有2所985、4所211,含金量很高
- Android项目中出现的Plugin with id ‘kotlin-android‘ not found解决方法
- macOS完全卸载Android Studio方法
- Dokcer进阶之Compose 实战官方flask、wordpress、spring-boot
- 在python中terminal中建立mysql数据库,无法再models.py 文件中建立数据库信息
- scala to java_Scala 2.13 以后Java集合与Scala集合互相转换
- Java注释:探究和解释
- vscode php插件_vscode+phpstudy+xdebug无法断点(踩坑记)
- TCP的send与recv函数小结
- 在Python中使用XGBoost和scikit-learn进行随机梯度增强
- 模板:微信小程序商城模板
- 最小二乘法及其代码实现
- html的excel表格自动换行,excel自动换行总结
- 【正一专栏】西甲天王山之战梅西一剑封喉!
- 先进级!阿里云大数据+AI平台通过信通院数据平台整体解决方案最高等级评测
- js中数组的entries方法
- 2021年小红书KOL营销白皮书
- 关于MOTOROLA O202C无线座机 来电响一声故障
- paypal余额限制_如何将您的PayPal余额转换成可以在任何地方消费的借记卡