Funky's NoteBook

Funky's NoteBook

it's better to burn out than to fade away

架构思维与方法论
架构思维与方法论1.修心1.1 修炼同理心,认同他人的能力 在架构设计上多转换视角,明确每个人要做的功能。 搞明白我们是在改善系统还是在破坏系统。 认同并信任他人的能力,不要在还没有全面理解他人的思想的情况下去调整现有的代码设计逻辑,读懂他人的思想。 多积累经验,理解用户核心诉求,保持空杯心态,认同他人。 1.2 大局观念,保持好奇心和韧性 理论结合实际,架构不等于框架。 明确什么需要迭代,什么不需要,搞明白系统的全貌。 持续地学习,保持好奇心,看见新科技与思想,先认同它,体会它,理解它产生的需求背景与技术脉络,融入自己的知识体系。 学习需要韧性,不是所有技术都值得深耕,明确自己的兴趣...
Kubefed - Sync Controller
透视 kubefed 源码 — Sync ControllerKubeFedSyncController 的主要功能是同步联邦中的联邦资源状态。 因为 Sync 控制器监控的 CRD 是 FTC 控制器创建出来的,所以我们找不到一个具体的CRD API Types 定义,我们可以直接看看 CR 长什么样子: 12345678910111213141516171819202122232425262728293031323334353637383940apiVersion: types.kubefed.io/v1beta1kind: FederatedDeploymentmetadata: ...
Kubefed - FTC Controller
透视 kubefed 源码 —— FTC Controllerkubefed 中的 FederatedTypeConfig(FTC) 是用于联邦资源到 kubernetes 集群资源的映射关系,以便让联邦可以管控各个集群里的API资源对象。 和之前一样,我们先看看API资源长什么样: 123456789101112131415161718192021222324252627282930apiVersion: core.kubefed.io/v1beta1kind: FederatedTypeConfigmetadata: creationTimestamp: "2020-05-31T0...
Kubefed - ClusterController
透视 kubefed 源码 —— ClusterControllerkubefed 其实是用 kubebuilder v1 脚手架做的,所以源代码看起来不是那么困难,首先来看看kubefed的集群管理是怎么做到的。 1.kubefed 中的集群资源先来看看 kubefed 里定义的集群资源长什么样子: 123456789101112131415161718192021222324apiVersion: core.kubefed.io/v1beta1kind: KubeFedClustermetadata: creationTimestamp: "2020-05-31T09:31:20Z...
Kubernetes Storage
Kubernetes 持久化存储Kubernetes 项目中涉及存储最多的2个概念即是 Persistent Volume(PV)和 Persistent Volume Claim(PVC),这两个概念形成的kubernetes的持久化存储体系。 PV 与 PVC Persistent Volume(PV)即持久化存储卷,他是实现创建好的一个已经挂载在宿主机上的目录,示例定义如下: 12345678910111213apiVersion: v1kind: PersistentVolumemetadata: name: nfsspec: storageClassName: manua...
Kubernetes's API
Kubernetes 声明式 APIKubernetes 项目中,一个API 对象在 Etcd 里的完整资源路径由:Group(API 组)、Version(API 版本)和 Resource (API 资源类型)三部分组成。 通过该图可以清楚看见 kubernetes 里 API 组织方式是层层递进的。 123apiVersion: batch/v2alpha1kind: CronJob... 当Group和完整的版本保证后,kind标识版本下的对象,此时APIServer 就可以创建这个对象了。 首先发起 创建 CronJob 的 Post 请求后,我们编写的 YAML 的信息就...
Istio's traffic management
Istio 流量管理使用 Istio 的流量管理模型,本质上是将流量与基础设施扩容解耦,让运维人员可以通过 Pilot 指定流量遵循什么规则,而不是指定哪些 pod/VM 应该接收流量——Pilot 和智能 Envoy 代理会帮我们搞定。因此,例如,您可以通过 Pilot 指定特定服务的 5% 流量可以转到金丝雀版本,而不必考虑金丝雀部署的大小,或根据请求的内容将流量发送到特定版本。 将流量从基础设施扩展中解耦,这样就可以让 Istio 提供各种独立于应用程序代码之外的流量管理功能。 除了 A/B 测试的动态请求路由,逐步推出和金丝雀发布之外, 它还使用超时、重试和熔断器来处理故障恢复...
Views about the struct of istio
浅谈 Istio 架构​ 使用云平台可以为组织提供丰富的好处。然而,不可否认的是,采用云可能会给 DevOps 团队带来压力。开发人员必须使用微服务以满足应用的可移植性,同时运营商管理了极其庞大的混合和多云部署。 ​ 在较高的层次上,Istio 有助于降低这些部署的复杂性,并减轻开发团队的压力。它是一个完全开源的服务网格,可以透明地分层到现有的分布式应用程序上。它也是一个平台,包括允许它集成到任何日志记录平台、遥测或策略系统的 API。Istio 的多样化功能集使您能够成功高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。 什么是服务网格?​ 服务网格...
Install Istio using helm
使用 Helm 安装 istio v1.1一、下载 Istio1、你可以通过以下官方提供的脚本安装最新版本的 istio,也可以通过设置ISTIO_VERSION对应的版本安装指定版本的 istio: 1$ curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.0 sh - 执行完毕您将看见如下输出: 12345678910111213 % Total % Received % Xferd Average Speed Time Time Time Current ...
Install Helm for k8s
为 Kubernetes 集群安装 HelmStep1: 使用官方提供的脚本安装 Helm:使用以下命令安装 Helm: 123curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.shchmod 700 get_helm.sh./get_helm.sh 在命令行执行: 1helm 如果你看见以下输入说明 Helm 安装成功: 123456789101112131415161718192021222324252627282930The Kubernetes package ma...
avatar
Linus Lee
Coding everything.