【k8s、云原生】基于metrics-server弹性伸缩

这篇具有很好参考价值的文章主要介绍了【k8s、云原生】基于metrics-server弹性伸缩。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第四阶段

时  间:2023年8月18日

参加人:全班人员

内  容:

基于metrics-server弹性伸缩

目录

一、Kubernetes部署方式

(一)minikube

(二)二进制包

(三)Kubeadm

二、基于kubeadm部署K8S集群

(一)环境准备

(二)部署kubernetes集群

(三)安装Dashboard UI

(四)metrics-server服务部署

(五)弹性伸缩


一、Kubernetes部署方式

官方提供Kubernetes部署3种方式

(一)minikube

        Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。

官方文档:Install Tools | Kubernetes

(二)二进制包

        从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。目前企业生产环境中主要使用该方式。

下载地址:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#v1113

(三)Kubeadm

        Kubeadm 是谷歌推出的一个专门用于快速部署 kubernetes 集群的工具。在集群部署的过程中,可以通过 kubeadm init 来初始化 master 节点,然后使用 kubeadm join 将其他的节点加入到集群中。

        1、Kubeadm 通过简单配置可以快速将一个最小可用的集群运行起来。它在设计之初关注点是快速安装并将集群运行起来,而不是一步步关于各节点环境的准备工作。同样的,kubernetes 集群在使用过程中的各种插件也不是 kubeadm 关注的重点,比如 kubernetes集群 WEB Dashboard、prometheus 监控集群业务等。kubeadm 应用的目的是作为所有部署的基础,并通过 kubeadm 使得部署 kubernetes 集群更加容易。

        2、Kubeadm 的简单快捷的部署可以应用到如下三方面:

·新用户可以从 kubeadm 开始快速搭建 Kubernete 并了解。

·熟悉 Kubernetes 的用户可以使用 kubeadm 快速搭建集群并测试他们的应用。

·大型的项目可以将 kubeadm 配合其他的安装工具一起使用,形成一个比较复杂的系统。

·官方文档:

Kubeadm | Kubernetes
Installing kubeadm | Kubernetes

二、基于kubeadm部署K8S集群

(一)环境准备

IP地址

主机名

组件

192.168.100.131

k8s-master

kubeadm、kubelet、kubectl、docker-ce

192.168.100.132

k8s-node01

kubeadm、kubelet、kubectl、docker-ce

192.168.100.133

k8s-node02

kubeadm、kubelet、kubectl、docker-ce

注意:所有主机配置推荐CPU:2C+  Memory:2G+

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

1主机初始化配置

所有主机配置禁用防火墙和selinux

[root@localhost ~]# setenforce 0

[root@localhost ~]# iptables -F

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# systemctl stop NetworkManager

[root@localhost ~]# systemctl disable NetworkManager

[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

2、配置主机名并绑定hosts,不同主机名称不同

[root@localhost ~]# hostname k8s-master

[root@localhost ~]# bash

[root@k8s-master ~]# cat << EOF >> /etc/hosts

192.168.100.131 k8s-master

192.168.100.132 k8s-node01

192.168.100.133 k8s-node02

EOF

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@localhost ~]# hostname k8s-node01

[root@k8s-node01 ~]# cat /etc/hosts

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@localhost ~]# hostname k8s-node02

[root@k8s-node02 ~]#cat /etc/hosts

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

3、主机配置初始化

[root@k8s-master ~]# yum -y install vim wget net-tools lrzsz

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# swapoff -a

[root@k8s-master ~]# sed -i '/swap/s/^/#/' /etc/fstab

[root@k8s-master ~]# cat << EOF >> /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

[root@k8s-master ~]# modprobe br_netfilter

[root@k8s-master ~]# sysctl -p

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

4、部署docker环境

1)三台主机上分别部署 Docker 环境,因为 Kubernetes 对容器的编排需要 Docker 的支持。

[root@k8s-master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@k8s-master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

2)使用 YUM 方式安装 Docker 时,推荐使用阿里的 YUM 源。

[root@k8s-master ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)清除缓存

[root@k8s-master ~]# yum clean all && yum makecache fast

4)启动docker

[root@k8s-master ~]# yum -y install docker-ce

[root@k8s-master ~]# systemctl start docker

[root@k8s-master ~]# systemctl enable docker

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

5)镜像加速器(所有主机配置)

[root@k8s-master ~]# cat << END > /etc/docker/daemon.json

{     "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

END

6)重启docker

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl restart docker

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

(二)部署kubernetes集群

1、组件介绍

三个节点都需要安装下面三个组件

kubeadm:安装工具,使所有的组件都会以容器的方式运行

kubectl:客户端连接K8S API工具

kubelet:运行在node节点,用来启动容器的工具

2、配置阿里云yum源

使用 YUM 方式安装 Kubernetes时,推荐使用阿里的 YUM 源。

[root@k8s-master ~]# ls /etc/yum.repos.d/

[root@k8s-master ~]# cat > /etc/yum.repos.d/kubernetes.repo

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

3、安装kubelet kubeadm kubectl

所有主机配置

[root@k8s-master ~]# yum install -y kubelet-1.20.0 kubeadm-1.20.0 kubectl-1.20.0

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# systemctl enable kubelet

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl version

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

        kubelet 刚安装完成后,通过 systemctl start kubelet 方式是无法启动的,需要加入节点或初始化为 master 后才可启动成功。

4、配置init-config.yaml

Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。Kubeadm 配内容是通过 kubeadm config 命令写入配置文件的。

在master节点安装,master 定于为192.168.100.131,通过如下指令创建默认的init-config.yaml文件:

[root@k8s-master ~]# kubeadm config print init-defaults > init-config.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

init-config.yaml配置

[root@k8s-master ~]# cat init-config.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

5、安装master节点

1)拉取所需镜像

[root@k8s-master ~]# kubeadm config images list --config init-config.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubeadm config images pull --config init-config.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

2)安装matser节点

[root@k8s-master ~]# kubeadm init --config=init-config.yaml //初始化安装K8S

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

3)根据提示操作

kubectl 默认会在执行的用户家目录下面的.kube 目录下寻找config 文件。这里是将在初始化时[kubeconfig]步骤生成的admin.conf 拷贝到.kube/config

[root@k8s-master ~]# mkdir -p $HOME/.kube

[root@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

[root@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

        Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

6、安装node节点

1)根据master安装时的提示信息

[root@k8s-node01 ~]# kubeadm join 192.168.100.131:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:78bdd0f01660f4e84355b70aa8807cf1d0d6325b0b28502b29c241563e93b4ae

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl get nodes

[root@k8s-node02 ~]# kubeadm join 192.168.100.131:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:78bdd0f01660f4e84355b70aa8807cf1d0d6325b0b28502b29c241563e93b4ae

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

Master操作:

[root@k8s-master ~]# kubectl get nodes

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

        前面已经提到,在初始化 k8s-master 时并没有网络相关配置,所以无法跟 node 节点通信,因此状态都是“NotReady”。但是通过 kubeadm join 加入的 node 节点已经在k8s-master 上可以看到。

7、安装flannel

        Master 节点NotReady 的原因就是因为没有使用任何的网络插件,此时Node 和Master的连接还不正常。目前最流行的Kubernetes 网络插件有Flannel、Calico、Canal、Weave 这里选择使用flannel。

所有主机:

master上传kube-flannel.yml,所有主机上传flannel_v0.12.0-amd64.tar,cni-plugins-linux-amd64-v0.8.6.tgz

[root@k8s-master ~]# docker load < flannel_v0.12.0-amd64.tar

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

上传插件:

[root@k8s-master ~]# tar xf cni-plugins-linux-amd64-v0.8.6.tgz

[root@k8s-master ~]# cp flannel /opt/cni/bin/

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

master上传kube-flannel.yml

master主机配置:

[root@k8s-master ~]# kubectl apply -f kube-flannel.yml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl get nodes

[root@k8s-master ~]# kubectl get pods -n kube-system

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

已经是ready状态

(三)安装Dashboard UI

1、部署Dashboard

dashboard的github仓库地址:https://github.com/kubernetes/dashboard

代码仓库当中,有给出安装示例的相关部署文件,我们可以直接获取之后,直接部署即可

[root@k8s-master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

        默认这个部署文件当中,会单独创建一个名为kubernetes-dashboard的命名空间,并将kubernetes-dashboard部署在该命名空间下。dashboard的镜像来自docker hub官方,所以可不用修改镜像地址,直接从官方获取即可。

2、开放端口设置

        在默认情况下,dashboard并不对外开放访问端口,这里简化操作,直接使用nodePort的方式将其端口暴露出来,修改serivce部分的定义:

所有主机下载镜像

[root@k8s-master ~]# docker pull kubernetesui/dashboard:v2.0.0

[root@k8s-master ~]# docker pull kubernetesui/metrics-scraper:v1.0.4

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# vim recommended.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

3、权限配置

配置一个超级管理员权限

[root@k8s-master ~]# vim recommended.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl apply -f recommended.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl get pods -n  kubernetes-dashboard

[root@k8s-master ~]# kubectl get pods -A  -o wide

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

4、访问Token配置

使用谷歌浏览器测试访问 https://192.168.100.131:32443

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

        可以看到出现如上图画面,需要我们输入一个kubeconfig文件或者一个token。事实上在安装dashboard时,也为我们默认创建好了一个serviceaccount,为kubernetes-dashboard,并为其生成好了token,

我们可以通过如下指令获取该sa的token:

[root@k8s-master ~]# kubectl describe secret -n kubernetes-dashboard $(kubectl get secret -n kubernetes-dashboard |grep kubernetes-dashboard-token | awk '{print $1}') |grep token | awk '{print $2}'

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

输入获取的token

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

查看集群概况:

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

查看集群roles:

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

查看集群namespaces:

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

查看集群nodes:

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

查看集群pods:

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

(四)metrics-server服务部署

1、在Node节点上下载镜像

heapster已经被metrics-server取代,metrics-server是K8S中的资源指标获取工具

所有node节点上

[root@k8s-node01 ~]# docker pull bluersw/metrics-server-amd64:v0.3.6

[root@k8s-node01 ~]# docker tag bluersw/metrics-server-amd64:v0.3.6 k8s.gcr.io/metrics-server-amd64:v0.3.6

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

2、修改 Kubernetes apiserver 启动参数

在kube-apiserver项中添加如下配置选项 修改后apiserver会自动重启

[root@k8s-master ~]# vim /etc/kubernetes/manifests/kube-apiserver.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

3、Master上进行部署

[root@k8s-master ~]# wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml

修改安装脚本:

[root@k8s-master ~]# vim components.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl create -f components.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

等待1-2分钟后查看结果

[root@k8s-master ~]# kubectl top nodes

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

再回到dashboard界面可以看到CPU和内存使用情况了

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

(五)弹性伸缩

1、弹性伸缩介绍

        HPA(Horizontal Pod Autoscaler,Pod水平自动伸缩)的操作对象是replication controller, deployment, replica set, stateful set 中的pod数量。注意,Horizontal Pod Autoscaling不适用于无法伸缩的对象,例如DaemonSets。

        HPA根据观察到的CPU使用量与用户的阈值进行比对,做出是否需要增减实例(Pods)数量的决策。控制器会定期调整副本控制器或部署中副本的数量,以使观察到的平均CPU利用率与用户指定的目标相匹配。

2、弹性伸缩工作原理

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

        Horizontal Pod Autoscaler 会实现为一个控制循环,其周期由--horizontal-pod-autoscaler-sync-period选项指定(默认15秒)。

        在每个周期内,controller manager都会根据每个HorizontalPodAutoscaler定义的指定的指标去查询资源利用率。 controller manager从资源指标API(针对每个pod资源指标)或自定义指标API(针对所有其他指标)获取指标。

3、弹性伸缩实战

[root@k8s-master ~]# mkdir hpa

[root@k8s-master ~]# cd hpa

创建hpa测试应用的deployment

[root@k8s-master hpa]# vim nginx.yaml

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

使用的资源是: CPU 0.010个核,内存100M

[root@k8s-master hpa]# kubectl apply -f nginx.yaml

[root@k8s-master hpa]# kubectl get pod

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

创建hpa策略

[root@k8s-master hpa]# kubectl autoscale --max=10 --min=1 --cpu-percent=5 deployment hpa-test

[root@k8s-master ~]# kubectl get hpa

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

模拟业务压力测试

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl get pod -o wide

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# while true;do curl -I 10.244.1.4 ;done

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

观察资源使用情况及弹性伸缩情况

[root@k8s-master ~]# kubectl get hpa

[root@k8s-master ~]# kubectl get pod

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

查看cpu情况:

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

将压力测试终止后,稍等一小会儿pod数量会自动缩减到1

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

[root@k8s-master ~]# kubectl get pod

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器

删除hpa策略

[root@k8s-master ~]# kubectl delete hpa hpa-test

[root@k8s-master ~]# kubectl get hpa

【k8s、云原生】基于metrics-server弹性伸缩,云原生,kubernetes,容器文章来源地址https://www.toymoban.com/news/detail-652248.html

到了这里,关于【k8s、云原生】基于metrics-server弹性伸缩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s中top指令使用前提:正确安装metrics-server

     参考引用项目:https://www.cnblogs.com/lfl17718347843/p/14283796.html      Kubernetes Metrics Server 是 Cluster 的核心监控数据的聚合器,kubeadm 默认是不部署的。        确认metrics-server能否被使用的三个前提(验证以及修改方法https://cnblogs.com/lfl17718347843/p/14283796.html): 安装地址: 修改

    2024年01月16日
    浏览(32)
  • K8S--安装metrics-server,解决error: Metrics API not available问题

    原文网址:K8S--安装metrics-server,解决error: Metrics API not available问题-CSDN博客 本文介绍K8S通过安装metrics-server来解决error: Metrics API not available问题的方法。 Metrics Server采用了Kubernetes Metrics API的标准,它使用HTTP接口来暴露度量指标数据,通过轮询来收集这些数据,然后将其存储在

    2024年02月22日
    浏览(32)
  • 24-k8s的附件组件-Metrics-server组件与hpa资源pod水平伸缩

            Metrics-Server组件目的:获取集群中pod、节点等负载信息;         hpa资源目的:通过metrics-server获取的pod负载信息,自动伸缩创建pod; 参考链接: 资源指标管道 | Kubernetes https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/metrics-server GitHub - kubernetes-sigs/metrics-server:

    2024年02月21日
    浏览(30)
  • rancher和k8s接口地址,Kubernetes监控体系,cAdvisor和kube-state-metrics 与 metrics-server

    为了能够提前发现kubernetes集群的问题以及方便快捷的查询容器的各类参数,比如,某个pod的内存使用异常高企 等等这样的异常状态(虽然kubernetes有自动重启或者驱逐等等保护措施,但万一没有配置或者失效了呢),容器的内存使用量限制,过去10秒容器CPU的平均负载等等容

    2024年01月23日
    浏览(31)
  • K8S系统监控:使用Metrics Server和Prometheus

    Kubernetes 也提供了类似的linux top的命令,就是 kubectl top,不过默认情况下这个命令不会生效,必须要安装一个插件 Metrics Server 才可以。 Metrics Server 是一个专门用来收集 Kubernetes 核心资源指标(metrics)的工具,它定时从所有节点的 kubelet 里采集信息,但是对集群的整体性能影

    2024年02月16日
    浏览(29)
  • 【云原生-k8s】kubectl top pod 报错:error: Metrics API not available

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入!

    2023年04月09日
    浏览(29)
  • 滴滴弹性云基于 K8S 的调度实践

    上篇文章详细介绍了弹性云混部的落地历程,弹性云是滴滴内部提供给网约车等核心服务的容器平台,其基于 k8s 实现了对海量 node 的管理和 pod 的调度。本文重点介绍弹性云的调度能力,分为以下部分: 调度链路图 :介绍当前弹性云调度体系链路,对架构体系有一个初步的

    2024年02月05日
    浏览(32)
  • [kubernetes]安装metrics-server

    metrics server为Kubernetes自动伸缩提供一个容器资源度量源。metrics-server 从 kubelet 中获取资源指标,并通过 Metrics API 在 Kubernetes API 服务器中公开它们,以供 HPA 和 VPA 使用。 之前已经用k8s的二进制文件搭建了一套集群环境,搭建步骤见:二进制部署k8s集群-基于containerd。现需要在

    2024年02月10日
    浏览(25)
  • 基于k8s Deployment的弹性扩缩容及滚动发布机制详解

    k8s第一个重要设计思想:控制器模式。k8s里第一个控制器模式的完整实现:Deployment。它实现了k8s一大重要功能:Pod的“水平扩展/收缩”(horizontal scaling out/in)。该功能从PaaS时代开始就是一个平台级项目必备编排能力。 若你更新了Deployment的Pod模板(如修改容器的镜像),则

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包