跳至主要內容
容器概述

容器概述

什么是容器(以 Docker 为例)

Docker 架构

img

Docker 使用 C/S (客户端/服务器)体系的架构,Docker 客户端与 Docker 守护进程(Dockerd)通信,Docker 守护进程负责构建,运行和分发 Docker 容器。Docker 客户端和守护进程可以在同一个系统上运行,也可以将 Docker 客户端连接到远程 Docker 守护进程。Docker 客户端和守护进程使用 REST API 通过 UNIX 套接字或网络接口进行通信。


Clay原创大约 5 分钟云原生容器
CoreDNS 概述及运维实践

CoreDNS 概述及运维实践

概述

什么是 DNS ?

域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。


Clay原创大约 8 分钟云原生coredns
Etcd 概述及运维实践

Etcd 概述及运维实践

Etcd 概述

什么是 Etcd ?

Etcd 是 CoreOS 团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,Etcd基于 Go 语言实现。

名字由来,它源于两个方面,unix的“/etc”文件夹和分布式系统(“D”istribute system)的D,组合在一起表示etcd是用于存储分布式配置的信息存储服务。


Clay原创大约 12 分钟云原生etcd
6 张图带你深入了解 kube-scheduler

6 张图带你深入了解 kube-scheduler

本文目录:

  • kube-scheduler 用途
  • Scheduler Pod 调度流程
  • 源码调用链路
  • Scheduler Framework
  • 如何扩展

kube-scheduler 用途

顾名思义:负责将 Pod 调度到 Node 上。


Clay原创大约 6 分钟云原生Kubernetes
Kubernetes 概述

Kubernetes 概述

什么是 kubernetes

容器编排、调度平台,是一个完备的分布式系统支撑平台。

kubernetes 架构

  • etcd 兼具一致性和高可用性的键值数据库,只有API Server能与其通信;
  • apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
  • controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
  • kubelet 负责维护容器的生命周期,同时也负责 Volume(CSI)和网络(CNI)的管理;
  • container runtime 负责镜像管理以及 Pod 和容器的真正运行(CRI);

Clay原创大约 1 分钟云原生
从0开始装一套 KubeVirt 1.2.1

从0开始装一套 KubeVirt 1.2.1

KubeVirt 架构

架构

  • virt-api : 负责提供一些 KubeVirt 特有的 api,像是 console, vnc, startvm, stopvm 等。
  • virt-controller : 管理和监控 VMI 对象及其关联的 Pod,对其状态进行更新。
  • virt-hander : 以 DaemonSet 运行在每一个节点上,监听 VMI 的状态向上汇报,管理 VMI 的生命周期。
  • virt-launcher : 以 Pod 方式运行,每个 VMI Object 都会对应一个 virt-launcher Pod,容器内有单独的 libvirtd,用于启动和管理虚拟机。

Clay原创大约 6 分钟云原生Kubernetes
故障排查 之 单点登录跳转失败(Ingress 相关)

故障排查 之 单点登录跳转失败(Ingress 相关)

故障现象

单点登录失败,但是其他接口正常

根因分析

问题要点是:单点登录失败,看代码是 request 和 response 的 RedirectUri 不一样导致的。

目前的南北流量架构为:


Clay原创大约 2 分钟云原生Kubernetes
K8s 负载感知调度实践(koordinator & crane)

K8s 负载感知调度实践(koordinator & crane)

上篇 “深入了解 kube-scheduler” ,已经知道 kube-scheduler 的工作流程,以及如何实现自定义插件。koordinator 和 crane 都是基于Scheduler Framework 进行实现的 负载感知插件。本文不再赘述,感兴趣可以看上篇文章。

背景

原生 Kubernetes 调度器仅基于资源的 Request 进行调度,在生产环境资源的真实使用率和申请率往往相差巨大,造成资源浪费的同时也会造成节点的负载不均衡


Clay原创大约 3 分钟云原生Kubernetes
2
3
4
5
6