update at 2024-04-09 16:35:40
parent
047ec0fa74
commit
671ea4dcc4
|
@ -73,7 +73,7 @@ kubectl -n kube-system edit configmap coredns
|
||||||
|
|
||||||
参考 k8s 官方文档 [Using NodeLocal DNSCache in Kubernetes clusters](https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/)
|
参考 k8s 官方文档 [Using NodeLocal DNSCache in Kubernetes clusters](https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/)
|
||||||
|
|
||||||
如果是使用 TKE 并且 kube-proxy 转发模式为 iptables,可以直接在扩展组件中安装此扩展组件,扩展组件说明请参考 [TKE 官方文档](https://cloud.tencent.com/document/product/457/49423);如果使用的 ipvs 模式,可以参考 [TKE IPVS 模式安装 localdns](../../tencent/networking/install-localdns-with-ipvs.md)。
|
如果是使用 TKE 并且 kube-proxy 转发模式为 iptables,可以直接在扩展组件中安装此扩展组件,扩展组件说明请参考 [TKE 官方文档](https://cloud.tencent.com/document/product/457/49423);如果使用的 ipvs 模式,可以参考 [IPVS 模式安装 NodeLocalDNS](https://imroc.cc/tke/networking/install-localdns-with-ipvs)。
|
||||||
|
|
||||||
## 使用 DNSAutoscaler
|
## 使用 DNSAutoscaler
|
||||||
|
|
||||||
|
|
|
@ -30,5 +30,5 @@
|
||||||
|
|
||||||
1. 业务层面自动重连,避免连接 "固化" 到某个后端 Pod 上。比如周期性定时重连,或者一个连接中处理的请求数达到阈值后自动重连。
|
1. 业务层面自动重连,避免连接 "固化" 到某个后端 Pod 上。比如周期性定时重连,或者一个连接中处理的请求数达到阈值后自动重连。
|
||||||
2. 不直接请求后端,通过七层代理访问。比如 gRPC 协议,可以 [使用 nginx ingress 转发 gRPC](https://kubernetes.github.io/ingress-nginx/examples/grpc/),也可以 [使用 istio 转发 gRPC](https://istiobyexample.dev/grpc/),这样对于 gRPC 这样多个请求复用同一个长连接的场景,经过七层代理后,可以自动拆分请求,在请求级别负载均衡。
|
2. 不直接请求后端,通过七层代理访问。比如 gRPC 协议,可以 [使用 nginx ingress 转发 gRPC](https://kubernetes.github.io/ingress-nginx/examples/grpc/),也可以 [使用 istio 转发 gRPC](https://istiobyexample.dev/grpc/),这样对于 gRPC 这样多个请求复用同一个长连接的场景,经过七层代理后,可以自动拆分请求,在请求级别负载均衡。
|
||||||
3. kube-proxy 的 ipvs 转发策略设置为 sh (`--ipvs-scheduler=sh`)。如果用的腾讯云 EKS 弹性集群,没有节点,看不到 kube-proxy,可以通过 `eks.tke.cloud.tencent.com/ipvs-scheduler: 'sh'` 这样的注解来设置,另外还支持将端口号也加入到 hash 的 key,更利于负载均衡,需再设置下 `eks.tke.cloud.tencent.com/ipvs-sh-port: "true"`,参考 [EKS 注解](../tencent/appendix/eks-annotations.md#%E8%AE%BE%E7%BD%AE-ipvs-%E5%8F%82%E6%95%B0)。
|
3. kube-proxy 的 ipvs 转发策略设置为 sh (`--ipvs-scheduler=sh`)。如果用的腾讯云 EKS 弹性集群,没有节点,看不到 kube-proxy,可以通过 `eks.tke.cloud.tencent.com/ipvs-scheduler: 'sh'` 这样的注解来设置,另外还支持将端口号也加入到 hash 的 key,更利于负载均衡,需再设置下 `eks.tke.cloud.tencent.com/ipvs-sh-port: "true"`,参考 [Serverless 注解](https://cloud.tencent.com/document/product/457/44173#.E8.AE.BE.E7.BD.AE-ipvs-.E5.8F.82.E6.95.B0)。
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
# 安装 aws-load-balancer-controller
|
||||||
|
|
||||||
|
## 概述
|
||||||
|
|
||||||
|
EKS 集群创建好后,默认只有一个 CLB (Classic Load Balancer) 类型的 Service 实现,托管的, 用户不可见,不感知。
|
||||||
|
|
||||||
|
通常要安装开源的 [AWS Load Balancer Controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller) 作为 Service/Ingress 在 AWS 环境里的 LB 实现:
|
||||||
|
* Service 使用 NLB (Network Load Balancer) 实现,默认通过 MutatingWebhook 自动为 Service 加上 LoadBalancerClass 指定为 `service.k8s.aws/nlb` 来替代默认的 CLB 实现。
|
||||||
|
* Ingress 使用 ALB (Application Load Balancer) 实现。
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
26
package.json
26
package.json
|
@ -15,27 +15,27 @@
|
||||||
"typecheck": "tsc"
|
"typecheck": "tsc"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@docusaurus/core": "^3.1.0",
|
"@docusaurus/core": "^3.2.1",
|
||||||
"@docusaurus/plugin-ideal-image": "^3.1.0",
|
"@docusaurus/plugin-ideal-image": "^3.2.1",
|
||||||
"@docusaurus/plugin-pwa": "^3.1.0",
|
"@docusaurus/plugin-pwa": "^3.2.1",
|
||||||
"@docusaurus/preset-classic": "^3.1.0",
|
"@docusaurus/preset-classic": "^3.2.1",
|
||||||
"@giscus/react": "^2.3.0",
|
"@giscus/react": "^3.0.0",
|
||||||
"@mdx-js/react": "^3.0.0",
|
"@mdx-js/react": "^3.0.1",
|
||||||
"clsx": "^1.2.1",
|
"clsx": "^2.1.0",
|
||||||
"docusaurus-plugin-sass": "^0.2.5",
|
"docusaurus-plugin-sass": "^0.2.5",
|
||||||
"path-browserify": "^1.0.1",
|
"path-browserify": "^1.0.1",
|
||||||
"plugin-image-zoom": "github:flexanalytics/plugin-image-zoom",
|
"plugin-image-zoom": "github:flexanalytics/plugin-image-zoom",
|
||||||
"prism-react-renderer": "^2.1.0",
|
"prism-react-renderer": "^2.3.1",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
"react": "^18.0.0",
|
"react": "^18.0.0",
|
||||||
"react-dom": "^18.0.0",
|
"react-dom": "^18.0.0",
|
||||||
"sass": "^1.69.5"
|
"sass": "^1.74.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@docusaurus/module-type-aliases": "^3.1.0",
|
"@docusaurus/module-type-aliases": "^3.2.1",
|
||||||
"@docusaurus/tsconfig": "^3.1.0",
|
"@docusaurus/tsconfig": "^3.2.1",
|
||||||
"@docusaurus/types": "^3.1.0",
|
"@docusaurus/types": "^3.2.1",
|
||||||
"typescript": "~5.2.2"
|
"typescript": "^5.4.4"
|
||||||
},
|
},
|
||||||
"browserslist": {
|
"browserslist": {
|
||||||
"production": [
|
"production": [
|
||||||
|
|
Loading…
Reference in New Issue