Kubernetes测试nvidia nccl(IB+GPU)

后续会验证gpu-operator和network-operator的使用 环境kubernetes:1.30 IB驱动版本:MLNX_OFED_LINUX-24.10-1.1.4.0 驱动查看 $ ofed_info -s MLNX_OFED_LINUX-24.10-1.1.4.0 rdma-share-device-plugin安装目前使用的版本应该1.5.2,我直接使用的master分...

Istio外部流量引入

最近公司产品在适配 openshift 平台,想要弃用掉外部 nginx 的代理,决定使用 redhat 认证过的 serviceMesh 来做代理,也就是将k8s集群外部的流量引入集群内。 istio 的 ServiceEntry CRD有这个能力,原理与 svc 和 endpoint 是一样的,将外部流量作为 endpoint 引入 ServiceEntry 中,并赋予自定义域名,就像集...

cert-manager部署和使用

cert-manager是应用于 kubernetes 集群内,用于管理 ssl 证书的组件,包括自签证书和CA机构颁发和续签证书,使用者创建后无需关注证书后续到期时间。初次接触的用户,不要理解为 k8s 的内部 apiserver 证书,这个证书是传递给 ingress、istio等网关给 k8s 内部服务使用 https 暴露应用使用的。 安装https://cert-manager.i...

TKE部署Harbor踩坑记录

腾讯云产品信息

TKE:腾讯云容器服务,Kubernetes 版本:1.24.4,containerd 版本:1.6.9
Helm 版本:helm 3,本文采用 helm 方式部署 Harbor。参考:Helm安装和使用
Harbor 版本:1.11.1
COS:腾讯云对象存储
CFS:腾讯云文件存储(可理解为NFS)

k8s容器内存递增问题排查

公司内所有服务基本容器化结束,全都是Java,所以内存显得也尤为重要,有部分服务的内存交给了开发优化,优化之后,发现容器监控层面的wss会持续增长。这里说下内存的wss和rss,其实之前我也不懂,涉及以下几个概念。 VSS:Virtual Set Size 虚拟耗用的内存(包含与其他进程共享占用的虚拟内存),说实话我查到的资料,这个统计的内存没用,所以没看。RSS:Resident Set...

Kubernetes控制HPA生效时间

对于 Java 等需要预热的语言与框架而言,在容器刚启动的时候,有可能会出现分钟级别的CPU、内存飙高,其可能会造成HPA的误触发。 上面这句原话出自阿里云ACK服务文档,确实也是我在生产中遇到的问题,cpu 给高了吧,有点浪费资源,给低了吧,每次发版启动时就会触发 HPA,也会一直告警,很烦,一开始我以为配置在 HPA 里面,把 HPA 的文档都泛滥了,甚至对于 HPA 的使用更深了,也没...

Helm部署ETCD(备份恢复)

应公司开发要求业务分离需要用到 ETCD 数据库,因为资源问题,也就不申请机器在虚机部署了,准备直接上容器,开发/测试/预生产都上了单节点的 ETCD 对于 ETCD 的容器化部署,官方目前只有 docker 容器的部署方式 https://etcd.io/docs/v3.6/install/ https://github.com/etcd-io/etcd/releases ,有一个 bit...

Kubernetes--StorageClass(二)

之前在学习 storageclass 的时候使用过 nfs-client 的外部存储,原文地址:Kubernetes-StorageClass-动态供给 当时有个 bug,需要修改 apiserver 静态 pod 的配置,今天我使用 1.24.0 的 k8s 集群部署时,仍然有这个 bug,根据当时的方法已经无法解决了,所有找了另一个 nfs 外部存储的方法,项目地址:https://gi...

Kubernetes生产节点缩容方案

受疫情影响,公司收益也大受影响,从我入职以来一直在进行成本缩减,不要问,问就是我没被裁。现在已经轮到 k8s 节点倒霉了,要准备对几台节点进行裁员,由我来进行方案定制 Kubernetes生产节点缩容方案 worker节点数 14 单节点 16c64g 评估各节点 pod 数量和资源使用情况,根据综合比使用各项资源最少的进行缩减规划工作,尽量减少 pod 驱逐后最小化对业务的实际影响,...

Kubernetes---LoadBalancer和ingress

在之前的文章 通过 Service 访问 Pod 集群 中,学习了两种方法做 pod 负载,分别是 ClusterIPNodePort ,也提到了 LoadBalancer,仅仅是提了一嘴。

在正常的生产环境中,当使用了 NodePort 类型暴露服务时,每台集群节点的 nodeport 端口都能够去访问,

kubectl命令小技巧

使用 kubectl 命令时,最烦人的就是频繁的切换命名空间了,查看什么资源都得加命名空间,每次敲命令在习惯也会很烦。今天在网上看到一篇文章,很有用,可以记住上一次使用 kubectl 时操作的命名空间。

Kubernetes节点不login拉取私库镜像

在实际的生产环境中遇到了这样的问题:集群中有大量 k8s 节点,在部署应用时,需要拉取私有仓库(harbor/registry)的私有项目镜像,也就是节点必须 docker login 之后才可以正常拉取到镜像。但是也不可能每个节点都这样去做,或者写脚本把用户密码明文暴露,显然是不合适的

需要将镜像仓库的认证凭据(域名/ip,用户名,密码)保存在 k8s 中

Kubernetes---kubeadm版本升级

Kubernetes 的版本更新迭代算是频繁的了,每个三个月发布一个小版本。为了使集群中一直跟随着版本前进,如果一直不更新,会导致新功能无法使用,落后新版本太多版本,不方便升级。

升级策略

  • 始终保持最新
  • 每半年升级一次,资源会落后社区1~2个小版本(推荐)
  • 一年升级一次,或者更长,落后版本太多

Kubernetes---etcd数据库备份恢复

Kubernetes 无论是二进制搭建还是 kubeadm 搭建的集群,都依赖于 etcd 数据库来进行存储集群数据,安全起见,一定要备份。一旦集群宕机,就会显得备份得多重要。

kubeadm etcd 备份恢复

kubeadm 部署的集群中的 etcd 是以静态容器的方式运行的,静态容器的配置文件存放目录是 /etc/kubernetes/manifests/,且默认 etcd 是单实例,并没有高可用。其实还是建议即使 kubeadm 部署时,也可以使用外部的 二进制部署的高可用 etcd 集群。

Kubernetes网络策略

网络策略(Network Policy),用于限制 Pod 出入流量,提供 Pod 级别和 Namespace 级别网络访问控制。

已知 flannel 目前并不支持网络策略,即使创建了也并不会应用,其它组件在使用网络策略时还请自行了解以下是否支持。

应用场景

  • 应用程序(Pod)间的访问控制。例如微服务 A ,允许访问微服务 B ,微服务 C 不能访问微服务 A
  • 开发环境命名空间不能访问测试环境命名空间 Pod
  • 当 Pod 暴露到外部时,需要做 Pod 白名单
  • 多租户网络环境隔离(使用项目较多)




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0