ZWEI

Time flies.

运维工程师知识树

作为运维工程师,你需要掌握一系列技能和知识,涵盖了多个领域,从操作系统管理到云计算、自动化和网络等。以下是一个运维工程师学习知识树的一般框架,你可以根据自己的实际情况和兴趣深入研究每个领域:

阅读全文 »

简介

Kube-proxy 是 Kubernetes 集群中的一个关键组件,负责实现 Kubernetes 服务发现和负载均衡。它运行在每个节点上,以确保网络流量正确路由到集群中的服务。
以下是 Kube-proxy 的一些主要功能和特点:

服务代理:Kube-proxy会监视 Kubernetes API Server 中的 Service 和 Endpoints 对象,以了解集群中的服务和其后端 Pod。当有新服务创建或更新时,Kube-proxy会自动更新代理规则,以确保服务可用性。

IP 负载均衡:Kube-proxy通过维护 IP 负载均衡规则,将请求分发到服务的后端 Pod。这有助于实现服务的负载均衡,确保请求能够均匀地分发到多个 Pod 上。

阅读全文 »

ovn-k8s的multi-homing功能介绍

multi-homing功能简介

具有多个网络接口的 K8s Pod被称为 multi-homed。  Network Plumbing Working Group 提出了一个标准,描述如何指定附加网络接口的配置。

有几个插件(Multus、Genie)实现了此标准。

在特定 Kubernetes 节点上调度 pod 后,kubelet 将调用委托插件来准备 pod 的联网。然后,此元插件将调用负责设置 pod 的默认集群网络的 CNI,然后迭代 pod 上的其他附件列表,调用相应的委托 CNI 实现将 pod 附加到该特定网络的逻辑。

阅读全文 »

metallb 介绍

MetalLB是一个为基础 Kubernetes集群提供负载均衡实现的工具,使用标准路由协议。

Kubernetes在基础集群中不提供网络负载均衡器(类型为LoadBalancer的服务)的实现。Kubernetes提供的网络负载平衡器实现都是调用各种IaaS平台(如GCP、AWS、Azure等)的接口代码。如果您没有运行在受支持的IaaS平台上(如GCP、AWS、Azure等),则创建时LoadBalancers将无限期处于“挂起”状态。

在基础集群中,操作员只有两个接口来将用户流量引入他们的集群,“NodePort”和“externalIPs”服务。

这两个选项在生产使用中都有显著的缺点,这使得基础集群成为 Kubernetes 生态系统中的二等公民。

MetalLB旨在通过提供与标准网络设备集成的网络负载均衡器实现来解决这种不平衡,以便基础群集上的external services尽可能“正常工作”。

阅读全文 »

概要目的

本文主要提供本地开发调试 BGP 程序的一个技巧,同时学习 BGP 协议,以及 go 包 gobgp https://github.com/osrg/gobgp

学习 BGP 协议必要性:K8s 容器网络目前我们使用 Cilium/Calico,都是使用 BGP 来宣告路由,使得 pod/service cidr 在 K8s 之外可达。所以,想要了解容器网络,有必要了解 BGP。

阅读全文 »

背景原因

环境为双网卡环境,默认部署使用单一网卡的ip 证书信任, 另外一网卡ip没做证书信任,现在需要重新生成证书来添加ip信任,让apiserver 支持多ip地址访问

备份 kubernetes 目录

cp -r /etc/kubernetes{,-bak}
阅读全文 »

helm3安装方法

使用脚本安装

Helm现在有个安装脚本可以自动拉取最新的Helm版本并在 本地安装

您可以获取这个脚本并在本地执行。它良好的文档会让您在执行之前知道脚本都做了什么。

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

如果想直接执行安装,运行curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash。

阅读全文 »
0%