首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
k8s入坑之路(13)kubernetes重要资源(namespace隔离 resources资源管理 label)
】的更多相关文章
k8s入坑之路(13)kubernetes重要资源(namespace隔离 resources资源管理 label)
Namespace --- 集群的共享与隔离 语言中namespace概念 namespace核心作用隔离 以上是隔离的代码.namespace隔离的是: 1.资源对象的隔离:Service.Deployment.Pod 2.资源配额的隔离:Cpu.Memory 创建命名空间 kubectl create namespace dev apiVersion: v1 kind: Namespace metadata: name: devkubectl create -f namespace.yaml…
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入坑之路(16)kubernetes中CICD/基于宿主机jenkins
cicd的结合组件 需要代码仓库如gitlab.github.包构建工具Maven等,持续集成工具如jenkins,github/cicd.结合自己脚本实现重复式任务自动化. 传统服务发布流程: 提交代码到仓库使用maven工具构建包,发布到指定服务器上(正式测试等),调用脚本或ansible执行发布. 传统存在问题: 传统服务常见的是通过负载均衡器更新单个服务测试好在挂载.需要部署多个环境,重复性操作.通过k8s可以把多个环境放置不同的namespace中,通过yaml文件去指定不同names…
k8s入坑之路(14)scheduler调度 kubelet管理及健康检查 更新策略
kubelet 主要功能 Pod 管理 在 kubernetes 的设计中,最基本的管理单位是 pod,而不是 container.pod 是 kubernetes 在容器上的一层封装,由一组运行在同一主机的一个或者多个容器组成.如果把容器比喻成传统机器上的一个进程(它可以执行任务,对外提供某种功能),那么 pod 可以类比为传统的主机:它包含了多个容器,为它们提供共享的一些资源. 之所以费功夫提供这一层封装,主要是因为容器推荐的用法是里面只运行一个进程,而一般情况下某个应用都由多个组件构成的.…
k8s入坑之路(15)kubernetes共享存储与StatefulSet有状态
共享存储 docker默认是无状态,当有状态服务时需要用到共享存储 为什么需要共享存储: 1.最常见有状态服务,本地存储有些程序会把文件保存在服务器目录中,如果容器重新启停则会丢失. 2.如果使用volume将目录挂载到容器中,涉及到备份及高可用问题.如果宿主机出现问题则会造成不可用状态. kubernetes中提供了共享存储 1.pv(PresistentVolume持久卷) 2.pvc (PresistentVolumeClaim持久卷声明) PV pv中定义了: pv的容量 pv的访问模式…
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入坑之路(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入坑之路(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入坑之路(2)kubernetes架构详解
每个微服务通过 Docker 进行发布,随着业务的发展,系统中遍布着各种各样的容器.于是,容器的资源调度,部署运行,扩容缩容就是我们要面临的问题. 基于 Kubernetes 作为容器集群的管理平台被广泛应用,今天我们一起来看看 Kubernetes 的架构中有那些常用的组件以及运行原理. Kubernetes 架构概述 Kubernetes 是用来管理容器集群的平台.既然是管理集群,那么就存在被管理节点,针对每个 Kubernetes 集群都由一个 Master 负责管理和控制集群节点. 我们…