为了使kubernetes更高效更稳定,往往需要针对操作系统层或Kubernetes本身在内存调度策略、磁盘使用策略、网络策略等方面进行优化,本节内容将讲述端点切片方案。
端点切片为Kubernetes端点提供了可伸缩和可扩展的替代方案,它们建立在端点提供的功能基础之上,并以可伸缩的方式进行扩展,当服务具有大量(>100)网络端点, 它们将被分成多个较小的端点切片资源,而不是单个大型端点资源。
但是,端点切片只是对端点的补充,而不是替代端口,目前,Kubernetes默认不启用端点切片,相关参数说明如下:
参数 | 说明 |
--runtime-config=discovery.k8s.io/v1alpha1=true | 启用端点切片 Discovery API |
--controllers=endpointslice | 负责监视服务 |
--feature-gates=EndpointSlice=true | 开启端点切片功能标志 |
完全启用端点切片后,可以看到每个端点资源对应的端点切片资源,除了兼容现有的端点功能,端点切片还包括拓扑等新的信息。
端点切片配置示例:
apiVersion: discovery.k8s.io/v1 kind: EndpointSlice metadata: name: example-abc labels: kubernetes.io/service-name: example addressType: IPv4 ports: - name: http protocol: TCP port: 80 endpoints: - addresses: - "10.1.2.3" conditions: ready: true hostname: pod-1 nodeName: node-1 zone: zone-1
原创文章禁止转载:技术学堂 » Kubernetes常见优化之端点切片