Kubernetes集群搭建之后如何部署应用

分为两步:

  1. 制作镜像
  2. k8s 集群中发布 Deployment

 

以java后端程序为例

  1. 首先将程序打包
  2. 编写Dockerfile
  3. 编写app yaml
  4. 编写外部访问service

 

可以像我这样将jar包和Dockerfile放在同一个目录下

编写Dockerfile
#基础镜像,如果本地仓库没有,会从远程仓库拉取
FROM openjdk:8-jdk-alpine
#会把app.jar放在docker image的根目录下
ADD td-backup-server-0.0.1-SNAPSHOT.jar app.jar
#声明可以用这个端口
EXPOSE 8080
#指定容器启动时要执行的命令
ENTRYPOINT ["java","-jar","/app.jar"]


执行命令生成镜像
docker build -t server .


编写tdbackup.yaml 
apiVersion: v1
kind: Service
metadata:
  name: tdbackupserver
  namespace: default
  labels:
    app: tdbackupserver
spec:
  type: NodePort
  ports:
  - port: 8080
    nodePort: 30090 #service对外开放端口
  selector:
    app: tdbackupserver
---
apiVersion: apps/v1
kind: Deployment #对象类型
metadata:
  name: tdbackupserver #名称
  labels:
    app: tdbackupserver #标注 
spec:
  replicas: 2 #运行容器的副本数,修改这里可以快速修改分布式节点数量
  selector:
    matchLabels:
      app: tdbackupserver
  template:
    metadata:
      labels:
        app: tdbackupserver
    spec:
      containers: #docker容器的配置
      - name: tdbackupserver
        image: tdbackup:latest # pull镜像的地址 ip:prot/dir/images:tag
        imagePullPolicy: IfNotPresent #pull镜像时机,
        ports:
        - containerPort: 8080 #容器对外开放端口

暴露service
kubectl create -f tdbackup.yaml 


编写mysql-pro.yaml
apiVersion: v1
kind: Service
metadata:
  name: mysql-production
spec:
  ports:
    - port: 3306
---
kind: Endpoints
apiVersion: v1
metadata:
  name: mysql-production
  namespace: default
subsets:
  - addresses:
      - ip: 123.123.123.33
    ports:
      - port: 3306

修改数据库连接字符串
    url: jdbc:mysql:// mysql-production:3310/tdBackupServer?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC&createDatabaseIfNotExist=true


使用endpoint连接外部集群
kubectl create -f mysql-pro.yaml 

任意节点ip + 30090测试 #service对外开放端口

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值