有兴趣在 EC2 实例上使用 Minikube 和域名设置 K8s 集群
Interested in setting up K8s cluster on EC2 instance with Minikube & domain name
我有一个 EC2 实例,用于个人工作和流量非常小的项目(投资组合等)。
我认为使用 Minikube 设置开发集群 运行 我的各种项目并将域名连接到此实例真的很酷(尽管显然有点矫枉过正)。
设置
我有一个指向我的服务的 Ingress 控制器,其 IP 地址与主机不同。我认为这是虚拟机的 IP 地址,但只能从主机访问。
我真的很想使用 Ingress,因为我有很多项目 运行 在使用不同的域名。根据我有限的知识,似乎是简单而正确的解决方案。
问题
不太了解k8s/networking,我不知道如何让访问分配给我实例的弹性 IP 的外部流量定向到 Ingress 控制器
我试过的
我在想,因为这实际上只会用于开发目的,所以我可以尝试使用 kubect port-forward ...
以某种方式指向我的 Ingress 控制器。但是 this port-forward
官方网站的参考资料没有提到 Ingress 控制器。
问题
通过 Ingress 控制器将外部流量引入我的集群的最正确方法是什么?
假设这不是针对实际生产工作负载,我建议采用以下方法
不使用 minikube,而是使用 kubeadm 在 EC2 实例上安装单节点 kubernetes 集群。
确保删除主节点污点,以便可以在主节点上安排工作负载 pods,这意味着同一个 EC2 实例将托管控制平面 pods 以及工作量 pods。命令是
kubectl taint nodes nodename node-role.kubernetes.io/master:NoSchedule-
安装 nginx 入口控制器并在部署 yaml 中使用 hostNetwork: true
。因此 nginx 将在端口 80
和 443
上侦听 EC2 实例的网络。这是 this.
上的文档
创建入口资源,您可以通过 EC2 实例 public IP 地址访问任何服务。
当您有更多 EC2 实例的预算时,您可以使用 kubeadm join
.
将这些实例作为工作节点添加到集群中
注意:您可以使用免费 t2.micro
层 EC2 实例作为工作节点。
我有一个 EC2 实例,用于个人工作和流量非常小的项目(投资组合等)。
我认为使用 Minikube 设置开发集群 运行 我的各种项目并将域名连接到此实例真的很酷(尽管显然有点矫枉过正)。
设置
我有一个指向我的服务的 Ingress 控制器,其 IP 地址与主机不同。我认为这是虚拟机的 IP 地址,但只能从主机访问。
我真的很想使用 Ingress,因为我有很多项目 运行 在使用不同的域名。根据我有限的知识,似乎是简单而正确的解决方案。
问题
不太了解k8s/networking,我不知道如何让访问分配给我实例的弹性 IP 的外部流量定向到 Ingress 控制器
我试过的
我在想,因为这实际上只会用于开发目的,所以我可以尝试使用 kubect port-forward ...
以某种方式指向我的 Ingress 控制器。但是 this port-forward
官方网站的参考资料没有提到 Ingress 控制器。
问题
通过 Ingress 控制器将外部流量引入我的集群的最正确方法是什么?
假设这不是针对实际生产工作负载,我建议采用以下方法
不使用 minikube,而是使用 kubeadm 在 EC2 实例上安装单节点 kubernetes 集群。
确保删除主节点污点,以便可以在主节点上安排工作负载 pods,这意味着同一个 EC2 实例将托管控制平面 pods 以及工作量 pods。命令是
kubectl taint nodes nodename node-role.kubernetes.io/master:NoSchedule-
安装 nginx 入口控制器并在部署 yaml 中使用
上的文档hostNetwork: true
。因此 nginx 将在端口80
和443
上侦听 EC2 实例的网络。这是 this.创建入口资源,您可以通过 EC2 实例 public IP 地址访问任何服务。
当您有更多 EC2 实例的预算时,您可以使用
将这些实例作为工作节点添加到集群中kubeadm join
.
注意:您可以使用免费 t2.micro
层 EC2 实例作为工作节点。