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}" ]; 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 1012 11:26 build.sh
-rwxrwxrwx 1 root root 40039685 1012 13:00 cloud-eureka-server-1.0.0.jar
-rwxrwxrwx 1 root root      182 1012 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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值