2、修改/增加spec/template/spec/containers/ports节点,增加以下内容
- containerPort: 8080 protocol: TCP
3、增加服务的yaml文件,通常以xxxx-srv.yaml方式命名,xxxx为服务名。内容如下:
apiVersion: v1 kind: Service metadata: name: 服务名 namespace: default labels: k8s-app: 服务名(这个需要与xxxx-rc.yaml文件中命名的k8s-app字段一致) kubernetes.io/name: "服务名" spec: type: NodePort selector: k8s-app: 服务名 ports: - name: 服务名-sv port: 8081(pod上的端口) targetPort: 8081(service上的端口) nodePort: 30964(node上的端口,如果不设置则由kubernets自动分配)
4、创建服务
kubectl create -f xxxx-svc.yaml
5、查看服务端口号,其中NodePort即是该服务对外暴露的端口号
kubectl describe service xxxx-service
6、编辑/opt/haproxy/config/haproxy.cfg,增加haproxy配置。
listen servicename bind 本地ip:对外开放的地址 mode tcp server server1 服务地址:服务端口号 check port 服务端口号 inter 2000 rise 2 fall 2