区块链技术

使用Goldilocks优化Kubernetes资源请求和限制配置指南

本文主要是介绍使用Goldilocks优化Kubernetes资源请求和限制配置指南,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参见:https://goldilocks.docs.fairwinds.com/#如何帮助我调整资源配置

Goldilocks 安装指南 | Goldilocks 文档

安装指南、需求以及 Goldilocks 的故障排除

步骤 1: 启动一个基于 Amazon Linux 2 AMI 的 EC2 实例。这个实例将起到一个命令中心的作用哦 :)。

连接到它并使用以下命令安装 kubectl、eksctl、helm、docker 和 git:您可以按照下面的命令进行安装。

# 注意:具体的安装命令可能因您的操作系统和包管理器而异
sudo yum 安装 -y git docker  # 安装 Docker 和 Git
sudo systemctl start docker  # 启动 Docker 服务
sudo curl --silent --location -o /usr/local/bin/kubectl \  
   https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/linux/amd64/kubectl  # 下载 kubectl 工具
sudo chmod +x /usr/local/bin/kubectl  # 设置 kubectl 可执行权限
# 下载eksctl的最新版本到/tmp目录。
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp  
# 将eksctl移动到/usr/local/bin目录。
sudo mv -v /tmp/eksctl /usr/local/bin  
# 下载get_helm.sh脚本。
curl -fsSL -o get_helm.sh "https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3"  
# 将get_helm.sh文件的权限改为700,使其可执行。
chmod 700 get_helm.sh  
# 运行get_helm.sh脚本来安装Helm 3。
./get_helm.sh

参考https://edwinsiby.medium.com/installing-golang-on-an-aws-instance-97089f3be2de 页面来安装 Go 语言。

步骤 2 按照 https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions 操作,将 AWS CLI 升级到版本 2。

步骤 3: 现在创建一个名为 eks-cluster-config.yaml 的文件,并包含以下内容:

apiVersion: eksctl.io/v1alpha5
kind: 集群配置 (júnbù chéngxì)
metadata:
  name: my-cluster
  region: us-east-1
  version: '1.31'
iam:
  启用OIDC: true
availabilityZones: ['us-east-1a','us-east-1b','us-east-1c']
  可用区: ['us-east-1a','us-east-1b','us-east-1c']
fargateProfiles:
  - name: defaultfp
    selectors:
      - namespace: default
      - namespace: kube-system
      - namespace: goldilocks
cloudWatch:
  云监控:
    clusterLogging:
      集群日志: ["*"]

Note: I have translated some terms according to the expert suggestions, while keeping technical terms in their original form where consistency and recognition are important.

运行以下命令创建我们的 EKS集群。

运行以下命令来创建集群:

eksctl create cluster -f eks-cluster-config.yaml

大概再过20分钟,集群就能准备好了。

步骤 4: 使用以下命令进行验证,以确认是否可以连接到你的集群:

    aws eks update-kubeconfig --region us-east-1 --name my-cluster  
    kubectl get nodes
运行上述命令来更新kubeconfig并查看节点。

步骤 5: 用下面的命令安装度量服务器:

<原命令保持不变>
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.0/components.yaml

运行此命令以应用来自指定 GitHub 地址的 Metrics Server 组件配置文件。

步骤6: 使用以下命令下载 helm 图表包。

git clone https://github.com/FairwindsOps/charts.git  # 克隆代码仓库
cd ./charts/stable/vpa  # 切换到vpa目录

打开 Chart.yaml 文件,并删除依赖项内容。在 values.yaml 中,将 updater 和 admissionController 的 enabled 参数设置为 false,

使用 helm vpa 命令来安装 VPA

第七步: 使用如下命令安装 goldilocks:

    helm repo add fairwinds-stable https://charts.fairwinds.com/stable  
    kubectl create namespace goldilocks  
    helm install goldilocks --namespace goldilocks fairwinds-stable/goldilocks  
    kubectl label ns goldilocks goldilocks.fairwinds.com/enabled=true  
    kubectl label ns default goldilocks.fairwinds.com/enabled=true

这将让默认设置和 goldilocks 命名空间启用 goldilocks。现在进行端口转发。

端口转发服务 goldilocks-dashboard 的 80 端口到本地的 8080 端口:

kubectl -n goldilocks port-forward svc/goldilocks-dashboard 8080:80

访问一下 http://127.0.0.1:8080/dashboard/goldilocks。

选择一个命名空间和一个部署项,你就能看到推荐的配置

这篇关于使用Goldilocks优化Kubernetes资源请求和限制配置指南的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!