Stackify Retrace Container旨在解决无法在Docker主机系统安装Stackify Linux Agent时,通过Docker或Kubernetes容器环境部署Retrace的需求。Retrace是应用性能监控工具,该容器化方案支持在容器集群中实现Retrace的集成与运行,适用于Docker和Kubernetes环境。
--restart always确保服务持续运行适用于无法在Docker主机安装Stackify Linux Agent的容器化环境,需对应用进行性能监控的场景,包括独立Docker容器部署和Kubernetes集群部署。
通过以下配置部署Retrace DaemonSet,确保集群中每个节点运行Retrace容器。
YOUR_ACTIVATION_KEY、YOUR_ENVIRONMENT_NAME、YOUR_KUBERNETES_CLUSTER_NAME替换为实际值image: stackify/retrace为私有仓库地址yaml--- apiVersion: v1 kind: ServiceAccount metadata: name: stackify namespace: default automountServiceAccountToken: true --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: stackify rules: - apiGroups: [""] resources: - "pods" - "services" verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: stackify roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: stackify subjects: - kind: ServiceAccount name: stackify namespace: default --- apiVersion: apps/v1 kind: DaemonSet metadata: name: stackify-retrace spec: template: metadata: labels: app: stackify-retrace spec: serviceAccountName: stackify containers: - name: stackify-retrace image: stackify/retrace securityContext: runAsUser: 0 env: - name: STACKIFY_KEY value: "YOUR_ACTIVATION_KEY" - name: STACKIFY_ENV value: "YOUR_ENVIRONMENT_NAME" - name: STACKIFY_K8S_CLUSTER_NAME value: "YOUR_KUBERNETES_CLUSTER_NAME" volumeMounts: - name: hostfs mountPath: /hostfs readOnly: true - name: stackify mountPath: /var/stackify readOnly: false volumes: - name: hostfs hostPath: path: / - name: stackify hostPath: path: /var/stackify type: DirectoryOrCreate
确保用户具有创建ServiceAccount的权限:
bashkubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user $(gcloud config get-value account)
将DaemonSet的apiVersion修改为:
yamlapiVersion: extensions/v1beta1
为应用Pod配置Stackify卷和卷挂载,集成对应语言的Stackify Profiler(忽略"Install Retrace"步骤)。
支持的应用类型及Profiler文档:
Pod配置示例:
yamlvolumes: - name: stackify hostPath: path: /var/stackify type: DirectoryOrCreate
yamlvolumeMounts: - mountPath: /usr/local/stackify name: stackify
完整应用Pod配置示例:
yamlapiVersion: v1 kind: ReplicationController metadata: name: pod-name spec: replicas: 1 selector: app: app-name template: metadata: name: template-name labels: app: app-name spec: containers: - name: container-name image: application-image volumeMounts: - mountPath: /usr/local/stackify name: stackify volumes: - name: stackify hostPath: path: /var/stackify type: DirectoryOrCreate
向应用发送请求,在Retrace仪表板中确认监控数据正常显示。
bashdocker volume create stackify
bashdocker run -d --restart always \ -e "STACKIFY_KEY=YOUR_ACTIVATION_KEY" \ -e "STACKIFY_ENV=YOUR_ENVIRONMENT_NAME" \ -v stackify:/var/stackify \ -v /:/hostfs:ro \ --user 0:0 \ stackify/retrace:latest
注意:替换
YOUR_ACTIVATION_KEY和YOUR_ENVIRONMENT_NAME为实际值
配置应用容器挂载stackify卷,集成对应语言的Stackify Profiler(忽略"Install Retrace"步骤):
bashdocker run -v stackify:/usr/local/stackify [application-image]
向应用发送请求,在Retrace仪表板中确认监控数据正常显示。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429