Kubernetes Cloud Native 实践 ( 二 ) 简单使用
2023-06-13 20:35:20 413
全文目录
Kubernetes Cloud Native 实践 ( 一 ) 安装
Kubernetes Cloud Native 实践 ( 二 ) 简单使用
Kubernetes Cloud Native 实践 ( 三 ) NFS/PV/PVC
Kubernetes Cloud Native 实践 ( 四 ) 中间件上云
Kubernetes Cloud Native 实践 ( 五 ) 应用上云
Kubernetes Cloud Native 实践 ( 六 ) 集成ELK日志平台
Kubernetes Cloud Native 实践 ( 七 ) 应用监控
Kubernetes Cloud Native 实践 ( 八 ) CICD集成
Kubernetes Cloud Native 实践 ( 九 ) 运维管理
Kubernetes Cloud Native 实践 ( 十 ) 相关问题
Kubernetes Cloud Native 实践 ( 十一 ) 运行截图
简单使用
- 安装ingress: 将外部流量路由到集群内部服务
- 安装metallb: 负载均衡
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: ip-pool
namespace: metallb-system
spec:
addresses:
- 192.168.222.134-192.168.222.135
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2-advertisement
namespace: metallb-system
spec:
ipAddressPools:
- ip-pool
MetalLB生效后, service分配到了一个ip: 192.168.222.134
root@localhost:~# kubectl get service -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.10.158.184 192.168.222.134 80:31079/TCP,443:30881/TCP 17h
ingress-nginx-controller-admission ClusterIP 10.10.29.235 <none> 443/TCP 17h
可以通过MTR/traceroute工具看到流量是从192.168.222.132经过再到192.168.222.134的, 因为Leader所在节点就是192.168.222.132
- 创建测试服务
- kubectl create deployment deployment-demo --image=httpd --port=80
- kubectl expose deployment deployment-demo
- kubectl create ingress ingress-demo --class=nginx --rule="test.test.com/*=deployment-demo:80"
- 规则限制了只能填域名
- 查看
ingress-nginx-controller
service所在的节点, 更改hosts文件, 将test.test.com映射到该节点ip, 然后访问test.test.com
- 浏览器显示:
It works!