Blog

istio 1.10学习笔记08: Istio流量管理之TCP流量转移

2021-07-25
Istio

上一节我们学习了使用Istio Gateway将集群内的http服务暴露到集群外部。 Istio Gateway在接入集群外部流量时与K8S的Ingress类似istio-ingressgateway组件相当于k8s里的ingress-controller。 Istio Gateway对于K8S的不同之处在于在Istio Gateway资源中只定义对外暴露的端口、协议、域名,对于路由信息需要使用Istio的虚拟服务VirtualService的路由规则来配置,这样就可以将Istio提供的各种各样的功能应用到接入集群的流量上。

...

重学容器26: Dockerfile代码规范检测工具hadolint

2021-07-25
Containerd

上一节学习了一些实际工作中编写Dockerfile的实践经验,本节给大家推荐一款Dockerfile的代码规范检查工具hadolint。 hadolint的项目地址是https://github.com/hadolint/hadolint,它是一个智能的Dockerfile linter,帮助检查Dockerfile的编写是否满足最佳实践的规范。hadolint将Dockerfile解析为一个AST抽象语法树,并在AST之上执行规则。它是基于ShellCheck检查RUN指令中的Bash代码的。

...

重学容器25: 编写Dockerfile的一些实践经验

2021-07-24
Containerd

前面2节学习了容器存储挂载的基础知识,本节开始学习容器镜像构建相关知识。 当使用Containerd作为容器运行时,我们构建容器镜像的工具链发生了变化,前面在《第11节,容器镜像构建工具和方案介绍》中介绍了替代docker build的一些方案。 我们在实际中选择的是buildkit。关于buildkit,分别在《第5节,使用nerdctl + buildkitd构建容器镜像》《第12节,使用buildkit实现容器镜像的远程构建,《第13节,在k8s集群上部署buildkit 》做了详细的介绍。

...

istio 1.10学习笔记07: 使用Istio Gateway将外部流量接入到服务网格

2021-07-22
Istio

在Kubernetes中提供了Ingress用来接入集群外部的流量,将集群内部的Service暴露到集群外部。 而Istio提供了另一个配置模型Istio Gateway,使用Istio Gateway同样可以将服务暴露到服务器网格之外,它还允许我们将Istio的功能(诸如:监控和路由规则等)应用到进入集群的流量上。

...

重学容器23: Containerd容器存储挂载简介

2021-07-21
Containerd

通过前面14~22节内容,结合Containerd学习了容器网络的一些基础知识,包括容器网络接口CNI以及Calico网络方案的一些内容。 从本节将学习容器持久化存储的相关知识。

容器的本质是一种特殊的进程,它使用namespace进行隔离,使用cgroup进行资源限制,并且以联合文件系统的形式挂载了单独的rootfs。 Containerd默认配置的snapshotter是overlayfs,overlayfs是联合文件系统的一种实现,overlayfs将只读的镜像层成为lowerdir,将读写的容器层成为upperdir,最后联合挂载呈现出mergedir。 容器中新写入的文件默认存储在容器的执行层,当容器被删除时,这些数据也就丢失了。如果想要在容器被删除后保留之前创建的文件,就需要将文件保存在宿主机上。

...

istio 1.10学习笔记06: 使用Istio对服务进行流量管理之流量转移

2021-07-20
Istio

上节内容学习了istio流量管理API的两个资源对象虚拟服务VirtualServiceDestinationRule目标规则。这里先复习一下:

  • 虚拟服务是客户端请求服务的地址,通过在虚拟服务上配置路由(route),路由的目标(destination)指向k8s中的Service,即虚拟服务用来配置如何将流量路由到目标地址(如k8s的Service)。 虚拟服务的路由规则可以在流量端口、header 字段、URI 等内容上设置匹配条件,将流量路由到适当的目标;同时还可以在流量上执行一些操作,例如添加删除header、重写URL、为调用这一目标地址的请求设置重试策略等。
  • 目标规则可以为目标地址(如k8s的Service)指定命名的服务子集(例如按版本为给定服务的实例分组,然后可以在虚拟服务的路由规则中使用这些服务子集来控制到不同服务实例的流量); 还可以在调用这个目标服务或特定子集时定制Envoy的流量策略(例如负载均衡策略、TLS安全模式或熔断器设置)。

istio-virtualservices-and-destinationrules.png

...

重学容器22: Calico网络的基本概念

2021-07-19
Containerd, Cni, Calico

通过前面2节完成了calico node集群的二进制部署,并在集群各个节点上部署calico cni插件,测试了calico cni插件与containerd的集成。 本节将学习Calico网络的一些基本概念。

Calico Node的核心组件 #

Calico是一个纯三层的虚拟网络,Calico为每个容器分配一个ip,每个宿主机(Calico Node)都是一个虚拟路由器,将不同宿主机的容器连接起来,实现容器间跨主机通信。

...

© 2024 青蛙小白