【问题标题】:Remote deployment of Docker imagesDocker镜像的远程部署
【发布时间】:2021-03-11 14:47:45
【问题描述】:

我不知道如何要求。

基本上,我有一些自制的 Docker 映像,我不想在公共注册表上共享。 让我们承认我的公司有 10 个不同的客户。我们已经部署了 10 个覆盆子,每个客户的设施中都有一个。

我现在想做的是创建一个私人市场,客户可以在其中选择他们想要在树莓上部署的包并进行一键部署。

类似的东西存在吗?

我查看了 Kubernetes,但对于最终用户而言,它看起来有点过于复杂。是否有一种抽象仪表板或通过命令行执行此操作的方法(我将映射到 Web 界面)?

谢谢!

【问题讨论】:

  • 您仍然可以将图像推送到私有存储库。在 docker hub 或 ECR、GCR 等其他存储库中。对于部署,唯一的要求是在相应的部署系统中设置这些存储库的凭据。
  • 这适用于单台机器的多个集群吗?
  • @Manitoba.我没听懂你。一台机器的多个集群是什么意思?
  • 我的意思是:一个客户作为一个 Kubernetes 集群。我希望能够使用 Kubernetes 管理机器。如果我没记错的话,Kubernetes 只处理集群。
  • 好吧,有多少集群并不重要。只要你提供 Kubernetes 部署 yaml 的镜像路径。在containers.image:private.registry.com:my-shared-image:latest 下将始终在每个集群上提取相同的图像。现在您可以使用任何私有注册表来托管您的图像

标签: docker kubernetes deployment


【解决方案1】:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment
  labels:
    app: app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app
  template:
    metadata:
      labels:
        app: app
    spec:
      containers:
      - name: app
        image: private.registry.com:my-shared-image:latest
        ports:
        - containerPort: 80

如果不指定完整的注册表路径,它将假定为 docker hub

保护您的私人仓库并向 kubernetes yaml 添加秘密完全是另一个主题

https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

【讨论】:

  • 谢谢。解决方案是让市场将映像部署到私有注册表。一个客户的一个注册表。对吗?
  • Kubernetes 本身无助于您想要实现的目标。 Docker 注册表将帮助您托管图像(每个图像具有不同的版本),
  • 我宁愿创建一个 Web 应用程序来显示所有可用工件(您提到的包)的列表。这些包将存储在某个地方,然后可以由客户端下载。完全取决于什么样的包,哪种语言,它们将如何安装在这些树莓上
猜你喜欢
  • 2020-08-19
  • 1970-01-01
  • 2020-09-09
  • 1970-01-01
  • 2021-02-13
  • 2020-05-26
  • 2019-09-16
  • 1970-01-01
相关资源
最近更新 更多