我正在尝试使用postgresql数据库而不是Rancher数据库运行Rancher作为容器.在文档(http://docs.rancher.com/rancher/installing-rancher/installing-server/)中写道,您可以使用外部数据库,但它只提到了mysql.我想知道是否可以使用像postgresql这样的另一个外部数据库.因此,我尝试使用以下命令启动容器,将其指向与容器在同一主机上运行的postgresql数据库:
docker run -d --restart=always -p 8080:8080 -e CATTLE_DB_CATTLE_MYSQL_HOST=127.0.0.1 -e CATTLE_DB_CATTLE_MYSQL_PORT=5432 -e CATTLE_DB_CATTLE_MYSQL_NAME=db_name -e CATTLE_DB_CATTLE_USERNAME=db_user -e CATTLE_DB_CATTLE_PASSWORD=some_password rancher/server
Run Code Online (Sandbox Code Playgroud)
上面的结果是容器启动但没有使用我告诉它使用的postgresql数据库.它使用Rancher数据库代替.
尝试以下但仍然相同的结果:
docker run -d --restart=always -p 8080:8080 -e CATTLE_DB_CATTLE_HOST=127.0.0.1 -e CATTLE_DB_CATTLE_PORT=5432 -e CATTLE_DB_CATTLE_NAME=db_name -e CATTLE_DB_CATTLE_USERNAME=db_user -e CATTLE_DB_CATTLE_PASSWORD=some_password rancher/server
Run Code Online (Sandbox Code Playgroud)
我认为我传递的参数是错误的,或者Rancher仅支持mysql作为外部数据库.
有什么想法/建议吗?
谢谢,
我刚刚完成了我的角度应用程序的基本管道,它在docker中的Node图像中运行.因此,工作流程如下:推Gitlab>勾詹金斯生成>部署脚本,docker build图像和推到码头>发布脚本提示牧场主服务升级的容器并刷新图像>完整.
现在,我遇到的问题是基本节点图像非常大,这意味着当我推动一个简单的更改时,需要很长时间才能完成构建管道(约8分钟).对于每一个微小的变化来说这似乎都是不合理的,对Quay的推动以及随后向Rancher平台的发布意味着我要向码头移动250mb,向Rancher移动250mb.
我有计划部署几个"微服务",但如果每次我想部署一个开发环境和移动每个阵子如此多的数据,似乎有点适得其反......是什么,我做错了什么我错过了,在构建/部署/托管基于容器的服务时是否有最佳实践指南?
尝试使用不记名令牌登录牧场主 CLI 时出现此错误。我使用的命令是这样的:
./rancher login https://<SERVER_URL> --token <BEARER_TOKEN>
Run Code Online (Sandbox Code Playgroud)
我正在使用牧场主 UI 上的“添加密钥”按钮创建令牌,并将生成的令牌范围限定到我想要管理的集群。
这是完整的错误消息:
FATA[0002] 错误的响应状态代码 [401]。状态 [401 未授权]。正文:[message=clusterID 不匹配]
有任何想法吗?谢谢...
作为 DevOps 领域的新手,我试图找到一个单页浏览器,它可以并排解释以下每种技术的最佳性能以及它们在典型部署场景中如何编排在一起。
寒冷的天气让一切都有点难以承受。
似乎部署的每一步都有一种技术。有些已被其他所取代吗?工件的粒度是否有差异?
没有哪个更好的意见,只是嘿它们一起使用的资源。
我在从 AWS ECR 存储库中提取 docker 映像时遇到了这个问题,我之前使用过
kubectl create secret docker-registry regcred --docker-server=https://index.docker.io/v1/ --docker-username=kammana --docker-password=<your-password> --docker-email=hari.kammana@gmail.com
Run Code Online (Sandbox Code Playgroud)
部署 YAML 文件
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: privateapp
image: kammana/privateapp:0.0.1
imagePullSecrets:
- name: regcred
Run Code Online (Sandbox Code Playgroud)
但是现在,当您为 ECR 生成时,密码的有效期仅为 12 小时,我每次都必须手动更改密码。这很忙,我读了一篇Medium文章。
它可以创建某种 cron 作业,但我想在运行时通过登录 ECR 来提取图像。
如果您可以提供一些有关通过 Kubernetes 进行 ECR 直接登录的相关示例,并且我的集群不在同一个 AWS 账户中,因此 AWS IAM 角色是不可能的,那将会很有帮助。
我们使用Spring Cloud Netflix提供了一系列使用Spring Boot构建的微服务。到目前为止,它们已打包为RPM并已部署到VM。显然,使用Eureka可以进行服务注册/发现,并且我们的跨微服务交互可以使用带有虚拟IP(VIP)的Spring RestTemplate完成,如下所示:
http://foo-service/<PATH_TO_RESOURCE>
Run Code Online (Sandbox Code Playgroud)
客户端负载平衡是另一个好处。
现在,我们希望使用Docker并在Rancher中运行。我想知道在这种环境下使用Eureka还是有意义的。
在Rancher中,如果该服务名为“ foo-service”,则该名称将用作Rancher内部网络中的VIP,因此,上面显示的相同URL也可以使用,Eureka除外。
此外,如果有多个容器支持服务,则Rancher将在其中循环负载均衡流量。
另外,似乎Rancher会比Eureka更早地了解Containers的来来往往。
我正在努力寻找保留尤里卡的坚实理由。
我想使用 Docker 和容器操作系统(如 CoreOS,最好是 RancherOS)将我的应用程序部署到 DigitalOcean。我对 Docker 足够熟悉,可以构建镜像。然而,这两个项目的大部分文档都讨论了使用 Docker Hub 部署容器。我不想使用 Docker Hub、AWS ECS 等。
那么,我能想到的部署应用程序的唯一其他方法是使用docker exportSSH/SFTP 将我的应用程序部署到我的 DigitalOcean Droplet 上。这是部署不在 Docker Hub 或类似服务上的 Docker 镜像的首选方式吗?
顺便说一句,我研究过 Rancher(应用程序)。我并不是在寻找像 Kubernetes、Swarm、Rancher 等那样复杂的东西。我目前不关心扩展。我主要感兴趣的是使用 Docker 作为一种便捷的方式来打包我的应用程序及其最小的依赖项,并使用容器操作系统来避免担心锁定成熟的 Linux 发行版的巨大攻击面。
首先,我不是专家,所以请多多包涵。我设法在家中的vcenter中安装和设置了Rancher(免费获得了裸机安装程序,虽然有点旧,但仍然可以)。我有3个运行良好的节点,我也可以使用它在vmware中配置VM。最重要的是,我还在Rancher中添加了Kubernetes。现在,我的计划是部署应自动获取外部端点(可从Internet访问)和SSL的服务。我已经从Namecheap mydomain.com购买了它,外加通配符证书。另外,在我的vcenter中,我有一个正在运行的nginx服务器,namecheap dns指向该服务器,但是我认为我应该在Kubernetes中运行它,只是我不想手动管理nginx的配置文件。
最好的方法是什么?我无法理解入口控制器如何工作或如何正确设置它们。我遵循了许多教程,但到目前为止没有成功。我也和Traefik一起玩,但是没有成功。在外部端点部分,我总是一无所获。
我不需要逐步指南,但至少有人可以向我指出正确的方向。我也在考虑使用Let'sEncrypt,但是由于我已经拥有我的域和ssl证书,因此不确定这是否是一个好主意。
谢谢!
当我尝试将部署创建为作业类型时,它不会拉取任何映像。
下面是.yaml:
api版本:batch/v1
种类:工作
元数据:
名称:复制品
规格:
退避限制:1
模板:
元数据:
名称:复制品
规格:
重启策略:“从不”
卷:
- 名称:共享卷
持久卷声明:
声明名称:共享 PVC
- 名称:dockersocket
主机路径:
路径:/var/run/docker.sock
容器:
- 名称:复制工件
图片:高山:3.7
imagePullPolicy:始终
命令: ["sh", "-c", "ls -l /shared; rm -rf /shared/*; ls -l /shared; while [ !-d /shared/artifacts ]; do echo 等待工件被复制;睡眠 2;完成;睡眠 10;ls -l /shared/artifacts;“]
体积安装:
- 挂载路径:/共享
名称:共享卷
您能在这里指导一下吗?
问候, 维卡斯
我正在尝试利用 k8s 的本地卷动态配置程序(Rancher 的一个),具有多个实例,每个实例都有自己的存储类,以便我可以根据性能提供多种类型的本地卷(例如 ssd、hdd 等)。
底层基础设施不对称;有些节点只有 SSD,有些只有 HDD,有些节点两者都有。
我知道我可以通过为 Pod 提供节点关联性规则来提示调度程序选择正确的节点。
但是,是否有更好的方法仅在配置者/存储类级别解决此问题?例如,使存储类仅可用于集群节点的子集。
rancher ×10
docker ×6
kubernetes ×5
amazon-ecr ×1
amazon-ecs ×1
angularjs ×1
coreos ×1
devops ×1
dns ×1
jenkins ×1
nginx ×1
spring ×1