这个是测试的。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
kubernetes,分为master和worker(node)端,master管理整个调度的流程,首先master分为四个进行,最重要的就是kuberapiserver,ETCD,controller-manager,kuber-scheduler。
kuberapiserver
master将命令下发到node去执行,执行完了会将执行结果反馈到master,通过master中的kuberapiserver来进行交互,同时kuberapiserver的接口也是面向用户的
1是通过kuberctl来下发文件或者指令。
2.通过RestAPI的Http接口下发指令。
3.通过webUI拖拽,或者界面填写参数。
ETCD
实际上是一个数据库,用来存储元数据信息的,各个节点的状态等信息。
controller-manager
各种资源控制化的中心。
kuber-scheduler
调度,调度apiserver的实施者的。
整个流程
用户通过三种方式下发指令到apiserver,apiserver传达指令,经过kuber-scheduler和controller-manager的协调调度,同时由ETCD提供元数据的支持,生成调度的指令,交给apiserver,apiserver将指令下发给节点,节点进行容器的创建和销毁等操作,等节点的状态更新之后,会实时的将状态汇报给apiserver,apiserver会将状态记住到ETCD里面。
Node端
node端分为三个部分,kubelet、kube-proxy、docker。
kubelet:用于直接和apiserver进行通信,直接调度容器。
kube-proxy:用来直接创建虚拟网卡。
docker:机器上必须安装docker才可以进行容器的调度。
kubernetes中基本的概念
pod
pod,为调度的最小单元,由一个docker+一个pause容器组成,因为k8s调度的时候不能直接调度docker容器,需要一个传达指令的人,就是pause容器。
deployment
deployment,维持pod的数量。示例命令:kubectl run d1 --image httpd:alpine --port 80
Service
service,将多个pod抽象为一个服务,帮我们解决了负载均衡和多容器对外统一映射的问题。示例命令:kubectl expose deployment d1 --target-port 80 --type NodePort
ingress
ingress,如何通过将虚拟IP映射到公网可以访问的ip。
这个是测试git图片的。