问题标签 [bare-metal-server]
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.
certificate - 如何用通配符证书替换“Kubernetes 假证书”(在裸机私有云上)Nginx Ingress 和证书管理器
我们在裸机服务器上设置了一个 Kubernetes 集群。
我们部署我们的应用程序,其中每个命名空间都是最终客户的应用程序。即customer1.mydomain.com -> 命名空间:cust1
我们不断获得 Kubernetes Ingress Controller Fake Certificate。
我们购买了自己的通配符证书 *.mydomain.com
入口.yaml
https://cust1.mydomain.com连接 Kubernetes Ingress Controller Fake Certificate
kubernetes - MetalLB 无法连接到 Kubernetes API
我安装了 MetalLB 以便能够通过我的网络的 IP 公开我的服务。安装后,我尝试了一个简单的 hello-world: https ://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/
我注意到,外部 IP 始终处于状态
在控制器 pod 的日志中,我收到以下错误消息:
我像往常一样安装了 Kubernetes 并使用以下命令进行了初始化:
sudo kubeadm init --pod-network-cidr=10.21.8.128/25 --apiserver-advertise-address=10.21.8.1
在"kube-controller-manager.yaml"
我更改了的大小,"node-cidr-mask"
因为标准值是"/24"
,我的集群大小是"/25"
:
--node-cidr-mask-size=26
我还安装了 flannel 和 Kubernetes Dashboard。一切正常!
然后我安装了MetalLB: https ://metallb.universe.tf/tutorial/layer2/
并使用此配置配置了 MetalLB:
我错过了什么吗?
kubernetes - 在 2 节点裸机集群上设置 Rancher Hello World
我正在尝试在运行 centos 7 的 2 台裸机服务器上使用 Rancher 设置 K8s 集群。我使用 Rancher UI 创建了集群,然后添加了 2 个节点: - 服务器 1 具有 etcd、控制平面和工作角色 - 服务器 2 具有控制平面和工作人员角色
一切都设置好了。然后,我尝试使用 Rancher 教程部署 rancher/hello-world 映像并在端口 80 中配置入口。
如果 pod 在服务器 1 上运行,我可以使用 server1.xio ip 地址轻松访问。因为服务器 1 ip 是集群的入口。当它在 pod 2 上运行时,它显示 nginx 的 504 网关错误。
打开所有端口后,我已经禁用了防火墙。
我注意到 2 个 kubernates 服务记录了一些错误:
绒布:
连接代理超时" url="wss://ljanalyticsdev01.lojackhq.com.ar:16443/v3/connect"```
但是当节点承担控制平面角色时,这已修复。
Hello World pod YAML:
负载均衡器和入口 YAML:
ibm-cloud-infrastructure - 通过数据中心获取 VSI 和 Bare Metal 的创建对象
我正在研究一种使用 REST API 来获取有效对象的方法,我可以在特定数据中心中创建 VSI 或裸机时使用这些对象。所需信息: 1. 专用网络速度 10Gbs 或 1Gbs 2. 支持的机器类型,如果支持 vGPU,机器类型是 V100 或 P100。
你能帮我一些关于使用方法以及如何按数据中心过滤的指导吗?谢谢。
nginx - 如何在裸机上使用 hostNetwork 安装 nginx-ingress?
我在裸机上创建了一个单节点 kubeadm 集群,经过一些研究后,我将采用主机网络方法(https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host- network),因为由于网络限制,NodePort 不是一个选项。
我尝试通过以下命令使用 helm chart 安装 nginx-ingress:
问题是它正在创建一个永远挂起的 LoadBalancer 服务,并且我的入口对象没有被路由:
是否需要完成任何其他配置才能在这种方法中取得成功?
更新:这里是 ingress-controller pod 的日志
kubernetes - 通过主机网络的 Istio 入口控制器(裸机)
我正在尝试在裸机中使用 Istio,并且我想使用最少的资源来获得带有 Envoy 和 Cert-Manager 的 Ingress 控制器(以后可能会演变为使用更高级的服务网格功能)。我尝试遵循此文档:Istio Kubernetes Ingress with Cert-Manager演示如何使用 Cert-Manager 自动获取 Kubernetes Ingress 的 Let's Encrypt TLS 证书。
我的主要问题是我处于裸机状态,既不想使用 LoadBalancer,也不想使用 NodePort。我打算采用主机网络方法作为在此处使用 nginx 的类似解决方案。1) 我可以使用 istio 将我当前的 nginx-ingress 控制器替换为 Hostnetwork 吗?
安装尝试(没有成功):
2)如果(1)是可能的,我可以使用 istio helm chart 和 istio-minimal(只是 istio-pilot)吗?在这种情况下,推荐的最小配置文件设置是什么?
docker - 无法在裸机 kubernetes 集群上获取外部 IP
我正在尝试建立一个裸机 Kubernetes 集群。我已经设置了基本集群,没问题,但我似乎无法让 MetalLB 正常工作以将外部 IP 公开给服务。
我的最终目标是能够部署一个具有 2 个以上副本的应用程序,并拥有一个我可以引用的 IP/端口,以便访问任何正在运行的实例。
到目前为止,我所做的(为了测试这一点)是:
metallb-layer-2.yml:
然后当我跑步时kubectl get svc
,我得到:
无论我做什么,我都无法让服务拥有外部 IP。有人有想法吗?
编辑:在找到另一篇关于使用 NodePort 的帖子后,我做了以下事情:
在这里找到。
现在,不幸的是,当我尝试 curl nginx 端点时,我得到:
我不确定这到底意味着什么。
编辑 2: 当我对运行 pod 的工作人员执行 TCP 转储时,我得到:
kubernetes - MetalLB 外部 IP 到 Internet
我无法访问 MetalLB 负载均衡器分配的公共 IP
我在 Contabo 中创建了一个 Kubernetes 集群。它的1个主人和2个工人。每个人都有自己的公共 IP。
我用 kubeadm + flannel 做到了。后来我确实安装了 MetalLB 来使用负载平衡。
我使用这个清单来安装 nginx:
它有效,豆荚正在运行。我在之后看到了外部 IP 地址:
从每个节点/主机我可以curl到那个ip和端口,我可以得到nginx的:
到目前为止,一切都很好。但:
我仍然想念的是从我的计算机访问该服务(nginx)。我可以尝试通过 IP:PORT 访问每个节点(主节点 + 2 个从节点),但没有任何反应。最终目标是拥有一个可以访问该服务的域,但我猜不出我应该使用女巫 IP。
我错过了什么?
MetalLB 是否应该公开我的 3 个可能的 IP?我应该在每台服务器上添加其他东西作为反向代理吗?
我在这里问这个问题是因为所有关于裸机/VPS(非 aws、GKE 等)的文章/教程都在本地主机上的 kube 上执行此操作而错过了这个基本问题。
谢谢。
kubernetes - Terraform 应用,如何增加计数并将 kubernetes 工作节点添加到现有工作人员?
我在 github 上的这个存储库之后使用 terraform 在裸机上部署了 k8s 集群
现在我有三个节点:
ewr1-控制器,ewr1-worker-0,ewr1-worker-1
接下来,我想运行 terraform apply 并增加工作节点(*ewr1-worker-3, ewr1-worker-4 ... *),同时保留现有的控制器和工作节点。我尝试将 count.index 递增到从 3 开始,但它仍然会覆盖现有的工作人员。
我没有尝试过,但如果我这样做
我假设这些工作节点不会由 kubernetes master 管理。我不想在开始时创建所有节点,因为我添加的工作节点将具有不同的规格(实例类型)。
我使用的整个脚本都可以在这个 github 存储库上找到。如果有人能说出我在这里缺少什么以及如何实现这一点,我将不胜感激。
谢谢!
docker - Docker 容器在裸机上运行非常缓慢,但系统资源未得到充分利用
我们的 docker 和 Openshfit(kubernetes) 集群中有多个裸机服务器。出于某种原因,只有 BM 节点的底层 pod 非常慢,托管在 exsi 服务器上的传统 VM 可以完美运行。豆荚需要很长时间才能在任何时候出现活性探测经常失败。BM 节点有 72 个内核和 600 GB RAM 和 2 个 n/w 端口,并且没有得到充分利用,例如平均负载仅为 10 ~ 20,可用 RAM 始终超过 300 ~ 400 Gigis。sar 输出看起来很正常,/var/log/messages 没有什么异常。无法确定导致缓慢的原因..
是否有一个 linux/docker 命令可以在这里提供帮助以及我要寻找什么?这可能是一个嘈杂的邻居问题吗?还是我需要调整一些内核参数。缓慢总是存在的,它不是断断续续的。我们与 RH 支持部门密切合作,但从那次练习中一无所获。欢迎任何建议..