参见: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。
选择一个命名空间和一个部署项,你就能看到推荐的配置