Kubernetes 有兴趣使用Minikube&;在EC2实例上建立K8s群集;域名

Kubernetes 有兴趣使用Minikube&;在EC2实例上建立K8s群集;域名,kubernetes,amazon-ec2,kubernetes-ingress,Kubernetes,Amazon Ec2,Kubernetes Ingress,我有一个EC2实例,用于个人工作和流量非常小的项目(投资组合等) 我认为使用Minikube建立一个运行我的各种项目的开发集群并将域名连接到这个实例会非常酷(尽管显然有些过分) 安装程序 我有一个指向我的服务的入口控制器,其IP地址与主机不同。我认为这是虚拟机的IP地址,但只能从主机访问 我真的很想使用入口,因为我有许多项目在使用不同的域名运行。基于我有限的知识,这似乎是一个简单而正确的解决方案 问题 由于不太了解k8s/网络,我不知道如何将访问分配给实例的弹性IP的外部流量定向到入口控制器 我

我有一个EC2实例,用于个人工作和流量非常小的项目(投资组合等)

我认为使用Minikube建立一个运行我的各种项目的开发集群并将域名连接到这个实例会非常酷(尽管显然有些过分)

安装程序 我有一个指向我的服务的入口控制器,其IP地址与主机不同。我认为这是虚拟机的IP地址,但只能从主机访问

我真的很想使用入口,因为我有许多项目在使用不同的域名运行。基于我有限的知识,这似乎是一个简单而正确的解决方案

问题 由于不太了解k8s/网络,我不知道如何将访问分配给实例的弹性IP的外部流量定向到入口控制器

我试过的 我在想,因为这实际上只用于开发目的,所以我可以尝试使用
kubect-port-forward…
以某种方式指向我的入口控制器。但是
端口转发
官方网站上的参考资料并未提及入口控制器

问题:
通过入口控制器将外部流量引入集群的最正确方法是什么?

假设这不是针对实际生产工作负载,我建议采用以下方法

  • 在EC2实例上安装单节点kubernetes群集,而不是使用minikube

  • 确保删除主节点污染,以便可以在主节点上调度工作负载吊舱,这意味着相同的EC2实例将承载控制平面吊舱和工作负载吊舱。这方面的命令是

    kubectl污染节点节点名节点角色。kubernetes.io/master:NoSchedule-

  • 安装nginx入口控制器并在部署yaml中使用
    hostNetwork:true
    。因此,nginx将在端口
    80
    443
    上侦听EC2实例的网络。这是你的医生

  • 创建入口资源,您可以通过EC2实例公共IP地址访问任何服务

  • 当您有更多EC2实例的预算时,您可以使用
    kubeadm join
    将这些作为工作节点添加到集群中


  • 注意:您可以使用免费的
    t2.micro
    ,它是tier EC2实例作为工作节点。

    假设这不是实际的生产工作负载,我建议使用下面的方法

  • 在EC2实例上安装单节点kubernetes群集,而不是使用minikube

  • 确保删除主节点污染,以便可以在主节点上调度工作负载吊舱,这意味着相同的EC2实例将承载控制平面吊舱和工作负载吊舱。这方面的命令是

    kubectl污染节点节点名节点角色。kubernetes.io/master:NoSchedule-

  • 安装nginx入口控制器并在部署yaml中使用
    hostNetwork:true
    。因此,nginx将在端口
    80
    443
    上侦听EC2实例的网络。这是你的医生

  • 创建入口资源,您可以通过EC2实例公共IP地址访问任何服务

  • 当您有更多EC2实例的预算时,您可以使用
    kubeadm join
    将这些作为工作节点添加到集群中


  • 注意:您可以使用免费的
    t2.micro
    ,它是tier EC2实例作为工作节点。

    谢谢!我会在下班后试试这个,如果我能让它工作,我会打绿色的勾号。:)hostNetwork:true是否意味着我将绕过任何虚拟网络提供商,如Calico?或者这只是为入口控制器将网络设置为hostNetwork?只是入口控制器pod将在主机网络名称空间上运行谢谢!我会在下班后试试这个,如果我能让它工作,我会打绿色的勾号。:)hostNetwork:true是否意味着我将绕过任何虚拟网络提供商,如Calico?或者这只是将入口控制器的网络设置为hostNetwork?只是入口控制器pod将在主机网络名称空间上运行