ZWEI

Time flies.


  • 首页

  • 标签48

  • 分类8

  • 归档113

  • 搜索

容器多网卡Multi-ENI

发表于 2020-09-07 | 更新于 2020-12-30 | 分类于 Kubernetes | 评论数:
本文字数: 310 | 阅读时长 ≈ 1 分钟

方案目的

弹性网卡方案(ENI)性能可以接近vpc原生的网络性能。但是,单台node上pod的数量存在限制;而Multi-ENI方案就是为了解决pod数量限制的问题。

阅读全文 »

容器镜像P2P下载

发表于 2020-08-30 | 更新于 2020-12-30 | 分类于 Kubernetes | 评论数:
本文字数: 8.6k | 阅读时长 ≈ 8 分钟

Dragonfly

简介

Dragonfly是一个基于P2P的智能文件分发系统,用于解决大规模文件分发场景下分发耗时、成功率低、带宽浪费等难题。大幅提升发布部署、数据预热、大规模容器镜像分发等业务能力。

阅读全文 »

k8s集群支持ipv6

发表于 2020-08-19 | 更新于 2020-12-30 | 分类于 Kubernetes | 评论数:
本文字数: 1k | 阅读时长 ≈ 1 分钟

预备环境

kubernetes 从1.16版本开始支持 ipv4/ipv6 双栈,开启 ipv4/ipv6 后,集群pod都会分配ipv4和ipv6两个地址,service 会根据配置的 ipFamily 类型来确定分配的集群ip类型。而且从pod出集群的网络会同时走ipv4和ipv6接口

要支持ipv4/ipv6,需要满足一些必备的要求:

  • kubernetes 版本 1.16 以上
  • 部署集群的云主机支持ipv4/ipv6
  • 网络插件需要支持 ipv4/ipv6
  • kube-proxy 需要运行在 ipvs 模式
阅读全文 »

cilium简介

发表于 2020-08-15 | 更新于 2020-12-29 | 分类于 Kubernetes | 评论数:
本文字数: 1.4k | 阅读时长 ≈ 1 分钟

什么是Cilium

cilium目标是为微服务环境提供网络、负载均衡、安全功能,主要定位是容器平台。Cilium的基础是一种称为BPF的新Linux内核技术,该技术可在Linux自身内部动态插入强大的安全可见性和控制逻辑。由于BPF在Linux内核中运行,因此可以应用和更新Cilium安全策略,而无需更改应用程序代码或容器配置。

阅读全文 »

cilium+hubble安装部署与验证

发表于 2020-08-08 | 更新于 2020-12-29 | 分类于 Kubernetes | 评论数:
本文字数: 1.3k | 阅读时长 ≈ 1 分钟

环境描述

  • cilium 1.8.2(latest版本)
  • Kubernetes 1.17
  • Linux kernel 4.18
  • Helm 3
  • Kubernetes in CNI mode
  • 在所有 worker node 上挂载 BPF 文件系统
阅读全文 »

eBPF动手实践

发表于 2020-07-24 | 更新于 2020-12-29 | 分类于 Kubernetes | 评论数:
本文字数: 1.3k | 阅读时长 ≈ 1 分钟

BCC开发框架部署

安装部署

操作系统版本:ubuntu18.04 64位;
内核版本:Linux vm192-168-0-90 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux;

阅读全文 »

calico如何引入eBPF

发表于 2020-07-19 | 更新于 2020-12-29 | 分类于 Kubernetes | 评论数:
本文字数: 8.9k | 阅读时长 ≈ 8 分钟

前言

calico团队在3.13版本引入了eBPF,这个新的dataplane与传统的linux dataplane有哪些区别呢?

  • 它可以扩展到更高的吞吐量。
  • 每个GBit使用更少的CPU。
  • 它具有对Kubernetes服务的本机支持(无需kube-proxy),该支持:
    • 减少服务数据包的第一个数据包延迟。
    • 一直保留到外部主机的外部客户端源IP地址。
    • 支持DSR(直接服务器返回),以实现更高效的服务路由。
    • 与kube-proxy相比,使用更少的CPU来保持数据平面同步。
阅读全文 »

Leaderelection机制

发表于 2020-07-03 | 更新于 2020-12-29 | 分类于 Kubernetes | 评论数:
本文字数: 7.5k | 阅读时长 ≈ 7 分钟

前言

最近在开发的ingress-controller组件,副本是有状态服务。每个副本将收到的ingress事件进行解析,然后与slb同步。如果同时多个副本运行,势必会造成对slb访问的混乱。因此,同一时刻,只能有一个副本真正在工作。但是,还需要多副本部署方式来保证高可用。
为了解决这个问题,本组件参考kube-scheduler、kube-controller-manager等组件的实现方式,也利用到client-go/tools/leaderelection的选主机制,保证只有leader处于工作状态,并定时进行leader的重新选举或续租。当leader挂掉之后,从其他节点选举新的leader以保证组件正常工作。

阅读全文 »

容器镜像瘦身

发表于 2020-06-29 | 更新于 2020-12-30 | 分类于 Kubernetes | 评论数:
本文字数: 1.4k | 阅读时长 ≈ 1 分钟

前言

当我们在制作docker镜像时,难免会担心镜像的大小,因为,很容易引入一些冗余的信息、文件等。
本文要介绍的就是一种开源的镜像瘦身工具—docker-slim

阅读全文 »

kubernetes 调度器扩展

发表于 2020-06-20 | 更新于 2020-12-29 | 分类于 Kubernetes | 评论数:
本文字数: 3.7k | 阅读时长 ≈ 3 分钟

Kubernetes集群中添加新的调度规则

本文介绍第三种方法。这种方法主要用于需要对非标准Kubernetes调度程序直接管理的资源进行调度决策的场景。扩展程序帮助对这类资源进行调度决策。(注意这三种方式不是互斥的)

有三种办法可以再Kubernetes集群中添加新的调度规则(预选和优选规则):

  1. 添加规则到kube-scheduler源码并重新编译部署, 参考此文档
  2. 实现自定义的调度程序,它可以代替或与标准的kubernetes调度程序同时运行在集群中
  3. 实现一个调度扩展程序,kubernetes 标准调度程序会在进行最后的调度决策前调用它
阅读全文 »
123…12

zwei

Believe in yourself.

113 日志
7 分类
45 标签
  • TangLei
Advertising Position
© 2021 zwei | 站点总字数: 429k | 站点阅读时长 ≈ 6:30
|