//查看在那个节点
[root@master ~]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
haproxy-6bd5fb69d5-r258h 1/1 Running 0 10m 10.244.1.71 node1
web1-855b788957-zxf47 1/1 Running 0 10m 10.244.1.69 node1
web2-5f7456967b-tpmfj 1/1 Running 0 10m 10.244.1.70 node1
//根据情况选择在哪个节点上创建haproxy_config
[root@node1 /]# mkdir haproxy_config
[root@node1 /]# vim haproxy_config/RSs.txt
web1
web2
[root@master ~]# cat manifest/haproxy.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: haproxy
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: haproxy
template:
metadata:
labels:
app: haproxy
spec:
containers:
- image: 1314444/haproxy:v0.2
imagePullPolicy: IfNotPresent
name: haproxy
volumeMounts:
- name: data
mountPath: /tmp
volumes:
- name: data
hostPath:
path: /haproxy_config
type: Directory
apiVersion: v1
kind: Service
metadata:
name: haproxy
namespace: default
spec:
ports:
- name: httpd
port: 80 #把pod的80端口映射到本机的80
protocol: TCP
targetPort: 80
- name: haproxy
port: 8189 #把pod的8189端口映射到本机的8189
protocol: TCP
targetPort: 8189
selector:
app: haproxy
type: NodePort
[root@master ~]# kubectl apply -f manifest/haproxy.yml
deployment.apps/haproxy created
[root@master ~]# kubectl get pod,svc
NAME READY STATUS RESTARTS AGE
pod/haproxy-6bd5fb69d5-r258h 1/1 Running 0 4m17s
pod/web1-855b788957-zxf47 1/1 Running 0 4m29s
pod/web2-5f7456967b-tpmfj 1/1 Running 0 4m25s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/haproxy NodePort 10.106.74.103 80:31919/TCP,8189:30703/TCP 4m17s
service/kubernetes ClusterIP 10.96.0.1 443/TCP 3d22h
service/web1 NodePort 10.103.108.106 80:32753/TCP 4m29s
service/web2 NodePort 10.101.31.171 80:31508/TCP 4m25s
[root@master ~]# kubectl exec haproxy-6bd5fb69d5-r258h – cat /usr/local/haproxy/conf/haproxy.cfg
#--------------全局配置----------------
global
log 127.0.0.1 local0 info
#log loghost local0 info
maxconn 20480
#chroot /usr/local/haproxy
pidfile /var/run/haproxy.pid
#maxconn 4000
user haproxy
group haproxy
daemon
#---------------------------------------------------------------------
#common defaults that all the ‘listen’ and ‘backend’ sections will
#use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http
log global
option dontlognull
option httpclose
option httplog
#option forwardfor
option redispatch
balance roundrobin
timeout connect 10s
timeout client 10s
timeout server 10s
timeout check 10s
maxconn 60000
retries 3
#--------------统计页面配置------------------
listen admin_stats
bind 0.0.0.0:8189
stats enable
mode http
log global
stats uri /haproxy_stats
stats realm Haproxy\ Statistics
stats auth admin:admin
#stats hide-version
stats admin if TRUE
stats refresh 30s
#---------------web设置-----------------------
listen webcluster
bind 0.0.0.0:80
mode http
#option httpchk GET /index.html
log global
maxconn 3000
balance roundrobin
cookie SESSION_COOKIE insert indirect nocache
server web1 web1:80 check inter 2000 fall 5
server web2 web2:80 check inter 2000 fall 5
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-u4IXl1gY-1710884172797)]
[外链图片转存中…(img-2juEDEE1-1710884172797)]
[外链图片转存中…(img-B2NhQau0-1710884172798)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-HuOxfng4-1710884172798)]