博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kubernetes部署软件应用的步骤思路
阅读量:2037 次
发布时间:2019-04-28

本文共 957 字,大约阅读时间需要 3 分钟。

 

一、制作镜像

1. 基础镜像

第一步基础镜像,是基于哪个操作系统,比如CentOS 7或者其他的

2. 中间件镜像

第二步中间件镜像,比如服务镜像,跑的像Nginx服务,Tomcat服务

3. 项目镜像

第三步项目镜像,它是服务镜像之上的,将你的项目打包进去,那么这个项目就能在你这个服务镜像里面运行了

 

二、确定应用(Pod)的部署方式

  • Deployment:无状态部署

  • StatefulSet:有状态部署(有状态的是有身份的,比如网络ID、存储,这两个是提前规划好的,有序启动/停止)

  • DaemonSet:守护进程部署

  • Job & CronJob:批处理

 

三、确定Pod是否需要数据持久化

容器部署过程中一般有以下三种数据:

  • 启动时需要的初始数据,可以是配置文件

  • 启动过程中产生的临时数据,该临时数据需要多个容器间共享

  • 启动过程中产生的持久化数据

 

四、暴露应用(内部访问)

在多个Pod前面加一个负载均衡,提供一个访问入口,只有访问这个统一入口,才能转发到后端多个Pod上,只要访问这个Cluster IP就能转发到后端的Pod上。

Service

  • Service定义了Pod的逻辑集合和访问这个集合的策略

  • Service的引入为解决Pod的动态变化,提供了服务发现和负载均衡

  • 使用CoreDNS解析Service名称

 

五、对外发布应用(外部访问)

暴露出去之后,也就是需要让用户去访问,比如搭建一个电商网站,让用户去访问。

Ingress相对于Service,是一个互补的状态,Service主要提供了集群内部的访问,也可以暴露一个TCP/UDP的端口,而Ingress主要是一个7层的转发,也就是提供一个统一的入口,只要访问Ingress Controller,就能帮你转发你部署所有的项目,也就是所有的项目都使用域名去访问。

每个Ingress会关联一组Pod,而Service会创建这组Pod的负载均衡,通过Service去区分这些节点上的Pod,数据库放在集群之外,监控系统、日志系统也可以放在Kubernetes集群去部署,也可以放在集群之外。我们是放在Kubernetes集群内的,也不是特别敏感,主要用来运维和开发调试用,不会影响到我们的业务,所以我们优先去Kubernetes中部署。

 

 

 

内容来自

 

 

 

 

转载地址:http://xlkof.baihongyu.com/

你可能感兴趣的文章
flask_migrate
查看>>
flask_script
查看>>
threading.local
查看>>
flask上下文
查看>>
Linux的SOCKET编程详解
查看>>
setsid()函数的作用
查看>>
每天进步一点点——Linux中的线程局部存储(二)
查看>>
【C++】explicit关键字
查看>>
八大排序算法
查看>>
C++ 11
查看>>
Spring @Configuration 和 @Component 区别
查看>>
JVM内存模型
查看>>
syslog日志记录
查看>>
Linux下的动态库.so
查看>>
jQuery解决input中placeholder值在ie中无法支持的问题
查看>>
一文深度揭秘Redis的磁盘持久化机制
查看>>
java是编译型还是解释型语言
查看>>
Spring的BeanUtils的copyProperties方法需要注意的点
查看>>
NotePad 常用快捷键总结
查看>>
Notepad++如何让打开的文件排在左边菜单栏
查看>>