用nginx对k8s集群中的service做负载均衡
2021/12/28 7:10:03
本文主要是介绍用nginx对k8s集群中的service做负载均衡,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
用nginx对k8s集群中的service做负载均衡
[root@master test]# cat nginx.yml --- apiVersion: apps/v1 kind: Deployment metadata: name: web namespace: default spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent --- apiVersion: v1 kind: Service metadata: name: web namespace: default spec: ports: - port: 8080 #service用来负载均衡的端口 protocol: TCP nodePort: 30000 #nodePort的取值范围在:30000-32767 targetPort: 80 #pod端口 selector: app: nginx #需要和上面deployment中的app: nginx一致 type: NodePort [root@master test]# kubectl apply -f nginx.yml deployment.apps/web unchanged service/web configured [root@master test]# kubectl describe svc web Name: web Namespace: default Labels: <none> Annotations: <none> Selector: app=nginx Type: NodePort IP Families: <none> IP: 10.97.194.136 IPs: 10.97.194.136 Port: <unset> 8080/TCP TargetPort: 80/TCP NodePort: <unset> 30000/TCP Endpoints: 10.244.1.250:80,10.244.1.251:80,10.244.1.252:80 Session Affinity: None External Traffic Policy: Cluster Events: <none> [root@master test]# kubectl get pod,svc NAME READY STATUS RESTARTS AGE pod/busybox 1/1 Running 0 20m pod/web-7cf7d6dbc8-4rmlv 1/1 Running 0 24m pod/web-7cf7d6dbc8-fw7pn 1/1 Running 0 24m pod/web-7cf7d6dbc8-mfxws 1/1 Running 0 24m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 8d service/web NodePort 10.97.194.136 <none> 8080:30000/TCP 24m [root@master test]# curl 10.97.194.136:8080 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html> bosybox是一个工具,非常小直接启动它来验证 [root@master test]# kubectl run busybox --rm -it --image=busybox /bin/sh If you don't see a command prompt, try pressing enter. / # wget web.default.svc.cluster.local:8080 #kubectl的任何pod里面都可以通过服务名.namespace名:服务端口的方式进行访问 Connecting to web.default.svc.cluster.local:8080 (10.97.194.136:8080) saving to 'index.html' index.html 100% |******************************************| 615 0:00:00 ETA 'index.html' saved / # ls bin etc index.html root tmp var dev home proc sys usr / # more index.html <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
这篇关于用nginx对k8s集群中的service做负载均衡的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23云原生周刊:利用 eBPF 增强 K8s
- 2024-12-20/kubernetes 1.32版本更新解读:新特性和变化一目了然
- 2024-12-19拒绝 Helm? 如何在 K8s 上部署 KRaft 模式 Kafka 集群?
- 2024-12-16云原生周刊:Kubernetes v1.32 正式发布
- 2024-12-13Kubernetes上运行Minecraft:打造开发者平台的例子
- 2024-12-12深入 Kubernetes 的健康奥秘:探针(Probe)究竟有多强?
- 2024-12-10运维实战:K8s 上的 Doris 高可用集群最佳实践
- 2024-12-022024年最好用的十大Kubernetes工具
- 2024-12-02OPA守门人:Kubernetes集群策略编写指南
- 2024-11-26云原生周刊:K8s 严重漏洞