目录 一、为什么需要Service 二、Kubernetes中的服务发现与负载均衡-Service 三、用例解读 1、Service语法 2、创建和查看Service 四、HeadlessService 五、集群内访问Service 六、向集群外暴露Service 七、操作示例 1、获取集群状态信息 2、创建Service、Deployment 3、创建客户端的测试Pod 4、集群内访问Service的三种方式 4.1、直接通过Service的clusterIP访问 4.2、直接访问Service名 4.3、通过环境变量访问 5、集群外部访问服务 5.1、NodePort...

  tAaiqedz71Vf   3天前   14   0   0 Kubernetes

1.ArgoCD的架构 ArgoCD是一个Kubernetes原生的持续交付工具,它通过监控Git仓库中的应用定义来自动部署应用到Kubernetes集群。其核心架构由以下几个关键组件构成: APIServer:ArgoCD的API入口,提供了外部接口以便用户或外部工具与ArgoCD进行交互。APIServer同时也是WebUI的后台服务。 RepositoryServer:负责与Git仓库交互。它从仓库中拉取应用定义,并将这些定义转化为Kubernetes清单文件。RepositoryServer会缓存从Git仓库中获取的文件,以加快后续的操作。 Controller:核心控制器,持续监控...

  OaxsuEwyxUZi   9天前   21   0   0 Kubernetes

什么是ArgoCD? ArgoCD是一个声明式的GitOps持续交付工具,用于Kubernetes集群。它通过持续监控Git仓库中的Kubernetes资源配置文件,将这些配置自动应用到指定的Kubernetes集群中,确保集群的实际状态与仓库中的配置保持一致。ArgoCD支持各种Kubernetes清单格式,如Kustomize、HelmCharts、Ksonnet、YAML和JSON,允许你通过Git仓库管理和部署Kubernetes资源。 ArgoCD的好处 声明式管理:ArgoCD采用声明式的管理方式,开发者只需在Git仓库中定义好应用的期望状态,ArgoCD就会自动将集群的实际状态...

  OaxsuEwyxUZi   10天前   29   0   0 Kubernetes

在Kubernetes(k8s)的世界里,Pod是最基本的部署单元,它可能包含一个或多个容器。如何将这些Pod调度到集群中的适当节点上,是一个至关重要的问题。Kubernetes提供了多种调度策略,以确保Pods能够高效、稳定地运行。本文将详细介绍四种常见的KubernetesPod调度方式。 1.默认调度 默认调度是Kubernetes中最基础的调度方式。当一个Pod被创建时,如果没有指定任何特殊的调度指令,它将由Kubernetes调度器自动调度到集群中的某个节点上。调度器会考虑多个因素,如节点的资源使用情况(CPU、内存)、节点的选择器标签、污点和容忍度等,以找到一个最合适的节点。 2....

  kZLEadpmxZsY   10天前   29   0   0 Kubernetes

目录 一、背景 二、CSI是什么 三、CSI系统架构 1、CSI如何与k8s组件相互通信 2、CSI由哪些组件组成 3、CSI的工作原理 4、k8s存储中涉及的组件及其作用 4.1、SidecarContainers 4.1.1、external-attacher 4.1.2、external-provisioner 4.1.3、external-resizer 4.1.4、external-snapshotter 4.1.5、livenessprobe 4.1.6、node-driver-registrar 4.1.7、cluster-driver-registrar(已弃用...

  tAaiqedz71Vf   11天前   32   0   0 Kubernetes

目录 一、CSIDriver如何注册到kubelet的 1、启动CSINodeServer 2、启动NodeDriverRegistrar 3、NodeDriverRegistrar获取CSIPlugin信息 4、Kubelet发现NodeDriverRegistrar 5、Kubelet获取NodeServer信息 6、更新Node和CSINode对象 7、通知注册状态 一、CSIDriver如何注册到kubelet的 1、启动CSINodeServer CSINodeServer启动,CSIplugin(CSIdriver)创建UnixDomainSocket(cs...

  tAaiqedz71Vf   11天前   34   0   0 Kubernetes

概述 K3s是一个轻量级的Kubernetes发行版,能以较少的代价快速搭建一个生产可用的K8s集群。参考:K3s轻量级Kubernetes|Rancher文档 本文介绍的是通过其提供的“安装脚本”的方式搭建K3s的方法,并结合实际生产使用经验进行相关的配置。 准备工作 明确K3s版本 K3s安装脚本会默认使用“stable”的发布Channel来确定要安装的版本,如果没有特殊要求,保持默认值即可。参考:基础升级|Rancher文档 如果之后需要在K3s上搭建Rancher,则需要使用受Rancher支持的K3s版本,请参考https://www.suse.com/suse-rancher/s...

  i1nKElTOJkTC   11天前   32   0   0 Kubernetes

一、安装docker(目前登录的是root用户) 1、下载https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 本次使用20.10.9版本 2、解压 tarxfzdocker-20.10.9.tgz 3、复制到/usr/bin cp-rfdocker//usr/bin/ 4、将docker注册为系统服务 vi/usr/lib/systemd/system/docker.service 写入内容 点击查看内容 [Unit] Description=DockerApplicationContainerEngin...

  4FLBy2j39gCK   11天前   32   0   0 Kubernetes

线上集群中,业务跑着跑着,突然发现有个Pod上出现大量错误日志,其他的Pod是正常的,该如何处理呢? 直接删除Pod? 这样不便于保留现场,可能会影响判断问题的根因 让业务方忍一会,先排查下问题? 会被喷死 最好的方案是既让Pod停止接收流量,又保留Pod 思路: 停止接收流量 停止接收流量这个动作是通过Pod的label来实现的,通过修改label来实现。其实本质就是把Pod从endpoint中移除,这样无论是服务化,还是http都会把当前这个节点移除,不再转发流量。当然,这里的前提是服务化和http的节点发现是基于k8s的endpoint来实现的(理论上大家都会这么干,不排除有...

  T6k7XVSIeR3X   11天前   30   0   0 Kubernetes

目录 一、概述 二、引入"有状态"需求 1、管理无状态服务的Deployment实现了什么 1.1、创建Deployment 1.2、验证Pod数量 1.3、配置更新策略(更新镜像版本) 1.4、观察更新过程 1.5、验证更新后Pod的状态 1.6、回滚Deployment 2、新需求分析 三、StatefulSet:面向有状态应用管理的控制器 1、创建Service、Statefulset 2、Service、StatefulSet状态 3、Pod、PVC状态 4、Pod的版本控制 5、更新镜像 6、查看新版本的状态 7、如何查看Pod是否复用了之前的网络标识 8、如何查...

  tAaiqedz71Vf   11天前   37   0   0 Kubernetes

在Kubernetes(k8s)中,资源请求(Requests)和资源限制(Limits)是Pod配置中用于描述资源需求和限制的关键参数。这些参数帮助Kubernetes调度器做出决策,以确保Pod能够获得所需的资源,并且不会消耗超出其分配的资源。这些参数也与Pod的服务质量(QualityofService,QoS)分类有关。 CPU请求(CPURequest) CPU请求是指Pod需要的最小CPU资源量。Kubernetes调度器会确保每个Pod至少获得其请求的CPU资源量。 单位:通常是CPU时间的分数,如100m(即0.1核心)。 CPU限制(CPULimit) CPU限制是指P...

  kZLEadpmxZsY   11天前   51   0   0 Kubernetes

前言 因宿主机内核版本限制和垂直伸缩特性的需要,安装的k8s版本为1.25,runtime为containerd,cni为calico。 containerd、kubeadm、kubelet也可以用包管理器来安装,因为不想配repo,也不想校验repo版有哪些区别,所以这几个都是用原生二进制方式安装的。 环境信息 IP Hostname OSVersion KernelVersion Comment 192.168.0.11 node1 centos7.9 3.10 controlpanel 192.168.0.12 node2 centos7.9 3.10 workerno...

  25xeEEK55E62   19天前   45   0   0 Kubernetes

背景 Terraform是一款开源的Cli工具,网上的很多文章都是单机安装一个然后创建个目录就去操作云资源;如果在高可用的前提,如何将Terraformcli变成一个嵌入运维流程的一个组件?不仅仅是人编写tf模板然后去apply? 自动化的驱动Terraform,无非包含这几个步骤: 初始化Terraform 填充资源模板 apply资源 show资源 初始化Terraform 创建一个云资源目录,如cloudxxx-test001云资源的目录下需要有Terrafor的Provider信息,以及实例声明信息。创建好了模板文件,就需要初始化Terraform,以及下载Provider插件,建...

  T6k7XVSIeR3X   22天前   41   0   0 Kubernetes

apisix的k8s服务发现配置 命名空间权限是基于KubernetesRBAC能力的授权,通过权限设置可以让不同的用户或用户组拥有操作不同Kubernetes资源的权限。KubernetesRBACAPI定义了四种类型:Role、ClusterRole、RoleBinding与ClusterRoleBinding,这四种类型之间的关系和简要说明如下: Role:角色,其实是定义一组对Kubernetes资源(命名空间级别)的访问规则。 RoleBinding:角色绑定,定义了用户和角色的关系。 ClusterRole:集群角色,其实是定义一组对Kubernetes资源(集群级别,包含全部命...

  2xk0JyO908yA   22天前   33   0   0 Kubernetes

一、需求 Kubernetes的命名空间主要用于组织和隔离资源,但默认情况下,不同命名空间中的Pod之间是可以相互通信的。为了实现更严格的网络隔离,同一套k8s需要根据不同的命名空间进行网络环境隔离,例如开发(dev01)测试(test01)环境。NetworkPolicies是Kubernetes提供的一种机制,用于控制Pod间的网络流量。你可以为每个命名空间定义NetworkPolicies来限制Pod之间的通信。 二、相关解释 spec.PodSelector 它是pod选择器,基于标签选择与NetworkPolicy处于同一namespace下的pod,如果pod被选中,则对其应用...

  4KVYBazvLRf3   22天前   37   0   0 Kubernetes

介绍 Webhook就是一种HTTP回调,用于在某种情况下执行某些动作,Webhook不是K8S独有的,很多场景下都可以进行Webhook,比如在提交完代码后调用一个Webhook自动构建docker镜像 准入Webhook是一种用于接收准入请求并对其进行处理的HTTP回调机制。可以定义两种类型的准入Webhook,即验证性质的准入Webhook和变更性质的准入Webhook。变更性质的准入Webhook会先被调用。它们可以修改发送到API服务器的对象以执行自定义的设置默认值操作。 在完成了所有对象修改并且API服务器也验证了所传入的对象之后,验证性质的Webhook会被调用,并通过拒绝请求的...

  T6k7XVSIeR3X   27天前   39   0   0 Kubernetes

通过Terraform创建云主机时,在某些业务场景下,一个机器需要挂载多个云盘,一般云厂商都是单独创建云主机和云硬盘然后通过attachment的资源去挂载,因此我们的模板大致如下: resource"tencentcloud_instance""basic"{ instance_name=var.instance_name password="xxx" } resource"tencentcloud_cbs_storage""storage"{ for_each=var.data_disks storage_name=each.key storage_type=each.value.dis...

  T6k7XVSIeR3X   27天前   53   0   0 Kubernetes

Prometheus作用: Prometheus监控(PrometheusMonitoring)是一种开源的系统监控和警报工具。它最初由SoundCloud开发并于2012年发布,并在2016年加入了云原生计算基金会(CNCF)。Prometheus监控旨在收集、存储和查询各种指标数据,以帮助用户监视其应用程序和系统的性能和运行状态。 部署流程: 本文采用Prometheus来监控k8s集群资源状态,并解决alertmanager9093端口连接拒绝的问题 1.根据k8s集群版本下载对应矩阵的Prometheus版本 我的k8s集群版本为1.26.9,所以我下载0.13版本 wgethtt...

  bOOOWK2xazOA   28天前   25   0   0 Kubernetes

什么是Packer Packer是一个强大的工具,它可以帮助我们轻松地构建各种类型的镜像,如虚拟机镜像、Docker镜像等。 Packer的工作原理是通过定义一个配置文件,该文件描述了要构建的镜像的特征和要求。然后Packer使用这个配置文件来执行一系列的步骤,例如安装必要的软件、配置系统设置、复制文件等,最终生成一个可用的镜像。 为什么要用Packer 使用Packer构建镜像的好处是多方面的。 可移植性:首先,它提供了一种可重复的、自动化的方式来创建镜像,这意味着我们可以确保每次构建的镜像都是一致的,从而减少了人为错误的风险。其次,Packer支持多种基础设施提供商,如AWS、VMwar...

  T6k7XVSIeR3X   28天前   38   0   0 Kubernetes

目录 一、环境 二、注意事项 1、备份数据 2、跨版本升级 3、支持的版本偏差 3.1、kube-apiserver 3.2、kubeklet 3.3、kube-proxy 3.4、kube-controller-manager、kube-scheduler和cloud-controller-manager 3.5、kubectl 4、升级流程 三、版本升级(补丁版本升级) 1、查看当前版本 2、确定要升级到的版本 3、升级master节点 3.1、升级kubeadm 3.2、验证下载的kubeadm版本是否正确 3.3、验证升级计划 3.4、根据提示,选择合适版本升级 ...

  tAaiqedz71Vf   29天前   162   0   0 Kubernetes
推荐作者 更多

2023-11-08

2023-11-12

2023-11-21

2023-11-01

2023-11-02

2023-11-02

2023-11-02

2023-11-02

2023-11-01

2023-11-02