k8s部署springboot的demo项目

56 篇文章 4 订阅

1 准备jar包

1.1 把你的springboot项目打包成可执行jar包

1.2 把jar包上传到Linux服务器

2 构建docker镜像

2.1 编写Dockerfile
vim Dockerfile

内容

FROM java:8
MAINTAINER luozhanfeng
ADD demo.jar /demo.jar
EXPOSE 80
ENTRYPOINT ["java","-jar","/demo.jar"]
2.2 开始构建
docker build -t luozhanfeng/demo:v1 .

avatar

2.2 查看镜像
docker images

avatar

3 部署 k8s

3.1 编写deployment和service的yaml
apiVersion: v1
kind: Service
metadata:
  name: demo
  namespace: default
  labels:
    app: demo
spec:
  type: NodePort #对外访问的类型
  ports:
    - port: 8030
      nodePort: 30090 #service对外开放端口
  selector:
    app: demo
---
apiVersion: apps/v1
kind: Deployment #对象类型
metadata:
  name: demo #名称
  labels:
    app: demo #标注 
spec:
  replicas: 3 #运行容器的副本数,修改这里可以快速修改分布式节点数量
  selector:
    matchLabels:
      app: demo
  template:
    metadata:
      labels:
        app: demo
    spec:
      containers: #docker容器的配置
        - name: demo
          image: luozhanfeng/demo:v1 #本地镜像
          #image: harbor.saas.xxx-ift.com/luozhanfeng/demo:v1 #远程仓库
          imagePullPolicy: IfNotPresent # Always:总是拉取; IfNotPresent:默认值,本地有则使用本地镜像, 不拉取; Never:只使用本地镜像,从不拉取
          ports:
            - containerPort: 8030 #容器对外开放端口
3.2 构建yaml
kubectl create -f demo.yaml
kubectl get pods

image

3.3 测试设置的端口是否能访问
curl 127.0.0.1:30333/test/test

image

image

image

3.4 删除构建
kubectl delete -f demo.yaml

image

4 推送镜像到harbor

4.1 新建自己的项目

我们的私有harbor地址:https://harbor.saas.xxx-ift.com/
账号密码是BIP

image

4.2 在项目中标记镜像
docker tag luozhanfeng/demo:v1 harbor.saas.xxx-ift.com/luozhanfeng/demo:v1

image

4.3 安装证书
4.3.1 下载证书

image

4.3.2 放在 /etc/pki/tls/certs/ 目录下
cd /etc/pki/tls/certs/
rz 

image

4.4 推送镜像到当前项目
4.4.1 登录harbor
docker login https://harbor.saas.xxx-ift.com
4.4.2 推送
docker push harbor.saas.xxx-ift.com/luozhanfeng/demo:v1

image

5 排雷

5.1 报错1

image

1、需要修改docker.service

vim /usr/lib/systemd/system/docker.service

EnvironmentFile=-/etc/sysconfig/docker
ExecStart=/usr/bin/dockerd $OPTIONS

image

2、修改/etc/docker/daemon.json

{
“insecure-registries”: [“http://192.168.19.4”]
}

image

然后重启docker即可

systemctl daemon-reload
systemctl restart docker.service
5.1 报错2

[root@test3 ~]# docker push 192.168.0.7/gitlab/gitlab_back:v1
The push refers to a repository [192.168.0.7/gitlab/gitlab_back]
Get https://192.168.0.7/v1/_ping: read tcp 192.168.0.6:40306->192.168.0.7:443: read: connection reset by peer

解决办法:
编辑vim /etc/sysconfig/docker文件。如果没有则创建。

image

6 资料网址

docker推送镜像到harbor
https://blog.51cto.com/lovejxs/2446037?source=dra

自签署ssl根证书 certificate signed by unknown authority
https://segmentfault.com/q/1010000000938076

docker push到私有仓库
https://www.cnblogs.com/jifeng/p/9410003.html

K8S部署SpringBoot应用
https://blog.csdn.net/m0_37063785/article/details/101303898

k8s使用本地镜像
https://blog.csdn.net/u010039418/article/details/86578420

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值