首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
1. Service
1.1. Service 介绍
1.1.1.userspace模式
1.1.2. iptables模式
1.1.3. ipvs模式
1.2. 模板
1.3. 案例
1.3.1. 不指定VIP的service
1.3.2. 指定VIP的service
1.3.3. 使用NodePort的service
1.3.4. Headless service
1.3.5. SVC代理集群外服务
2. Ingress
2.1. Ingress/IngressController
2.2. 安装IngressController
2.2.1. 选型
2.2.2. 安装Traefik
2.2.2.2. 使用helm部署
2.3. 模板
2.4. 案例
2.4.1. http请求
2.4.2. https请求
2.5. Traefik简单使用
2.5.1. 配置Dashboard
当前位置:
首页>>
技术小册>>
Kubernets合辑6-服务发现
小册名称:Kubernets合辑6-服务发现
像MySQL集群这种对性能要求很高的有状态应用,并不是很推荐在Kuberentes中部署,业务程序想要使用集群外部的MySQL实例可以通过配置文件或者环境变量指定MySQL地址。 为了统一集群内服务访问方式,部分公司会使用Kubernetes中SVC去代理集群外中间件流量,这样访问集群外中间件就如同访问集群的中间件。实现方式很简单,只需要指定SVC和对应Endpoint,并且Endpoint的后端节点为集群外的中间件访问地址和端口。 ``` --- apiVersion: v1 kind: Service metadata: name: rds-devops-01 namespace: default spec: ports: - name: mysql port: 3306 --- apiVersion: v1 kind: Endpoints metadata: # Endpoints 的name必须和Service一致,这样才能关联上 name: rds-devops-01 namespace: default subsets: - addresses: - ip: 10.0.160.11 ports: - name: mysql port: 3306 --- # 用于作为MySQL客户端进行测试 apiVersion: apps/v1 kind: Deployment metadata: name: rds-client namespace: default spec: replicas: 1 selector: matchLabels: app: rds-client template: metadata: labels: app: rds-client spec: containers: - name: mysql image: mysql:5.7 command: ["sleep", "600"] ``` ``` # 验证是否可以通过SVC去连接集群外部的数据库 [root@maxiaoke nginx-01]# kubectl exec -it rds-client-85d97ddb97-sp24g -- bash root@rds-client-85d97ddb97-sp24g:/# mysql -u root -p -h rds-devops-01 -e "select version();" Enter password: +-----------+ | version() | +-----------+ | 5.7.35 | +-----------+ ```
上一篇:
1.3.4. Headless service
下一篇:
2. Ingress
该分类下的相关小册推荐:
Kubernetes合辑1-安装Kubernetes
Kubernets合辑15-持续部署
Kubernetes中文教程(二)
云原生-K8S入门实战
Kubernetes中文教程(一)
Kubernets合辑12-配置中心
Kubernets合辑13-集群监控
Kubernetes中文教程(五)
Kubernets合辑4-kubernetes入门
Kubernetes中文教程(四)
Kubernets合辑3-kubernetes介绍
Kubernets合辑5-Pod控制器