kubernetes实践之七十四:Service Mesh Meetup深圳站学习总结
一:简介8月25日有幸参与了Service Mesh Meetup深圳站的分享会,收获满满。二:微服务架构要点三:微服务架构Spring Cloud : 微服务架构要点嵌入到业务代码,开发人员需要处理大量与业务无关的逻辑,缺少完整的微服务生命周期支持,比如自动化部署,调度,资源管理,进程隔离和故障恢复等。其中的微服务发现和注册插件Eureka 2.0 开源工作宣告停止. 可关注spring clo
kubernetes实践之七十三:Istio之配置请求路由
一:简介由于 Bookinfo 示例部署了三个版本的 reviews 微服务,因此我们需要设置默认路由。 否则,如果您当多次访问应用程序,您会注意到有时输出包含星级评分,有时又没有。 这是因为没有为应用明确指定缺省路由时,Istio 会将请求随机路由到该服务的所有可用版本上。二:路由配置说明:此任务假定您尚未设置任何路由。 如果您已经为示例应用程序创建了存在冲突的路由规则,则需要在下面的命令中使用
kubernetes实践之七十二:Istio之策略与遥测
一:Istio简介1.Istio定义一个用来连接,管理和保护服务的开发平台。Istio提供一种简单的方式建立已部署服务网络,具备负载均衡,服务间认证和监控等功能。而不需要改变任何服务代码。想要为服务增加对Istio的支持,只需要在环境中部署一个sidecar,使用Istio控制面板功能配置和管理代理,拦截微服务之间的所有网络通信。2.为什么需要Istio随着微服务出现,微服务的连接,管理和监控成为
kubernetes实践之七十一:Istio之流量管理(下)
一:简介Istio 提供了一个简单的配置模型,用来控制 API 调用以及应用部署内多个服务之间的四层通信。运维人员可以使用这个模型来配置服务级别的属性,这些属性可以是断路器、超时、重试,以及一些普通的持续发布任务,例如金丝雀发布、A/B 测试、使用百分比对流量进行控制,从而完成应用的逐步发布等。例如,将 reviews 服务 100% 的传入流量发送到 v1 版本,这一需求可以用下面的规则来实现:
kubernetes实践之七十:Istio之流量管理(上)
Istio流量管理的核心组件是Pilot,它管理和配置部署在特定Istio服务网格中的所有Envoy代理实例。它允许您指定在Envoy代理之间使用什么样的路由流量规则,并配置故障恢复功能,如超时,重试和熔断器。它还维护了网格中所有服务的规范模型,并使用这个模型通过发现服务让Envoy了解网格中的其它实例。
kubernetes实践之六十九:istio-1.0.0部署和试用
一:简介 本文介绍如何在kubernetes1.10.4集群中部署istio-1.0.0 并试用istio自带的bookinfo实例应用。二:安装1.获取安装包wget https://github.com/istio/istio/releases/download/1.0.0/istio-1.0.0-linux.tar.gz tar -zxvf istio-1.0.0-
kubernetes实践之六十八:部署 coredns 插件
一:简介 从Kubernetes 1.10开始,在安装时将默认的DNS服务切换为CoreDNS(beta测试阶段)。这里介绍在Kubernetes 1.10.4集群中部署coredns插件。二:安装 将下载的 kubernetes-server-linux-amd64.tar.gz 解压后,再解压其中的 kubernetes-src.tar.gz 文件。core
kubernetes实践之六十七:Istio介绍
一:简介随着微服务架构的普及,越来越多的应用已经拆分成了微服务的架构。而微服务架构落地的一个难点,就是如何让服务和服务之间进行稳定的通信。部署微服务之后,如何做服务的负载均衡、容错性、服务监控、日志追踪以及熔断等功能都需要考虑周全。为了让业务团队返璞归真,将所有精力集中在业务代码而不是配合微服务组件写大量非功能性需求的代码,Istio应运而生。Istio是谷歌、IBM、Lyft等公司贡献的开源Se
kubernetes实践之六十六:Istio实现金丝雀发布原理
一:简介 二:藍綠发布三:滚动发布四:金丝雀发布 五:Istio实现金丝雀发布原理
kubernetes实践之六十五:Service Mesh
一:什么是Service Mesh1.可以将Service Mesh比作是程序或者微服务间的TCP/IP,负责服务之间的网络调用,限流,熔断和监控。对于编写应用程序来说一般无须关心 TCP/IP 这一层(比如通过 HTTP 协议的 RESTful 应用),同样使用 Service Mesh 也就无须关系服务之间的那些原来是通过应用程序或者其他框架实现的事情,比如 Sp...
kubernetes实践之六十四:CoreDNS
一:简介1.Kubernetes包括用于服务发现的DNS服务器Kube-DNS。 该DNS服务器利用SkyDNS的库来为Kubernetes pod和服务提供DNS请求。SkyDNS2的作者,Miek Gieben,创建了一个新的DNS服务器,CoreDNS,它采用更模块化,可扩展的框架构建。 Infoblox已经与Miek合作,将此DNS服务器作为Kube-DNS的替代品。2.CoreDNS利用作为Web服...
kubernetes实践之六十三:使用技巧
一:在容器中获取 Pod 的IP 点击(此处)折叠或打开apiVersion: v1kind: ReplicationControllermetadata: name: world-v2spec: replicas: 3 selector: &...
kubernetes实践之六十二:Secret 使用
一: 简介
kubernetes实践之六十一:kubectl port-forward
一:简介kubectl port-forward 通过端口转发映射本地端口到指定的应用端口,从而访问集群中的应用程序(Pod).二:举例1.创建一个 Pod 来运行 Redis 服务器a.创建一个 Pod: 点击(此处)折叠或打开kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-master...
kubernetes实践之六十:Cabin-Manage Kubernetes
一:简介Cbitnami所有功能跟kubernetes dashboard相同,还可以支持使用Helm chart部署应用,可以配置自定义的chart仓库地址。当前版本是0.5.0. 这是一个过渡版本对于kubernetes 1.8/1.9的集群来说,还存在问题。证书tokenkubeconfig文件二:截图...
kubernetes实践之五十九:NetworkPolicy
一: 简介 1.Kubernetes的一个重要特性就是要把不同node节点的pod连接起来,无视物理节点的限制。但是在某些应用环境中,比如公有云,不同租户的pod不应该互通,这个时候就需要网络隔离。幸好,Kubernetes提供了NetworkPolicy,支持按Namespace级别的网络隔离。Network Policy提供了基于策略的网络控制,用于...
kubernetes实践之五十八:CronJob
一: 简介在给定时间点只运行一次2..spec.schedule指定任务运行周期,格式同Job3.spec.startingDeadlineSeconds指定任务开始的截止期限4kubectl get jobs --watch 监控job执行情况
kubernetes实践之五十七:PodPreset
一:简介 PodPreset 资源对象只有 kubernetes 1.8 以上版本才支持。Preset 就是预设,有时候想要让一批容器在启动的时候就注入一些信息,比如 secret、volume、volume mount 和环境变量,而又不想一个一个的改这些 Pod 的 tmeplate,这时候就可以用到 PodPreset 这个资源对象了。该对象用来在 Pod 创建的时...
kubernetes实践之五十六:云原生
一: 云原生1.基准代码2.依赖3.配置4.后端服务5.构建、发布、运行6.进程7.端口绑定8.并发9.易处理10.开发环境与线上环境等价11.日志12.管理进程云原生应用就是为了在云上运行而开发的应用,...
kubernetes实践之五十五:kubectl之配置kubeconfig
一: 简介使用kubectl命令行的时候首先需要配置Kubeconfig文件,用于配置如何访问Kubernetes API,包括Kubernetes API Server的URL和认证信息等,并且可以设置不同的上下文环境,快速切换访问环境。二:Kubeconfig文件示例 点击(此处)折叠或打开apiVersion : v1kind: Config...