GoCrane/Crane 项目安装与部署完全指南

GoCrane/Crane 项目安装与部署完全指南

crane Crane is a FinOps Platform for Cloud Resource Analytics and Economics in Kubernetes clusters. The goal is not only to help users to manage cloud cost easier but also ensure the quality of applications. crane 项目地址: https://gitcode.com/gh_mirrors/cran/crane

前言

GoCrane/Crane 是一个开源的 Kubernetes 资源管理与成本优化平台,它能够帮助用户更好地管理和优化 Kubernetes 集群中的资源使用。本文将详细介绍 Crane 的安装部署过程,包括前置条件、安装步骤以及各种访问方式。

系统要求

在开始安装 Crane 之前,请确保您的环境满足以下最低要求:

  • Kubernetes 集群版本 1.18 或更高
  • Helm 3.1.0 或更高版本

安装准备

Helm 安装

Helm 是 Kubernetes 的包管理工具,Crane 使用 Helm Chart 进行部署。如果您尚未安装 Helm,请先安装 Helm 工具。

监控组件安装

Crane 依赖 Prometheus 作为默认的指标提供者,并使用 Grafana 展示成本估算数据。如果您的环境中尚未部署这些组件,可以按照以下步骤安装。

Prometheus 安装

Prometheus 是一个开源的监控和告警工具套件,Crane 使用它来收集集群指标数据。

helm repo add prometheus-community [Prometheus Helm Chart 仓库地址]
helm install prometheus -n crane-system \
                        --set pushgateway.enabled=false \
                        --set alertmanager.enabled=false \
                        --set server.persistentVolume.enabled=false \
                        -f [override_values.yaml 文件地址] \
                        --create-namespace prometheus-community/prometheus

Grafana 安装

Grafana 是一个开源的可视化平台,Crane 使用它来展示成本估算报告。

helm repo add grafana [Grafana Helm Chart 仓库地址]
helm install grafana \
             -f [override_values.yaml 文件地址] \
             -n crane-system \
             --create-namespace grafana/grafana

Crane 核心组件安装

Crane 主组件安装

helm repo add crane [Crane Helm Chart 仓库地址]
helm install crane -n crane-system --create-namespace crane/crane

Fadvisor 安装

Fadvisor 是 Crane 的成本分析组件,用于提供详细的成本报告。

helm install fadvisor -n crane-system --create-namespace crane/fadvisor

可选组件:Crane Scheduler

Crane Scheduler 是一个智能调度器,可以根据资源使用情况进行更优的 Pod 调度。

helm install scheduler -n crane-system --create-namespace crane/scheduler

安装验证

安装完成后,可以通过以下命令检查所有组件是否正常运行:

kubectl get deploy -n crane-system

预期输出应包含以下关键组件:

  • craned (Crane 主服务)
  • grafana (可视化面板)
  • prometheus-server (监控服务)
  • metric-adapter (指标适配器)
  • crane-agent (节点代理)

自定义安装

如果您需要更灵活的安装方式,可以直接使用 YAML 文件部署 Crane:

git clone [Crane 代码仓库地址]
kubectl apply -f deploy/manifests 
kubectl apply -f deploy/craned 
kubectl apply -f deploy/metric-adapter

如果您已有 Prometheus 服务,可以通过设置环境变量指定其地址:

export CUSTOMIZE_PROMETHEUS=[您的Prometheus地址]

访问 Crane 仪表板

Crane 提供了丰富的 Web 仪表板,可以通过多种方式访问:

1. 端口转发(快速访问)

kubectl -n crane-system port-forward service/craned 9090:9090

访问 http://localhost:9090 即可

2. NodePort 方式

kubectl patch svc craned -n crane-system -p '{"spec": {"type": "NodePort"}}'
PORT=$(kubectl get svc -n crane-system craned -o jsonpath='{.spec.ports[?(@.name == "dashboard-service")].nodePort}')
NODE_IP=$(kubectl get node -ojsonpath='{.items[].status.addresses[?(@.type == "InternalIP")].address}')
echo "访问地址: http://${NODE_IP}:${PORT}"

3. LoadBalancer 方式

kubectl patch svc craned -n crane-system -p '{"spec": {"type": "LoadBalancer"}}'
kubectl get svc -n crane-system craned

4. Ingress 方式

根据您的 Ingress 控制器类型,可以选择以下配置之一:

Nginx Ingress 示例
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-crane-dashboard
  namespace: crane-system
spec:
  rules:
  - host: dashboard.yourdomain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: craned
            port:
              number: 9090
  ingressClassName: nginx
Traefik Ingress 示例
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard-crane-ingress
  namespace: crane-system
spec:
  entryPoints:
    - web
  routes:
    - kind: Rule
      match: Host(`dashboard.yourdomain.com`)
      services:
        - name: craned
          port: 9090

查看成本报告

要访问 Grafana 成本报告面板,可以使用以下命令:

export POD_NAME=$(kubectl get pods --namespace crane-system -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=grafana" -o jsonpath="{.items[0].metadata.name}")
kubectl --namespace crane-system port-forward $POD_NAME 3000

然后访问 http://localhost:3000,使用默认凭证 admin/admin 登录。

总结

本文详细介绍了 GoCrane/Crane 项目的完整安装流程,包括监控组件的部署、核心服务的安装以及多种访问方式。通过 Crane,您可以获得 Kubernetes 集群的全面资源使用洞察和成本优化建议。安装完成后,建议进一步探索 Crane 提供的各种功能,如自动资源推荐、智能调度等高级特性。

crane Crane is a FinOps Platform for Cloud Resource Analytics and Economics in Kubernetes clusters. The goal is not only to help users to manage cloud cost easier but also ensure the quality of applications. crane 项目地址: https://gitcode.com/gh_mirrors/cran/crane

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奚子萍Marcia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值