Kubernetes/K8s

1、构建项目镜像并推送到镜像仓库.
2、部署:
2.1、服务编排.
2.2、导入数据库.
2.3、部署注册中心.
2.4、部署业务程序.
2.5、部署前端.
3、服务链路监控系统
3.1、全链路监控是什么.
3.2、全链路监控解决什么问题.
3.3、全链路监控系统选择依据.
3.4、Pinpoint介绍.
3.5、Pinpoint部署.
3.6、Pinpoint图形页面.
4、区分有状态应用与无状态应用部署
4.1、有状态:它有固定的存储,它之间有内部的维护关系,例如:mysql主从关系,存储独立的数据.
4.2、无状态:它不会考虑存储,它本身不会维护这些有状态信息,多个副本的时候之间有没有关系,我怎么考虑其他的副本.
4.3、k8s适用于微服务架构无状态化应用,具备这些特点的应用部署,优先把无状态应用部署在k8s中.
4.4、配置中心、数据库、Redis、MQ、分布式存储.
5、不同环境如何区分配置文件
5.1、configmap是k8s一个配置管理的用户存储一些描述信息,像配置文件就特别适合,根据不同

   环境,创建不同configmap,编写k8s yaml文件的时候引用不同的map,这样就能切换不同的环境了.

5.2、entrypoint.sh Docker启动的一个脚本,容器启动时的第一个脚本,这个脚本主要用于初始化,你这个容器启动的时候一个初始化.比如你在k8s yaml中传入一个变量,这个变量的值是dev,你在这个配置文件中读取到的就是dev,根据dev来处理你当前环境中的配置文件.
5.3、java -jar --spring.profiles.active=dev xxx.jar
5.4、统一配置中心,例如 Apollo,Disconf
6、技术博客:http://blog.51cto.com/lizhenl...
7、项目迁移到K8S平台是怎样的流程:
7.1、制作镜像、控制器管理pod、暴露应用、对外发布应用、日志/监控.
7.2、编写一个yaml选择一个控制器去管理Pod,Pod是K8s部署的最小单元,Pod它就是容器更高一个级别的封装,它具备更高级的一些特性(部署、滚动更新、弹性伸缩) Pod需要控制器来完成.
8、K8s各控制器管理介绍:
8.1、Deployment:无状态部署.
8.2、StatefulSet:有状态部署.
8.3、DaemonSet:守护进程部署.
8.4、Job & CronJob:批处理.
9、暴露应用:
9.1、Service定义了Pod的逻辑集合和访问这个集合的策略.
9.2、Service引入了解决Pod的动态变化,提供服务发现和负载均衡.
9.3、支持ClusterIP,NodePort以及LoadBalancer三种类型.
9.4、Service的底层实现主要有iptables和ipvs两种网络模式.
9.5、使用CoreDNS解析Service名称.
9.6、通过Label管理Pod.
10、对外发布应用:
Ingress
10.1、通过Service关联Pod.
10.2、基于域名访问.
10.3、通过Ingress Controller实现Pod的负载均衡.
10.4、支持TCP/UDP 4层和 HTTP 7层.
Kubernetes/K8s_第1张图片
11、Pod数据持久化
11.1、容器部署过程中一般有以下三种数据:
11.2、启动时需要的初始数据,可以是配置文件.
11.3、启动过程中产生的临时数据,该临时数据需要多个容器间共享.
11.4、启动过程中产生的持久化数据.
Kubernetes/K8s_第2张图片
12、日志与监控
12.1、Filebeat + ELK
12.2、Prometheus + Grafana

13、传统部署
Kubernetes/K8s_第3张图片

14、 K8S部署
Kubernetes/K8s_第4张图片

你可能感兴趣的:(Kubernetes/K8s)