自动扩缩集群DNS服务-Kubernetes-树叶云kubernetes教程 (自动扩缩集群什么意思)

教程大全 2025-07-18 01:11:06 浏览

自动扩缩集群DNS服务

本页展示了如何在集群中启用和配置DNS服务的自动扩缩功能

在开始之前

要检查版本,请输入​ kubectlversion ​。

确定 DNS 水平自动扩缩特性是否已经启用

在kube-system命名空间中列出集群中的Deployments:

kubectl get deployment --namespace=kube-system

输出类似如下这样:

NAMEDESIREDCURRENTUP-TO-DATEAVAILABLEAGE...dns-autoscaler1111......

如果在输出中看到“dns-autoscaler”,说明DNS水平自动扩缩已经启用,可以跳到调优自动扩缩参数。

获取DNSDeployment的名称

列出集群内kube-system名字空间中的DNSDeployment:

kubectl get deployment -l k8s-app=kube-dns --namespace=kube-system

输出类似如下这样:

NAMEREADYUP-TO-DATEAVAILABLEAGE...coredns2/222......

如果看不到DNS服务的Deployment,你也可以通过名字来查找:

kubectl get deployment --namespace=kube-system

并在输出中寻找名称为​​或​​的Deployment。

你的扩缩目标为:

Deployment/

其中​​是DNSDeployment的名称。例如,如果你的DNSDeployment名称是​​,则你的扩展目标是Deployment/coredns。

启用DNS水平自动扩缩

在本节,我们创建一个Deployment。Deployment中的Pod运行一个基于​ cluster-proportional-autoscaler-amd64 ​镜像的容器。

创建文件​ dns-horizontal-autoscaler.yaml ​,内容如下所示:

kind: ServiceAccountapiVersion: v1metadata:name: kube-dns-autoscalernamespace: kube-system---kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: system:kube-dns-autoscalerrules:- apiGroups: [""]resources: ["nodes"]verbs: ["list", "watch"]- apiGroups: [""]resources: ["replicationcontrollers/scale"]verbs: ["get", "update"]- apiGroups: ["apps"]resources: ["deployments/scale", "replicasets/scale"]verbs: ["get", "update"]# 待以下 issue 修复后,请删除 Configmaps# Kubernetes-incubator/cluster-proportional-autoscaler#16- apiGroups: [""]resources: ["configmaps"]verbs: ["get", "create"]---kind: ClusterRoleBindingapiVersion: rbac.authorization.k8s.io/v1metadata:name: system:kube-dns-autoscalersubjects:- kind: ServiceAccountname: kube-dns-autoscalernamespace: kube-systemroleRef:kind: ClusterRolename: system:kube-dns-autoscalerapiGroup: rbac.authorization.k8s.io---apiVersion: apps/v1kind: Deploymentmetadata:name: kube-dns-autoscalernamespace: kube-systemlabels:k8s-app: kube-dns-autoscalerkubernetes.io/cluster-service: "true"spec:selector:matchLabels:k8s-app: kube-dns-autoscalertemplate:metadata:labels:k8s-app: kube-dns-autoscalerspec:priorityClassName: system-cluster-criticalsecurityContext:seccompProFILE:type: RuntimeDefaultsupplementalGroups: [ 65534 ]fsGroup: 65534nodeSelector:kubernetes.io/os: linuxcontainers:- name: autoscalerimage: k8s.gcr.io/cpa/cluster-proportional-autoscaler:1.8.4resources:requests:cpu: "20m"memory: "10Mi"command:- /cluster-proportional-autoscaler- --namespace=kube-system- --configmap=kube-dns-autoscaler# 应该保持目标与 cluster/addons/dns/kube-dns.yaml.base 同步- --target=#当集群使用大节点(有更多核)时,“coresPerReplica”应该占主导地位。#如果使用小节点,“nodesPerReplica“ 应该占主导地位。- --default-params={"linear":{"coresPerReplica":256,"nodesPerReplica":16,"preventSinglePointFailure":true,"includeUnschedulableNodes":true}}- --logtostderr=true- --v=2tolerations:- key: "CriticalAddonsOnly"operator: "Exists"serviceAccountName: kube-dns-autoscaler

在文件中,将​​替换成扩缩目标。

进入到包含配置文件的目录中,输入如下命令创建Deployment:

kubectl apply -f dns-horizontal-autoscaler.yaml

一个成功的命令输出是:

deployment.apps/dns-autoscaler created

DNS水平自动扩缩在已经启用了。

调优自动扩缩参数

验证dns-autoscalerConfigMap是否存在:

kubectl get configmap --namespace=kube-system

输出类似于:

NAMEDATAAGE...dns-autoscaler1......

修改该ConfigMap中的数据:

kubectl edit configmap dns-autoscaler --namespace=kube-system

找到如下这行内容:

linear: '{"coresPerReplica":256,"min":1,"nodesPerReplica":16}'

根据需要修改对应的字段。“min”字段表明DNS后端的最小数量。实际后端的数量通过使用如下公式来计算:

replicas = max( ceil( cores * 1/coresPerReplica ) , ceil( nodes * 1/nodesPerReplica ) )

注意​ coresPerReplica ​和​ nodesPerReplica ​的值都是整数。

背后的思想是,当一个集群使用具有很多核心的节点时,由​ coresPerReplica ​来控制。当一个集群使用具有较少核心的节点时,由​ nodesPerReplica ​来控制。

其它的扩缩模式也是支持的,详情查看cluster-proportional-autoscaler。

禁用DNS水平自动扩缩

有几个可供调优的DNS水平自动扩缩选项。具体使用哪个选项因环境而异。

选项1:缩容dns-autoscalerDeployment至0个副本

该选项适用于所有场景。运行如下命令:

kubectl scale deployment --replicas=0 dns-autoscaler --namespace=kube-system

输出如下所示:

deployment.apps/dns-autoscaler scaled

验证当前副本数为0:

kubectl get rs --namespace=kube-system

输出内容中,在DESIRED和CURRENT列显示为0:

NAMEDESIREDCURRENTREADYAGE...dns-autoscaler-6b59789fc8000......

选项2:删除dns-autoscalerDeployment

如果dns-autoscaler为你所控制,也就说没有人会去重新创建它,可以选择此选项:

kubectl delete deployment dns-autoscaler --namespace=kube-system

输出内容如下所示:

deployment.apps "dns-autoscaler" deleted

选项3:从主控节点删除dns-autoscaler清单文件

如果dns-autoscaler在插件管理器的控制之下,并且具有操作master节点的写权限,可以使用此选项。

登录到主控节点,删除对应的清单文件。dns-autoscaler对应的路径一般为:

/etc/kubernetes/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml

当清单文件被删除后,插件管理器将删除dns-autoscalerDeployment。

理解DNS水平自动扩缩工作原理


请教网管之星是一款什么样功能的软件

网管软件NetViewV2.0软件大小:nbsp;nbsp;KBnbsp;软件语言:nbsp;简体中文nbsp;软件类别:nbsp;国产软件nbsp;/nbsp;共享版nbsp;/nbsp;网络辅助nbsp;应用平台:nbsp;Win9x/NT/2000/XP/2003nbsp;长期以来,IT运维管理行业最早有HP公司的OpenView,IBM的Tivoli,由于国外公司的网管产品存在与中国市场脱节,价格昂贵等问题。 网管之星的出现,打断了长期以来国外垄断的局面,使国内的网管员在选择网管平台时,有了一个更好的选择。 宏生电通自从进入网管领域,以领先的行业方案和高质量的服务,打造了广受网管员称道的民族品牌:网管之星“NetStar”。 nbsp;nbsp;网管之星“NetStar”,针对不同的服务对象和服务要求,现在已形成有相当竞争力的三套产品:nbsp;nbsp;1)综合网管软件“NetView2.0”:专注对局域网、广域网和互联网上的应用系统、服务器和网络设备的故障监测和性能管理,是集中式、跨平台的综合系统管理软件。 nbsp;nbsp;2)主机系统管理软件“SysView2.0”:针对对应用系统、网络设备、服务器、中间件、数据库、电子邮件、WEB系统、DNS系统、FTP系统、电子商务等进行全面深入的监测管理nbsp;nbsp;3)远程桌面管理软件“DeskView2.0”:随着IT应用的不断深化,企业IT环境越来越复杂,管理难度和成本也随之攀升,桌面级系统与设备的管理难度加大,传统的手工方式已经无法应对大型的桌面应用集群。 针对种种问题和挑战,宏生电通科技推出了强有力的桌面管理产品—DeskView,它可以有效解决软件分发、补丁管理、资产管理、应用程序管理、外设管理和远程控制等各种常见的桌面管理问题。 nbsp;nbsp;nbsp;网管之星的出现,打断了长期以来国外垄断的局面,使国内的网管员在选择网管平台时,有了一个更好的选择。 宏生电通网络是国内优秀的网络管理解决方案提供商。 在对客户需求的把握、系统架构设计、项目管理、程序编码、质量控制、前沿技术的研究和追踪、软件产品市场化等方面积累了丰富的经验。 宏生电通自成立起,就推出了NetView综合网管系统包括系统管理软件和设备管理软件,在系统管理方面具有得天独厚的优势。 宏生电通拥有强大的研发实力,一直专注于网络管理软件的研究和开发,拥有NetView系统全部源代码和知识产权,可为客户进行二次开发或量身定做,从而更好、更全面地满足客户个性化的需求。

两台台式电脑如何使用一根网线?

自动扩缩集群DNS服务

1、连线方法:电话入户线-->猫DSL口上-->路由器的线一头插在猫的 LAN 口上,另外一头插在路由器的WAN口上-->电脑(分别两条线都插在路由器的 LAN 口上). 2、路由器的设置方法:按照上面的顺序将网络设备和线路全部连接好后,将猫、路由器、电脑的电源全部打开后,接下来进行设置路由器,方法如下:打开ie输入192.168.1.1或192.168.0.1(因路由器厂商而定,说明书里有) 弹出对话框输入路由器用户名、密码,一般是admin(说明书里有) 进入控制页面(如有设置向导按照它来设置) 在web设置里会让你输入宽带账号和密码 (找到拨号方式,设置为:自动,以后打开电源,路由器就会自动拨号)并开启DHCP服务,ADSL需要选定PPPoE。 ADSL宽带是动态IP(有些路由器需要设置IP方式,动态?静态?需要你自己去拨打宽带客服核实) 在网参数里将ADSL宽带的DNS服务器地址也添加上(需要你拨打宽带客服咨询)设置完后确认就行了 插好设好后可以可以测试一下 PING,看是不是通了. 在运行里输入ping 192.168.1.1 -t 或ping 192.168.0.1 -t 具体不说了,会跳出来TTL=255或TTL=128或TTL=64 还有一点需要注意:在网上邻居---本地连接--属性--TCP/IP--属性里,设置成自动获取IP。 注:没有猫的小区宽带,就是网线直接连接路由器的WAN口,其他设置相同。

网吧在硬件和软件方面应主要哪些?

网吧主要是上网,打游戏,因此网卡要好的,显卡要好的;同时要有保护措施,可以加装保护卡,不能让网民可以随意更改配置。 软件方面,我觉得常用的聊天工具肯要有,各种网络游戏;电影点播系统。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐