目录一、环境准备1、硬件准备(虚拟主机)2、操作系统版本3、硬件配置4、网络二、注意点1、主机命名格式2、网络插件 flannel 镜像拉取2.1、主机生成公私钥2.2、为啥有 Github 还用 Gitee2.3、将主机公钥添加到 Gitee2.3.1、复制主机上的公钥2.3.2、登录码云2.3. ...
1. 引言 在如今的技术世界中,随着微服务架构的广泛应用和云原生理念的兴起,应用程序的开发、部署和管理发生了翻天覆地的变化。容器技术的出现使得开发者可以轻松地将应用及其所有依赖打包在一个轻量级、可移植的容器中,这种方式大大提升了应用的部署效率和一致性。然而,随着应用规模的扩大和微服务数量的增加,管理 ...
目录一、为什么需要 Ingress二、什么是Ingress,Ingress Controller三、Ingress 的工作原理四、Ingress 配置资源模版五、实例1、搭建 Ingress 环境1.1、Ingress-Nginx官网地址1.2、master 节点下载 deploy.yaml1.3、 ...
目录一、为什么需要 Service二、Kubernetes 中的服务发现与负载均衡 -- Service三、用例解读1、Service 语法2、创建和查看 Service四、Headless Service五、集群内访问 Service六、向集群外暴露 Service七、操作示例1、获取集群状态信息 ...
1. ArgoCD 的架构 ArgoCD 是一个 Kubernetes 原生的持续交付工具,它通过监控 Git 仓库中的应用定义来自动部署应用到 Kubernetes 集群。其核心架构由以下几个关键组件构成: API Server: ArgoCD 的 API 入口,提供了外部接口以便用户或外部工具与 ...
在Kubernetes(k8s)的世界里,Pod是最基本的部署单元,它可能包含一个或多个容器。如何将这些Pod调度到集群中的适当节点上,是一个至关重要的问题。Kubernetes提供了多种调度策略,以确保Pods能够高效、稳定地运行。本文将详细介绍四种常见的Kubernetes Pod调度方式。 1 ...
什么是 Argo CD? Argo CD 是一个声明式的 GitOps 持续交付工具,用于 Kubernetes 集群。它通过持续监控 Git 仓库中的 Kubernetes 资源配置文件,将这些配置自动应用到指定的 Kubernetes 集群中,确保集群的实际状态与仓库中的配置保持一致。Argo ...
在 Kubernetes (k8s) 中,资源请求(Requests)和资源限制(Limits)是 Pod 配置中用于描述资源需求和限制的关键参数。这些参数帮助 Kubernetes 调度器做出决策,以确保 Pod 能够获得所需的资源,并且不会消耗超出其分配的资源。这些参数也与 Pod 的服务质量( ...
目录一、概述二、引入"有状态"需求1、管理无状态服务的 Deployment 实现了什么1.1、创建 Deployment1.2、验证 Pod 数量1.3、配置更新策略(更新镜像版本)1.4、观察更新过程1.5、验证更新后 Pod 的状态1.6、回滚 Deployment2、新需求分析三、State ...
线上集群中,业务跑着跑着,突然发现有个Pod上出现大量错误日志,其他的Pod是正常的,该如何处理呢? 直接删除Pod? 这样不便于保留现场,可能会影响判断问题的根因 让业务方忍一会,先排查下问题? 会被喷死 最好的方案是既让Pod停止接收流量,又保留Pod 思路: 停止接收流量 停止接收流量这个动作 ...
一、安装docker(目前登录的是root用户) 1、下载 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 本次使用 20.10.9版本 2、解压 tar xfz docker-20.10.9.tgz 3、复制到 ...
概述 K3s 是一个轻量级的 Kubernetes 发行版,能以较少的代价快速搭建一个生产可用的 K8s 集群。参考:K3s - 轻量级 Kubernetes | Rancher文档 本文介绍的是通过其提供的“安装脚本”的方式搭建 K3s 的方法,并结合实际生产使用经验进行相关的配置。 准备工作 明 ...
目录一、CSI Driver 如何注册到 kubelet 的1、启动 CSI Node Server2、启动 Node Driver Registrar3、Node Driver Registrar 获取 CSI Plugin 信息4、Kubelet 发现 Node Driver Registrar ...
目录一、背景二、CSI 是什么三、CSI 系统架构1、CSI 如何与 k8s 组件相互通信2、CSI 由哪些组件组成3、CSI 的工作原理4、k8s 存储中涉及的组件及其作用4.1、Sidecar Containers4.1.1、external-attacher4.1.2、external-pro ...
前言 因宿主机内核版本限制和垂直伸缩特性的需要,安装的k8s版本为1.25,runtime为containerd,cni为calico。 containerd、kubeadm、kubelet也可以用包管理器来安装,因为不想配repo,也不想校验repo版有哪些区别,所以这几个都是用原生二进制方式安装 ...
一、需求 Kubernetes 的命名空间主要用于组织和隔离资源,但默认情况下,不同命名空间中的 Pod 之间是可以相互通信的。为了实现更严格的网络隔离,同一套k8s需要根据不同的命名空间进行网络环境隔离,例如开发(dev01)测试(test01)环境。Network Policies 是 Kube ...
apisix的k8s服务发现配置 命名空间权限是基于Kubernetes RBAC能力的授权,通过权限设置可以让不同的用户或用户组拥有操作不同Kubernetes资源的权限。Kubernetes RBAC API定义了四种类型:Role、ClusterRole、RoleBinding与Cluster ...
背景 Terraform是一款开源的Cli工具,网上的很多文章都是单机安装一个然后创建个目录就去操作云资源;如果在高可用的前提,如何将Terraform cli变成一个嵌入运维流程的一个组件?不仅仅是人编写tf模板然后去apply? 自动化的驱动Terraform,无非包含这几个步骤: 初始化Ter ...
通过Terraform创建云主机时,在某些业务场景下,一个机器需要挂载多个云盘,一般云厂商都是单独创建云主机和云硬盘然后通过attachment的资源去挂载,因此我们的模板大致如下: resource "tencentcloud_instance" "basic" { instance_name = ...
介绍 Webhook就是一种HTTP回调,用于在某种情况下执行某些动作,Webhook不是K8S独有的,很多场景下都可以进行Webhook,比如在提交完代码后调用一个Webhook自动构建docker镜像 准入 Webhook 是一种用于接收准入请求并对其进行处理的 HTTP 回调机制。 可以定义两 ...