我在牧场官方网页上看过
Rancher是一个开源软件平台,使组织能够在生产中运行容器.使用Rancher,组织不再需要使用一组独特的开源技术从头开始构建容器服务平台.Rancher提供管理生产中容器所需的整个软件堆栈.
基于此描述,我认为Rancher是一个像容器编排docker-compose.但正如我在同一页上读到的那样:
许多用户选择使用容器编排和调度框架来运行容器化应用程序.Rancher包括今天所有流行的容器编排和调度框架的分发,包括Docker Swarm,Kubernetes和Mesos.
这一段让我觉得Rancher不是一个容器编排,而是控制那些东西的东西.请告诉我Rancher和其他容器编排有什么区别.
我现在正在构建包含所有容器化服务的服务器,为此我正在使用 rancher 平台。在这里我有一个选择:更喜欢使用 docker-compose.yml 或 rancher-compose.yml 来部署包含所有服务的服务器。那么这些文件之间有什么区别呢?(很高兴看到列出的每一项的优点和缺点)
我正在尝试配置hostPath以启动Mongodb pod。
我只安装了一个rancher最新稳定版本的kubernetes v1.8.5的一个节点。
我有创建文件夹,/mongo/data并允许所有用户使用所有权限。

我可以在没有sudo的情况下与docker完美运行docker镜像:
docker run --name some-mongo -v /mongo/data:/data/db mongo:3.2.1
但是当我启动kubernetes时:
sudo kubectl create -f mongodb.yml
我懂了 MountVolume.SetUp failed for volume "mongo" : hostPath type check failed: /mongo/data is not a directory
这是mongodb.yml:
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: mongo:3.2.1
name: test-container
volumeMounts:
- mountPath: /data/db
name: mongo
volumes:
- name: mongo
hostPath:
# directory location on host
path: /mongo/data
# this field is optional
type: Directory
Run Code Online (Sandbox Code Playgroud)
知道我应该在哪里寻找吗?
在当前设置中,有两个 Mongo Docker 容器,在主机 A 和 B 上运行,Mongo 版本为 3.4,并在副本集中运行。我想将它们升级到 3.6 并增加一个成员,以便容器可以在主机 A、B 和 C 上运行。容器有 8GB 内存限制并且没有分配交换(当前),并且在Rancher 中进行管理。所以我的计划是启动三个新容器,为它们初始化一个副本集,从 3.4 容器中进行转储,然后将其恢复为新的副本集 master。
转储很顺利,它的大小约为 16GB。当我尝试将其恢复到新的 3.6 master 时,恢复开始正常,但是在恢复了大约 5GB 的数据后,mongo 进程似乎被 OS/Rancher 杀死,而容器本身没有重新启动,MongoDB 进程只是崩溃并重新加载自己。如果我再次运行 mongorestore 到同一个数据库,它会说所有已经插入的条目的唯一键错误,然后从它停止的地方继续,只在 5GB 左右后再次执行相同的操作。所以看起来 mongorestore 将它恢复的所有条目加载到内存中。
所以我必须为此找到一些解决方案,并且:
如何在 Rancher 2.0 中为我的集群启用功能门?我需要启用--feature-gates MountPropagation=true. 这将使我能够使用 StorageOS、CephFS 等存储解决方案
这里有两个用例:
我们正在使用rancher docker编排工具:它正在使用HAProxy启用负载平衡。我想知道如果建立与服务的新HTTPS连接,如何处理hanshake。
是在客户端与负载均衡器(牧场主/ HAProxy)之间完成握手,还是负载均衡器仅将HTTPS请求转发到后端服务?
我有一个正在运行的 Rancher 设置,如下所示:
我的目标是使用 Rancher Load Balancing 或任何类似的东西来为 Web 应用程序提供服务。为此,我执行了以下步骤:
.xip.io主机名”并将路由“/”添加到端口 80 上的“web-app”。这适用于本地网络,因为我得到了一个像http://hello.gabriel-milan.10.1.1.14.xip.io/这样的地址,它将解析为 10.1.1.14,这是本地的。
我想为我的一个公共 IP 公开此服务。我怎样才能做到这一点?
所以我尝试在我的 K3S 集群上部署 rancher。
我使用文档和 helm 安装了它:Rancher 文档
当我使用负载均衡器进行访问时。我找不到插入设置的秘密。
他们描述了以下获取令牌的命令:
kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{ "\n" }}'
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我收到以下错误
Error from server (NotFound): secrets "bootstrap-secret" not found
Run Code Online (Sandbox Code Playgroud)
而且我在命名空间牛系统中找不到引导程序秘密。
那么有人可以帮我看看我需要去哪里吗?
我正在尝试与aws rancher os。我想使用相同的rancher OS创建并运行docker-compose文件。当我尝试使用Docker-compose up命令时,出现错误``无法识别的docker-compose。
请任何人帮我
我正在 ECS 集群中使用支持 RancherOS ECS 的 AMI v1.0.4 运行 EC2 实例。
实例加入集群,但 ECS 任务无法启动,因为容器实例缺少任务所需的属性。
无法启动的 ECS 任务具有 IAM 角色并需要com.amazonaws.ecs.capability.task-iam-role属性。检查容器实例具有哪些属性后(使用 cli aws ecs describe-container-instances),可以看到缺少这个必需的属性。
当我从任务中删除 IAM 角色时,它开始正常。
当我使用 Amazon ECS 优化的 AMI 运行实例时,一切正常。
我遵循官方 RancherOS ECS 指南,包括验证 ECS 容器实例 IAM 角色,但没有成功。
rancher ×10
docker ×3
kubernetes ×3
rke ×2
amazon-ec2 ×1
amazon-ecs ×1
docker-swarm ×1
haproxy ×1
helm3 ×1
k3s ×1
kubectl ×1
mongodb ×1
mongodb-3.6 ×1
mongorestore ×1
ssl ×1