1、进入/root目录,编辑对应的yaml文件
2、修改/增加spec/template/spec/containers/ports节点,增加以下内容
3、增加服务的yaml文件,通常以xxxx-srv.yaml方式命名,xxxx为服务名。内容如下:
4、创建服务
5、查看服务端口号,其中NodePort即是该服务对外暴露的端口号
6、编辑/opt/haproxy/config/haproxy.cfg,增加haproxy配置。
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