首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Minikube:使用代理/vpn访问私有服务

Minikube:使用代理/vpn访问私有服务
EN

Stack Overflow用户
提问于 2018-04-23 04:54:15
回答 1查看 704关注 0票数 1

我安装minikube是为了更好地学习kubernetes。我已经部署了一些应用程序和服务,它们的ip在10.x.x.x (内网ip)范围内。我可以在minikube上公开我的服务,并在我的浏览器中访问它们。但是我想使用内网IP,而不是暴露它。

如何访问minikube中服务的(vpn/proxy wize)内网ip?

EN

回答 1

Stack Overflow用户

发布于 2018-04-25 00:04:53

Minikube是只有一个节点和主服务器在此节点上运行的Kubernetes。它提供了学习如何在所需最少硬件的情况下工作的可能性。它是测试目的的理想之选,并且可以在笔记本电脑上无缝运行。Minikube仍然是来自Kubernetes的成熟网络栈的软件。这意味着端口向服务公开,并且虚拟服务与pods进行通信。

为了理解通信的内容,让我解释一下ClusterIP的作用--它在集群中的一个内部IP上公开服务。此类型使服务只能从群集内访问。

集群IP可以通过以下命令获取:

代码语言:javascript
运行
复制
kubectl get services test_service

因此,在创建新服务之后,您希望建立到ClusterAPI的连接。

基本上,有三种方式可以连接到后台资源:

1/使用kube-proxy -此代理将Kubernetes API中定义的服务和简单的TCP和UDP流反映到后端或高级配置中的一组后端。服务集群IP和端口当前是通过指定服务代理打开的端口的Docker compatible environment variables找到的。有一个可选的插件可以为这些集群IP提供集群DNS。用户必须使用apiserver API创建服务才能配置代理。

示例显示了如何使用节点选择器来定义到ClusterIP上端口5000的连接- config.yaml可能包括:

代码语言:javascript
运行
复制
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/使用port forwarding to access application -首先检查用于与您的minikube群集通信的kubectl命令行工具是否正常工作,如果是,请从ClusterIP配置中查找服务端口。

代码语言:javascript
运行
复制
kubectl get svc | grep test_service

假设服务test_service在端口5555上工作,因此要进行端口转发,请运行以下命令:

代码语言:javascript
运行
复制
kubectl port-forward pods/test_service 5555:5555

之后,您的服务将在localhost:5555上可用

3/如果您熟悉pods networking的概念,则可以在pod的清单文件中声明公共端口。用户可以连接到定义清单的pods网络:

代码语言:javascript
运行
复制
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作为常规的网络服务来处理并不是一个好的做法--在最坏的情况下,它很快就会因为连接的无效内部网络状态而中断集群。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49970656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档