我对Kubernetes很新。我打算用来帮助我使用CI / CD管道,这意味着我的主节点将需要捕获git webhooks(使用Spinnaker,就像Jenkins一样)。
我想运行一个……
您可以在私有子网中部署kubernetes集群,并使用公共子网中的反向代理(例如NGINX)对其进行公开,以便进行身份验证,您可以创建SSL证书( https://github.com/kubernetes/dashboard/wiki/Certificate-management )。
您可以使用conf文件从Spinnaker / jenkins / gitCI连接到kubernetes集群,您可以在其中提供您创建的证书。
Kubernetes提供了许多功能,通过提供安全性和可靠访问来调整应用程序,甚至可以在外部公开Web资源并使其可以从全球网络访问。虽然Kubernetes作为大规模部署的平台很受欢迎,并提供了一系列广泛的功能,但它包含一些重要的资源和系统组件。 设计 。 Kubernetes的基本资源之一是 服务 实际上它是集群中Pod之间网络通信的抽象层。一旦我们启动并运行了Kubernetes集群,我们就可以部署一个应用程序并创建一个服务作为特定内部应用程序容器的网络连接的主要入口点。 荚 。
我承认使用 kubectl proxy 只是揭示特定应用程序端口的一种方法 节点 。但是,当您考虑在群集外部访问应用程序时 NodePort 和 LoadBalancer 服务可以通过在主机上共享应用程序端口或通过外部Load Balancer提供的外部IP地址来实现。但是,它只是您可以实现的Kubernetes功能的一部分 入口 为了传递HTTP和HTTPS流量并管理路由流量和SSL / TLS终止作为边缘设备连接到嵌套应用程序(Pod)服务。
kubectl proxy
NodePort
LoadBalancer
还有一些更全面的开源 Ingress 资源如 Nginx Ingress控制器 , Traefik 具有更高级的功能集,用于流量管理,路由和保护与目标微服务的连接。但是,一些云提供商提供了自己的 Ingress 执行负载平衡并将HTTP [s]流量路由到集群内不同端点的资源,如 AWS ALB入口控制器 在AWS中。
Ingress