首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
k8s入坑之路(16)kubernetes中CICD/基于宿主机jenkins
】的更多相关文章
k8s入坑之路(16)kubernetes中CICD/基于宿主机jenkins
cicd的结合组件 需要代码仓库如gitlab.github.包构建工具Maven等,持续集成工具如jenkins,github/cicd.结合自己脚本实现重复式任务自动化. 传统服务发布流程: 提交代码到仓库使用maven工具构建包,发布到指定服务器上(正式测试等),调用脚本或ansible执行发布. 传统存在问题: 传统服务常见的是通过负载均衡器更新单个服务测试好在挂载.需要部署多个环境,重复性操作.通过k8s可以把多个环境放置不同的namespace中,通过yaml文件去指定不同names…
k8s入坑之路(7)kubernetes设计精髓List/Watch机制和Informer模块详解
1.list-watch是什么 List-watch 是 K8S 统一的异步消息处理机制,保证了消息的实时性,可靠性,顺序性,性能等等,为声明式风格的API 奠定了良好的基础,它是优雅的通信方式,是 K8S 架构的精髓. 2. List-Watch 机制具体是什么样的 Etcd存储集群的数据信息,apiserver作为统一入口,任何对数据的操作都必须经过 apiserver.客户端(kubelet/scheduler/controller-manager)通过 list-watch 监听 api…
k8s入坑之路(15)kubernetes共享存储与StatefulSet有状态
共享存储 docker默认是无状态,当有状态服务时需要用到共享存储 为什么需要共享存储: 1.最常见有状态服务,本地存储有些程序会把文件保存在服务器目录中,如果容器重新启停则会丢失. 2.如果使用volume将目录挂载到容器中,涉及到备份及高可用问题.如果宿主机出现问题则会造成不可用状态. kubernetes中提供了共享存储 1.pv(PresistentVolume持久卷) 2.pvc (PresistentVolumeClaim持久卷声明) PV pv中定义了: pv的容量 pv的访问模式…
k8s入坑之路(10)kubernetes coredns详解
概述 作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,那么就需要一个集群范围内的DNS服务来完成从服务名到ClusterIP的解析. DNS服务在kubernetes中经历了三个阶段. 第一阶段,在kubernetes 1.2版本时,dns服务使用的是由SkyDNS提供的,由4个容器组成:kube2sky.skydns.etcd和healthz.etcd存储dns记录:kube2sky监控service变化,生成dns记录:skydns读取服务,提供查询服务:healthz…
k8s入坑之路(2)kubernetes架构详解
每个微服务通过 Docker 进行发布,随着业务的发展,系统中遍布着各种各样的容器.于是,容器的资源调度,部署运行,扩容缩容就是我们要面临的问题. 基于 Kubernetes 作为容器集群的管理平台被广泛应用,今天我们一起来看看 Kubernetes 的架构中有那些常用的组件以及运行原理. Kubernetes 架构概述 Kubernetes 是用来管理容器集群的平台.既然是管理集群,那么就存在被管理节点,针对每个 Kubernetes 集群都由一个 Master 负责管理和控制集群节点…
【转载】k8s入坑之路(2)kubernetes架构详解
每个微服务通过 Docker 进行发布,随着业务的发展,系统中遍布着各种各样的容器.于是,容器的资源调度,部署运行,扩容缩容就是我们要面临的问题. 基于 Kubernetes 作为容器集群的管理平台被广泛应用,今天我们一起来看看 Kubernetes 的架构中有那些常用的组件以及运行原理. Kubernetes 架构概述 Kubernetes 是用来管理容器集群的平台.既然是管理集群,那么就存在被管理节点,针对每个 Kubernetes 集群都由一个 Master 负责管理和控制集群节点. 我们…
k8s入坑之路(11)kubernetes服务发现
kubernetes访问场景 1.集群内部访问 2.集群内部访问外部 3.集群外部访问内部 1.集群内部访问 1.pod之间直接ip通讯(利用calico通过路由表经过三层将ip流量转发)由于容器之间ip并不固定不推荐使用ip直连 2.pod通过service-ip访问后端pod(service为虚拟ip,kube-proxy将请求分发给ipvs,负载到某个后端pod,calico通过路由转发将请求转发过去) 3.(dns+ClusterIp)pod通过service-name访问后端pod(p…
k8s入坑之路(4)kubenetes安装
三种安装方法: 1.kubeadm 2.kubespray 3.二进制安装 kubespray安装kubernetes集群 优点: 1.kuberspray对比kubeadm更加简洁内部集成了kubeadm与ansible 缺点: 1.全程自动化排错成本高 2.主节点也要装了工作节点,如不需要使用可在主节点打污点标签 # 一.使用Kubespray部署Kubernetes生产集群 ## 1. 服务器说明 #### 1.1. 节点要求 ###### 节点数 >=3台 ###### CPU >=2…
k8s入坑之路(13)服务迁移(定时任务 微服务 传统服务)
定时任务迁移kubernetes 服务迁移步骤 1.安装好java 2.安装好maven 项目打包 mvn package 测试传参运行 java -cp cronjob-demo-1.0-SNAPSHOT.jar com.mooc.demo.cronjob.Main 编辑Dockfile FROM 172.17.166.172/kubenetes/openjdk:8-jre-alpine COPY target/cronjob-demo-1.0-SNAPSHOT.jar /cronjob-de…
k8s入坑之路(9)k8s网络插件详解
Flannel: 最成熟.最简单的选择 Calico: 性能好.灵活性最强,目前的企业级主流 Canal: 将Flannel提供的网络层与Calico的网络策略功能集成在一起. Weave: 独有的功能,是对整个网络的简单加密,会增加网络开销 Kube-router: kube-router采用lvs实现svc网络,采用bgp实现pod网络. CNI-Genie:CNI-Genie 是一个可以让k8s使用多个cni网络插件的组件,暂时不支持隔离策略 k8s的容器虚拟化网络方案大体分为两种: 基于…