背景说明

在默认情况下,Kubernetes中的容器只能申请Cpu和Memory这两种资源。为了能够扩展更多的硬件资源,尤其是一些用户自定义的硬件,同时保证Kubelet本身的松耦合,Kubernetes提供了一种device plugin的机制。

1
2
3
4
5
6
7
resources:
requests:
memory: "1024Mi"
cpu: "100m"
limits:
memory: "2048Mi"
cpu: "200m"

阅读更多

配置Kubernetes Pod使用代理上网

在企业网络环境中进行Kubernetes集群的管理时,经常会遇到需要配置Pods通过HTTP代理服务器访问Internet的情况。这可能是由于各种原因,如安全策略限制、网络架构要求或者访问特定资源的需要。本文将介绍配置Kubernetes中Pod使用代理的两种常见方式:通过ConfigMap和直接在应用程序环境变量中设置。

阅读更多

问题背景

传统的 kubernetes apiserver 请求访问链路为客户端直连 apiserver,为了做 apiserver 高可用,通常我们会给 apiserver 前端再套一层4层或7层代理做多个 apiserver 实例的负载均衡。

在我们的场景下,使用了 istio 的 ingressgateway 作为 client -> apiserver 这条链路中的7层代理。链路变成了 client -> ingressgateway -> apiserver ,gateway 暴露 80 端口供客户端访问, 同时通过 istio virtualService + destinationRule 规则配置 gateway 能通过域名访问到 apiserver 6443 端口,从而实现流量路由。

阅读更多

本文引自这里

该文章刊登在《腾讯云容器团队》博客上,由于网站很久不更新,担心这些好文章之后会被下架,所以做下记录。

前言

本文主要通过深入学习k8s attach/detach controller源码,了解现网案例发现的attach/detach controller bug发生的原委,并给出解决方案。

看完本文你也将学习到:

  • attach/detach controller的主要数据结构有哪些,保存什么数据,数据从哪来,到哪去等等;
  • k8s attach/detach volume的详细流程,如何判断volume是否需要attach/detach,attach/detach controller和kubelet(volume manager)如何协同工作等等。

阅读更多

Linux 系统的一般的文件系统名称类似于 /dev/sda1/dev/hda1,但是今天在进行系统维护的时候,利用 df -h 命令敲出了 /dev/mapper/VolGroup-lv_root/dev/mapper/Volume-lv_home 两个文件系统名,不解,在网上查找资料后,在此浅谈 /dev/mapper 目录。

阅读更多

Istio 中的 CR 资源 VirtualServiceGateway 都存在 hosts 属性,而且 VirtualService.spec.http.route. destination.host 也存在 host 字段,这些字段容易让人混淆,特以此做一解释和区分。

VirtualService

hosts

VirtualService 定义了一系列针对指定服务的流量路由规则。每个路由规则都针对特定协议的匹配规则。如果流量符合这些特征,就会根据规则发送到服务注册表中的目标服务(或者目标服务的子集或版本)。

阅读更多

可以通过 mount --bind 命令来将两个目录连接起来,mount --bind 命令是将前一个目录挂载到后一个目录上,所有对后一个目录的访问其实都是对前一个目录的访问,如下所示:

阅读更多