如何使用kube-proxy在k8s中转发https服务?

时间:2017-03-30 02:48:00

标签: docker https kubernetes

众所周知,kube-proxy用于代理可以通过apiserver从外部网络访问的服务器,kube-proxy支持k8s中的代理https服务或任何其他解决方案,以便我们可以通过apiserver访问它? / p>

2 个答案:

答案 0 :(得分:0)

您需要通过Nodeport类型的服务公开您的https pod,然后您可以通过群集中任何节点(主服务器或工作服务器)上定义的端口访问https,因为kube-proxy会将请求转发到您的pod是服务的一部分。 NodePorts默认情况下可以在30000-32767范围内。

使用nginx的https服务和部署的配置示例:

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
  name: nginx
  labels:
    app: nginx
spec:
  type: NodePort
  ports:
  - port: 443
    name: nginx
    targetPort: 443
    nodePort: 32756
  selector:
    app: nginx
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginxdeployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        imagePullPolicy: Always
        ports:
        - containerPort: 443

答案 1 :(得分:0)

kube-proxy iptables模式适用于IP层(网络层),它不关心数据包是http还是https