
hashicorp/dashboard-service本镜像为HashiCorp Consul与Kubernetes集成教程的演示容器,用于展示在Kubernetes环境中使用Consul进行服务发现与服务通信的基础流程。镜像源代码托管于GitHub:[***]
kubectl命令行工具配置完成bashgit clone [***] cd demo-consul-101/k8s
若需本地修改代码后重新构建:
bashdocker build -t demo-consul-service:local -f Dockerfile .
通过Kubernetes YAML配置部署服务(仓库中已提供示例配置文件):
bash# 部署演示服务 kubectl apply -f demo-service.yaml # 部署后端计数服务(依赖组件) kubectl apply -f counting-service.yaml
bash# 检查Pod状态 kubectl get pods -l app=demo-consul-service # 查看服务日志(验证与后端服务通信) kubectl logs -l app=demo-consul-service --tail=100
| 参数名 | 描述 | 默认值 |
|---|---|---|
BACKEND_SERVICE_NAME | 后端计数服务的Consul服务名 | counting-service |
CONSUL_HTTP_ADDR | Consul服务地址(K8s内部域名) | consul-server:8500 |
LISTEN_PORT | 演示服务监听端口 | 8080 |
LOG_LEVEL | 日志级别(debug/info/warn) | info |
yamlspec: containers: - name: demo-consul-service image: hashicorp/demo-consul-service:latest # 实际镜像名以仓库为准 ports: - containerPort: 8080 env: - name: BACKEND_SERVICE_NAME value: "counting-service" - name: CONSUL_HTTP_ADDR value: "consul-server:8500"
yamlapiVersion: apps/v1 kind: Deployment metadata: name: demo-consul-service labels: app: demo-consul-service spec: replicas: 1 selector: matchLabels: app: demo-consul-service template: metadata: labels: app: demo-consul-service annotations: consul.hashicorp.com/connect-inject: "true" # 启用Consul Connect注入(如需) spec: containers: - name: demo-consul-service image: hashicorp/demo-consul-service:latest ports: - containerPort: 8080 env: - name: BACKEND_SERVICE_NAME value: "counting-service" - name: CONSUL_HTTP_ADDR value: "consul-server:8500" resources: requests: cpu: "100m" memory: "64Mi"
yamlapiVersion: v1 kind: Service metadata: name: demo-consul-service spec: selector: app: demo-consul-service ports: - port: 80 targetPort: 8080 type: ClusterIP # 仅集群内部访问,外部访问可改用NodePort/Load***
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务