【问题标题】:Spinnaker with Kubernetes: Not able to connect the docker hub repositorySpinnaker 与 Kubernetes:无法连接 docker hub 存储库
【发布时间】:2016-09-14 13:45:18
【问题描述】:

我正在尝试配置 Spinnaker 以在 kubernetes 环境中部署应用程序。

我关注了documentation, 在step-3,容器未显示,如screenshot 所示。然后我转到下一个step(管道创建),当我在Automated Trigger 中选择type: Docker 时,Repo name 再次没有显示,如screenshot 所示。

所以,我怀疑 spinnaker 和 docker hub repo 存在问题(身份验证/错误配置?)

我已将 Kubernetes 身份验证配置文件复制到 ~/.kube/config。我认为 Spinnaker 和 kubernetes 没有问题。当我在 Spinnaker 中创建 Load Balancer 时,我可以看到 Kube Services 正在创建(test-dev & test-prod)

root@veeru:~# kubectl get services
NAME                CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
kubernetes          192.168.3.1     <none>        443/TCP                      91d
test-dev            192.168.3.113   <none>        80/TCP                       6h
test-prod           192.168.3.185                 80/TCP                       6h

我的spinnaker-local.yml

<Content removed for brevity>

  kubernetes:
    # For more information on configuring Kubernetes clusters (kubernetes), see
    # http://www.spinnaker.io/v1.0/docs/target-deployment-setup#section-kubernetes-cluster-setup

    # NOTE: enabling kubernetes also requires enabling dockerRegistry.
    enabled: true
    primaryCredentials:
      # These credentials use authentication information at ~/.kube/config
      # by default.
      name: veerendrav2
      namespace: default
      dockerRegistryAccount: veerendrav2

  dockerRegistry:
    # If you want to deploy containers to a container management solution,
    # you must specifiy where these container images exist first.

    # NOTE: Enabling dockerRegistry is independent of other providers.
    # However, for convienience, we tie docker and kubernetes together
    # since kubernetes (and only kubernetes) depends on this docker provider
    # configuration.
    enabled: true

    primaryCredentials:
      name: veerendrav2
      address: https://hub.docker.com
      repository: veerendrav2/spin-kub-demo

<Content removed for brevity> 

我的/opt/spinnaker/config/clouddriver-local.yml

dockerRegistry:
  enabled: true
  accounts:
    - name: veerendrav2
      address: https://hub.docker.com/ # Point to registry of choice
      username: veerendrav2
      password: password
      repositories:
        - veerendrav2/spin-kub-demo

我的示例应用程序github repodocker hub repo

谢谢

【问题讨论】:

  • Verendra,我正面临着确切的问题。你能解决吗?请告诉我。谢谢
  • 使用最新版本!

标签: kubernetes spinnaker


【解决方案1】:

/opt/spinnaker/config/clouddriver-local.yml 中,您可能需要将dockerRegistry.accounts[0].address 字段更改为https://index.docker.io,因为DockerHub 的注册表不是托管在hub.docker.com 上,而是托管在index.docker.io 上。

【讨论】:

  • 感谢您的回复。但它仍然无法正常工作;-(
  • 我可以看到这个url被内部调用来获取图像127.0.0.1:8084/images/find?provider=dockerRegistry。但是它返回一个空数组。
  • 也许可以尝试删除 clouddriver-local 中的用户名和密码,并将唯一的 repo 设置为公开的内容,例如 library/nginx。如果可行,则可能是身份验证问题。
  • 端点 localhost:7002/credentials 是否包含对您配置的 docker 帐户的任何引用?
【解决方案2】:

配置 docker 注册表地址或任何其他配置的推荐方法是使用 Halyard。直接修改配置文件可能会导致它们被覆盖。

您可以通过这种方式添加帐户或编辑现有帐户。

# Add a docker registry account
hal config provider docker-registry account add <ACCOUNT_NAME> --address https://index.docker.io

# Edit the account(i.e. add a repo)
hal config provider docker-registry account edit grizzthedj --add-repository <ACCOUNT_NAME>/<REPO>

# Deploy the changes
hal deploy apply

【讨论】:

    猜你喜欢
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 2020-08-25
    • 2019-12-07
    • 2021-01-05
    • 1970-01-01
    相关资源
    最近更新 更多