k3s containerd cilium hubble 集群快速上手

  • 使用本文前,必须清楚熟悉 k8s ,熟练使用 k8s,清楚 CNI (Container Network Interface) 概念和原理
  • 本文是针对集群部署,目标是使用 cilium ,用以提升网络工作负载 ,服务的可见性,可维护性的实验,作为 k8s 使用 eBPF 的验证环境使用,不能作为生产环境配置
  • 集群中,从网络上是全部等效可见的,因为集群内 cilium-agent ( 简写 cilium-ag) 可以不需要 管理平面或操作运维平面 Cilium Operator 导致
  • 但是在物理平面或操作运维平面上还是分 server ( 管理服务节点) 和 agent(工作负载节点)

k3s 是 rancher 开源的一个 Kubernetes 发行版,并且对宿主的运行要求非常低,非常适合做 k8s 实验环境,和边缘技术服务的基建

线程模型 线程切换成本

首先明确进程与进程的基本概念:

  • 进程是资源分配的基本单位
  • 线程是CPU调度的基本单位
  • 一个进程下可能有多个线程
  • 多个线程共享进程的资源

不同的 OS 进程 和 线程是实现细节不一样的

特别是 用户态和内核态 区别非常大

memgraph 本地学习环境部署

开源 图数据库,专为 实时流数据构建,兼容 Neo4j

使用授权是 the Business Source License 1.1 (BSL)

企业版是 额外提供权限管理功能,详细见官网

注意:

docker 镜像 tag 特殊字符解释

基于 alpinelinux 制作的镜像

apline是Alpine Linux操作系统,它是一个独立发行版本,相比较Debian操作系统来说Alpine更加轻巧,而通过Docker镜像搭建微服务倡导的就是一个“轻量级”概念,所以很多语言、应用也都发布了Alpine版本的Docker基础镜像

异步编程-阻塞&非阻塞

异步是必须系统提供并行或者并发的能力才能做到的,没有并行或者并发的系统不支持异步编程

所谓同步和异步,本质上区别是:逻辑请求发出后,是否需要等待结果,才能继续执行操作

是多个逻辑结构的编程设计模式,异步实现的依赖

多任务在同一个时刻同时执行,必须要求多个执行主体,比如多核CPU或者多CPU,每个核心独立执行一个任务,多个任务同时执行,不需要切换