Kubernetes Minikube:使用代理/vpn访问私有服务
我安装了minikube来更好地学习kubernetes。 我部署了一些ip在Kubernetes Minikube:使用代理/vpn访问私有服务,kubernetes,minikube,Kubernetes,Minikube,我安装了minikube来更好地学习kubernetes。 我部署了一些ip在10.x.x.x(私有ip)范围内的应用程序和服务。我可以在minikube上公开我的服务,并在浏览器中访问它们。但我想使用私有IP,而不是公开它 如何访问minikube中服务的(vpn/代理wize)专用ip?只有一个节点和主服务器在此节点上运行。 它提供了学习如何使用所需的最低硬件的可能性。 它非常适合用于测试目的,并且可以在笔记本电脑上无缝运行。Minikube仍然是一款成熟的软件 来自Kubernetes的网
10.x.x.x
(私有ip)范围内的应用程序和服务。我可以在minikube上公开我的服务,并在浏览器中访问它们。但我想使用私有IP,而不是公开它
如何访问minikube中服务的(vpn/代理wize)专用ip?只有一个节点和主服务器在此节点上运行。
它提供了学习如何使用所需的最低硬件的可能性。
它非常适合用于测试目的,并且可以在笔记本电脑上无缝运行。Minikube仍然是一款成熟的软件
来自Kubernetes的网络堆栈。这意味着端口暴露于服务,而实际上服务是
与豆荚沟通
为了理解什么是通信,让我解释一下它的作用——它在集群的内部IP上公开服务。此类型使服务只能从集群内访问
您可以通过以下命令获得群集IP:
kubectl get services test_service
kubectl port-forward pods/test_service 5555:5555
因此,在创建新服务之后,您希望建立到ClusterAPI的连接
基本上,有三种方法可以连接到后端资源:
1/使用-此代理将Kubernetes API中定义的服务和简单流TCP和UDP反映到后端或高级配置中的一组服务。当前通过指定服务代理打开的端口可以找到服务群集IP和端口。有一个可选的插件为这些群集IP提供群集DNS。用户必须使用apiserver API创建服务以配置代理
示例显示了如何使用节点选择器定义与ClusterIP上端口5000的连接-config.yaml可能包括:
kind: Service
apiVersion: v1
metadata:
name: jenkins-discovery
namespace: ci spec:
type: ClusterIP
selector:
app: master
ports:
- protocol: TCP
port: 50000
targetPort: 50000
name: slaves
2/使用-首先检查用于与minikube群集通信的命令行工具是否有效,然后如果为真,则从ClusterIP配置中查找服务端口
kubectl get svc | grep test_service
假设service test_服务在端口5555上工作,因此要进行端口转发,请运行以下命令:
kubectl get services test_service
kubectl port-forward pods/test_service 5555:5555
之后,您的服务将在localhost:5555上可用
3/如果您熟悉cat的概念,请在pod的清单文件中声明公共端口。用户可以连接到pods网络定义清单:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 8080
当容器以上述清单文件启动时,主机端口TCP端口8080将转发到pod端口8080
请记住,ClusterIP使用了大量与集群正常工作相关的服务。我认为将ClusterIP作为常规网络服务来处理不是一个好的做法——在最坏的情况下,它很快就会因为无效的内部网络连接状态而中断集群