从外部pod访问kubernetics服务但在群集内

时间:2017-10-16 11:49:35

标签: kubernetes

我在kubernetes集群中的同一端口上运行了多个服务;所以它像ser1,ser2,ser3一样使用相同的端口8080.我可以从一个pod内部以<serv-name>:8080的形式访问这些服务,但是我也可以从一个主机节点(即容器外部)以相同的方式访问它们其中一个集群节点?

我试着环顾四周,但没有找到任何相关的讨论。请有人建议。

我的示例配置

apiVersion: v1
kind: Service
metadata:
  name: svc1
  namespace: sample
  labels:
    app: svc1
spec:
  selector:
    app: app1
  ports:
  - name: psvc1
    port: 8080
    targetPort: 9090
    protocol: TCP

1 个答案:

答案 0 :(得分:1)

正如Dries所说,使用集群IP,我们可以从节点访问服务。

kubectl run nginx --image=nginx --port=80 --expose=true

kubectl  get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP   9d
nginx        ClusterIP   10.103.206.246   <none>        80/TCP    52m


# curl 10.103.206.246:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>