用k8s部署微服务应用

构建镜像

以sentinel-dashboard-1.6.3.jar为例,将该微服务的可运行jar包构建成docker镜像。
1、将jar包上传linux服务器/usr/local/docker-app/docker-demo/app/sentinel目录,在jar包所在目录创建名为Dockerfile的文 件2、在Dockerfile中添加以下内容
2、在Dockerfile中添加以下内容

# 基于哪个镜像 
From java:8
# 复制文件到容器
ADD sentinel-dashboard-1.6.3.jar /sentinel.jar
# 声明需要暴露的端口
EXPOSE 9999
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","-Dserver.port=9999","/sentinel.jar"]

3、使用docker build命令构建镜像

 docker build ‐t sentinel:1.6.3 .

#格式: docker build -t 镜像名称:标签 Dockerfile的相对位置
在这里,使用-t选项指定了镜像的标签。
4、启动镜像,加-d可在后台启动

 docker run ‐d ‐p 9999:9999 sentinel:1.6.3

5、访问http://Docker宿主机IP:9999,可正常显示sentinel主页

curl http://localhost:9999

2、上传镜像到Docker Hub

docker login
# 配置tag,DockerHub账号/镜像名称
docker tag sentinel:1.6.3 core815/sentinel:1.6.3
# push
docker push core815/sentinel:1.6.3

3、使用deployment部署

apiVersion: apps/v1
kind: Deployment
metadata: 
 name: sentinel-deployment
 labels:
  app: sentinel
spec:
 replicas: 1
 selector:
  matchLabels:
   app: sentinel
 template:
  metadata:
   labels:
    app: sentinel
  spec:
   containers:
    - name: sentinel
      imagePullPolicy: Always # 如果没有此设置,会导致一直不拉取DockerHub最新镜像
      image: core815/sentinel:1.6.3
      ports:
       - containerPort: 9999

4、使用service对外暴露端口

apiVersion: v1
kind: Service
metadata: 
 name: sentinel-service
spec:
 type: NodePort
 selector:
  app: sentinel
 ports:
  - name: http
    protocol: TCP
    port: 9999
    targetPort: 9999

执行如下命令创建商品服务的service:

kubectl apply -f sentinel-service.yaml

查看对外暴露端口:

kubectl get svc|grep sentinel

在这里插入图片描述


 访问sentinel

curl http://127.0.0.1:30519

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值