问题标签 [rke]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - Terraform RKE 提供者与 Rancher2 提供者
我是 terraform 的新手。现在我们计划使用 terraform 在 AWS 上重建我们的基础设施。我们正在 AWS 上运行由 Rancher 管理的 kubernetes 集群。我们有一个使用 RKE 构建的 k8s 集群,它还托管 Rancher,还有几个由 Rancher 创建的其他 kubernetes 集群。
有两个外部模块可能会有所帮助:RKE 提供者和 rancher2 提供者。
目标是使用 terraform 管理所有内容。我可以使用 terraform RKE 提供程序构建一个 kubernetes 集群。我的问题是如何在上面安装rancher,如何使用rancher在teraform中创建其他k8s集群?
kubernetes - Rancher - 如何公开我的服务?
我有一个正在运行的 Rancher 设置,如下所示:
- 公共 IP 上的主机(运行rancher/rancher容器);
- 无法从 Internet 访问的专有网络 (10.1.1.0/24) 中的节点。
我的目标是使用 Rancher 负载平衡或任何类似的东西为 Web 应用程序提供服务。为此,我执行了以下步骤:
- 在 3 个映射端口 80/tcp 的 Pod 上使用“rancher/hello-world”映像部署工作负载,作为名为“web-app”的 NodePort(监听端口是随机的);
- 在同一命名空间中添加名为“hello”的入口,选择“自动生成
.xip.io
主机名”并将路由“/”添加到端口 80 上的“web-app”。
这适用于本地网络,因为我得到了一个类似http://hello.gabriel-milan.10.1.1.14.xip.io/的地址,它将解析为本地的 10.1.1.14。
我想为我的一个公共 IP 公开这项服务。我怎样才能做到这一点?
kubernetes - rancher rke - cloud_provider AWS - 由于使用 MITM 代理,kubelet 因证书错误而失败
我使用的是rke
1.0.4 版本,并且我在 AWS 的自定义节点上成功部署了牧场主管理的 kubernetes 集群。我没有使用cloud_provider: aws
. 现在,我正在尝试部署cloud_provider: aws
启用的集群,以便我可以将 EBS 卷用于持久卷。
EC2 实例使用 Terraform 单独部署。当使用这些自定义节点部署带有 rke 且 cloud_provider 设置为 aws 的集群时,kubelet 由于证书错误而失败。在我们的环境中,MITM 代理拦截所有 Internet 流量,因此必须使用特定的 CA 来验证 ec2.us-east-1.amazonaws.com 的证书。rancher-provider kubelet 镜像不信任该证书。是否可以选择添加自定义 ca 捆绑包?
请注意,IAM 角色很好。如果我使用官方 RPM 构建手动集群(非 Rancher),这一切都有效。我相信 kubelet/etc/pki
默认会查找 ca-bundle,因此会找到包含我的 MITM 代理证书的那个。
结果:docker logs kubelet 中的错误:
过去有人解决过这个问题吗?
谢谢,
kubernetes - 有没有办法向 Kubernates Ingress (nginx) 添加注释?
目前,要使用 Let's encrypt 生成证书,必须添加这些注释
不幸的是,对于更大的 HA 系统,在创建新入口时手动添加有点痛苦。
这可以通过将注释应用于所有入口的单个命令来完成,这也需要在工作之后。
rke - rke 错误:快照缺少哈希但 --skip-hash-check=false
我正在尝试在断电后恢复 etcd 快照,但出现以下错误。
我在跑rke etcd snapshot-restore --config rancher-cluster.yaml --name 202008091207.zip
rancher - etcd 备份到内部 S3
我正在尝试将我的 rke 集群备份到我自己的内部托管 minio 服务器。但我一直遇到这个错误。
我正在使用 Docker 17.03.05 运行 Rancher v2.3.2 和 rke v0.3.2
kubernetes - Rancher:kube-system pod 卡在 ContainerCreating 上
我正在尝试用一个节点(VM 机器)启动一个集群,但我得到了一些 podkube-system
卡住了ContainerCreating
当我将描述失败的豆荚时,我得到了:
曾尝试再次重新注册该节点,但没有运气。有什么想法吗?
docker - Kubernetes pod 上没有出站网络
我在 VM 中运行一个单节点 Kubernetes 集群,用于开发和测试目的。我使用 Rancher Kubernetes Engine(RKE,Kubernetes 版本 1.18)来部署它,并使用 MetalLB 来启用 LoadBalancer 服务类型。Traefik 是 2.2 版,通过官方 Helm 图表(https://github.com/containous/traefik-helm-chart)部署。我部署了一些虚拟容器来测试设置(https://hub.docker.com/r/errm/cheese)。
我可以通过节点 IP 访问 Traefik 仪表板(-> MetalLB 似乎工作)。它为测试容器注册服务和路由。一切看起来都很好,但是当我尝试在浏览器中访问测试容器时,出现 502 Bad Gateway 错误。
一些探测表明,来自 pod 的出站流量似乎存在问题。当我通过 SSH 连接到节点时,我可以通过它们的服务或 pod IP 访问所有 pod。从节点到 pod 的 DNS 也可以正常工作。但是,如果我启动一个交互式busybox pod,我将无法从那里访问任何其他pod 或主机。当我wget
到任何其他容器(都在默认命名空间中)时,我只得到wget: can't connect to remote host (10.42.0.7): No route to host.
互联网上的服务器也是如此。
我没有安装任何网络策略,并且我知道默认情况下没有安装任何网络策略。
我也经历过这个:https ://kubernetes.io/docs/tasks/debug-application-cluster/debug-service
指南中的所有内容都运行良好,除了 pod 似乎没有任何网络连接。
我的 RKE 配置是标准的,除了我关闭了标准的 Nginx 入口并启用了 etcd 静态加密。
有任何想法吗?
kubernetes - 为私有 Kubernetes 集群中的内部服务分配 FQDN
我设置了一个私有 K8S 集群,RKE
1.2.2
所以我的 K8S 版本是1.19
. 我们有一些内部服务,需要使用自定义的 FQDN 而不是简单的服务名称来相互访问。当我在网上搜索时,我发现的唯一解决方案是添加此REFrewrite
中描述的 CoreDNS 记录。但是,此解决方案会导致手动配置,我想在服务设置期间自动定义记录。这种自动化有什么解决方案吗?CoreDNS 是否有这样的 API 来添加或删除记录?ConfigMap
rewrite
注意 1 :我还尝试挂载 CoreDNS并ConfigMap
通过另一个 pod 更新它,但内容是以只读方式挂载的。
注2:有人提议打电话kubectl get cm -n kube-system coredns -o yaml | sed ... | kubectl apply ...
。但是,我想在服务设置期间或在 pod 中或在initcontainer
.
注3:我希望有类似hostAliases
服务的东西,称为serviceAliases
内部服务(ClusterIP)的东西。
visual-studio-code - 是否可以在 RKE 集群上使用 Cloud-Code(在 VSCode 内)?
我正在调查是否可以在私有 RKE 集群上使用云代码(在 VSCode 内)?使用 VSCode,连接到集群的唯一选项似乎涉及 GCP(或其他大型云提供商)或Minikube。Kubectl 已全部设置好并且在集群上运行良好 - 只是不支持云代码运行/调试等?我运气不好?
谢谢。