当前位置: 首页 > 后端技术 > Java

Kubernetes-K8s

时间:2023-04-01 21:04:41 Java

1.构建项目镜像并推送到镜像仓库。2.部署:2.1。服务安排。2.2.导入数据库。2.3.部署注册中心。2.4.部署业务程序。2.5.部署前端。3.服务链路监控系统3.1、什么是全链路监控。3.2.全链路监控解决什么问题?3.3.全链路监控系统选型依据。3.4.精准介绍。3.5.精确部署。3.6.精确定位图形页面。用无状态应用部署4.1、有状态:有固定的存储,它们之间存在内部维护关系,例如:mysql主从关系,存储独立的数据。4.2、无状态:不考虑存储,它本身不会维护这些有状态的信息。多个副本之间有什么关系吗?我应该如何考虑其他副本?4.3.k8s适用于微服务架构中的无状态应用。对于具有这些特点的应用部署,stateless应用部署在k8s中。4.4.配置中心、数据库、Redis、MQ、分布式存储。五、如何区分不同环境下的配置文件5.1.configmap是一个k8s配置管理用户,用来存放一些描述信息,比如配置文件特别适合,根据不同的环境,创建不同的configmaps,在写k8syaml文件的时候引用不同的maps,这样可以在不同的环境之间切换。5.2、entrypoint.shDocker启动的一个脚本,容器启动时的第一个脚本,这个脚本主要用于初始化。这是容器启动时的初始化。比如你在k8syaml中传入一个变量,这个变量的值为dev,你在这个配置文件中读取的就是dev,根据你当前环境下的dev配置文件进行处理。5.3、java-jar--spring.profiles.active=devxxx.jar5.4、统一配置中心,如Apollo、Disconf6,技术博客:http://blog.51cto.com/lizhenl...7.What是将项目迁移到K8S平台的过程:7.1。制作镜像,用controller管理pod,暴露应用,对外发布应用,日志/监控。7.2.写一个yaml选择一个controller来管理pod,Pod是K8s部署的最小单位。Pod是容器的更高级别的封装。它具有更多高级功能(部署、滚动更新和弹性缩放)。Pod需要一个controller来完成。8、K8s的各个controller管理原理介绍:8.1.部署:无状态部署。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解析服务名称。9.6.通过标签管理Pod。10.对外发布应用:Ingress10.1。通过服务关联Pod。10.2.基于域名的访问。10.3.通过IngressController实现Pod负载均衡。10.4、支持TCP/UDPlayer4和HTTPlayer7。11.Pod数据持久化11.1.容器部署过程中一般有以下三类数据:11.2.启动时所需的初始数据可以是配置文件。11.3.启动过程中产生的临时数据需要在多个容器之间共享。11.4.启动期间生成的持久数据。12.日志和监控12.1.Filebeat+ELK12.2。普罗米修斯+Grafana13。传统部署14.K8S部署15.K8S平台环境要求:15.1、跨主机网络。15.2、CoreDNS。15.3、Harbor镜像仓库。15.4、IngressController.16、服务编排16.1、yaml编写(包括controller定义、受控对象)