华为云用户手册
-
步骤一:源集群数据采集 通过kubectl连接源集群。具体方法可参考使用kubectl连接集群。 使用默认参数配置,采集集群中所有命名空间的数据。执行方法:./kspider-linux-amd64 执行后的输出详细信息如下: [~]# ./kspider-linux-amd64The Cluster version is v1.15.6-r1-CCE2.0.30.B001There are 5 NamespacesThere are 2 NodesName CPU Memory IP Arch OS Kernel MachineID10.1.18.64 4 8008284Ki [10.1.18.64 10.1.18.64] amd64 linux 3.10.0-1127.19.1.el7.x86_64 ef9270ed-7eb3-4ce6-a2d8-f1450f85489a10.1.19.13 4 8008284Ki [10.1.19.13 10.1.19.13] amd64 linux 3.10.0-1127.19.1.el7.x86_64 2d889590-9a32-47e5-b947-09c5bda81849There are 9 PodsThere are 0 LonePods: There are 2 StatefulSets: Name Namespace NodeAffinityminio default falseminio minio falseThere are 3 Deployments: Name Namespace NodeAffinityrctest default trueflink-operator-controller-manager flink-operator-system falserctest minio falseThere are 1 DaemonSets: Name Namespace NodeAffinityds-nginx minio falseThere are 0 Jobs: There are 0 CronJobs: There are 4 PersistentVolumeClaims: Namespace/Name Podsdefault/pvc-data-minio-0 default/minio-0minio/obs-testing minio/ds-nginx-9hmds,minio/ds-nginx-4jsfgminio/pvc-data-minio-0 minio/minio-0There are 5 PersistentVolumes: Name Namespace pvcName scName size keypvc-bd36c70f-75bf-4000-b85c-f9fb169a14a8 minio-pv obs-testing csi-obs 1Gi pvc-bd36c70f-75bf-4000-b85c-f9fb169a14a8pvc-c7c768aa-373a-4c52-abea-e8b486d23b47 minio-pv pvc-data-minio-0 csi-disk-sata 10Gi 1bcf3d00-a524-45b1-a773-7efbca58f36apvc-4f52462b-3b4c-4191-a63b-5a36a8748c05 minio obs-testing csi-obs 1Gi pvc-4f52462b-3b4c-4191-a63b-5a36a8748c05pvc-9fd92c99-805a-4e65-9f22-e238130983c8 default pvc-data-minio-0 csi-disk 10Gi 590afd05-fc68-4c10-a598-877100ca7b3fpvc-a22fd877-f98d-4c3d-a04e-191d79883f97 minio pvc-data-minio-0 csi-disk-sata 10Gi 48874130-df77-451b-9b43-d435ac5a11d5There are 7 Services: Name Namespace ServiceTypeheadless-lxprus default ClusterIPkubernetes default ClusterIPminio default NodePortflink-operator-controller-manager-metrics-service flink-operator-system ClusterIPflink-operator-webhook-service flink-operator-system ClusterIPheadless-lxprus minio ClusterIPminio minio NodePortThere are 0 Ingresses: There are 6 Images: Namegcr.io/flink-operator/flink-operator:v1beta1-6flink:1.8.2swr.cn-north-4.myhuaweicloud.com/paas/minio:latestnginx:stable-alpine-perlswr.cn-north-4.myhuaweicloud.com/everest/minio:latestgcr.io/kubebuilder/kube-rbac-proxy:v0.4.0There are 2 Extra Secrets: SecretTypecfe/secure-opaquehelm.sh/release.v1 在kspider执行完毕后,当前目录下将生成两个文件: cluster-*.json:此文件包含了源集群及应用的采集数据,这些数据可用于分析和规划迁移过程。 preferred-*.json:此文件包含了推荐的目标集群信息。基于源集群的规模和节点规格进行初步评估,文件将提供关于目标集群版本和规模的建议。 查看源集群及应用的采集数据。 您可以用文本编辑器或JSON查看器打开“cluster-*.json”文件以查看数据。在实际操作中,您需要将文件名中的“*”替换为实际的时间戳或序列号,以找到并打开正确的文件。 “cluster-*.json”文件说明如下: { K8sVersion:Kubernetes版本,字符串类型 Namespaces:命名空间数量,字符串类型 Pods:Pod总数量,整型 Nodes:节点总信息,以IP为key,展示节点信息 IP地址 CPU:CPU,字符串类型 Arch:CPU架构,字符串类型 Memory:内存,字符串类型 HugePages1Gi:1G大页内存,字符串类型 HugePages2Mi:2M大页内存,字符串类型 OS:节点OS,字符串类型 KernelVersion:OS内核版本,字符串类型 RuntimeVersion:节点容器运行及版本,字符串类型 InternalIP:内部IP,字符串类型 ExternalIP:外部IP,字符串类型 MachineID:节点ID,字符串类型。说明:CCE中能够保证与E CS 的ID一致 Workloads:工作负载 Deployment:工作负载类型,支持Deployment(无状态负载)、StatefulSet(有状态负载)、DaemonSet(守护进程集)、CronJob(定时任务)、Job(普通任务)、LonePod(独立Pod) default:命名空间名称 Count:数量,整型 Items:详细信息,数组类型 Name:工作负载名称,字符串类型 Namespace:命名空间名称,字符串类型 NodeAffinity:节点亲和性,布尔型 Replicas:副本数量,整型 Storage:存储 PersistentVolumes:持久卷 pv-name:以PV名称为key VolumeID:卷ID,字符串类型 Namespace:命名空间,字符串类型 PvcName:绑定PVC的名称,字符串类型 ScName:存储类的名称,字符串类型 Size:申请空间大小,字符串类型 Pods:使用PV的Pod名称,字符串类型 NodeIP:Pod所在的节点IP,字符串类型 VolumePath:该Pod挂载节点的路径,字符串类型 OtherVolumes:其它类型卷 类型:AzureFile、AzureDisk、GCEPersistentDisk、AWSElasticBlockStore、Cinder、Glusterfs、NFS、CephFS、FlexVolume、FlexVolume、DownwardAPI 卷ID/卷名称/卷共享路径等为key Pods:使用其的Pod,字符串类型 NodeIP:Pod所在的节点IP,字符串类型 卷ID/卷名称/卷共享路径等唯一标识卷信息的信息,字符串类型 Networks:网络 LoadBalancer:负载均衡类型 service:网络类型,包括service和ingress Name:名称,字符串类型 Namespace:命名空间名称,字符串类型 Type:类型,字符串类型 ExtraSecrets:扩展secret类型 secret类型名,字符串类型 Images:镜像 镜像repo,字符串类型} 示例: { "K8sVersion": "v1.19.10-r0-CCE22.3.1.B009", "Namespaces": 12, "Pods": 33, "Nodes": { "10.1.17.219": { "CPU": "4", "Memory": "7622944Ki", "HugePages1Gi": "0", "HugePages2Mi": "0", "Arch": "amd64", "OS": "EulerOS 2.0 (SP9x86_64)", "KernelVersion": "4.18.0-147.5.1.6.h687.eulerosv2r9.x86_64", "RuntimeVersion": "docker://18.9.0", "InternalIP": "10.1.17.219", "ExternalIP": "", "MachineID": "0c745e03-2802-44c2-8977-0a9fd081a5ba" }, "10.1.18.182": { "CPU": "4", "Memory": "7992628Ki", "HugePages1Gi": "0", "HugePages2Mi": "0", "Arch": "amd64", "OS": "EulerOS 2.0 (SP5)", "KernelVersion": "3.10.0-862.14.1.5.h520.eulerosv2r7.x86_64", "RuntimeVersion": "docker://18.9.0", "InternalIP": "10.1.18.182", "ExternalIP": "100.85.xxx.xxx", "MachineID": "2bff3d15-b565-496a-817c-063a37eaf1bf" } }, "Workloads": { "CronJob": {}, "DaemonSet": { "default": { "Count": 1, "Items": [ { "Name": "kubecost-prometheus-node-exporter", "Namespace": "default", "NodeAffinity": false, "Replicas": 3 } ] } }, "Deployment": { "default": { "Count": 1, "Items": [ { "Name": "kubecost-cost-analyzer", "Namespace": "default", "NodeAffinity": false, "Replicas": 1 } ] }, "kubecost": { "Count": 1, "Items": [ { "Name": "kubecost-kube-state-metrics", "Namespace": "kubecost", "NodeAffinity": false, "Replicas": 1 } ] } }, "Job": {}, "LonePod": {}, "StatefulSet": { "minio-all": { "Count": 1, "Items": [ { "Name": "minio", "Namespace": "minio-all", "NodeAffinity": false, "Replicas": 1 } ] } } }, "Storage": { "PersistentVolumes": { "demo": { "VolumeID": "demo", "Namespace": "fluid-demo-test", "PvcName": "demo", "ScName": "fluid", "Size": "100Gi", "Pods": "", "NodeIP": "", "VolumePath": "" }, "pvc-fd3a5bb3-119a-44fb-b02e-96b2cf9bb36c": { "VolumeID": "82365752-89b6-4609-9df0-007d964b7fe4", "Namespace": "minio-all", "PvcName": "pvc-data-minio-0", "ScName": "csi-disk", "Size": "10Gi", "Pods": "minio-all/minio-0", "NodeIP": "10.1.23.159", "VolumePath": "/var/lib/kubelet/pods/5fc47c82-7cbd-4643-98cd-cea41de28ff2/volumes/kubernetes.io~csi/pvc-fd3a5bb3-119a-44fb-b02e-96b2cf9bb36c/mount" } }, "OtherVolumes": {} }, "Networks": { "LoadBalancer": {} }, "ExtraSecrets": [ "cfe/secure-opaque", "helm.sh/release.v1" ], "Images": [ "nginx:stable-alpine-perl", "ghcr.io/koordinator-sh/koord-manager:0.6.2", "swr.cn-north-4.myhuaweicloud.com/paas/minio:latest", "swr.cn-north-4.myhuaweicloud.com/everest/e-backup-test:v1.0.0", "gcr.io/kubecost1/cost-model:prod-1.91.0", "gcr.io/kubecost1/frontend:prod-1.91.0" ]}
-
步骤二:目标集群评估 在kspider执行完毕后,除了“cluster-*.json”文件之外,还会在当前目录下生成“preferred-*.json”文件。这个文件基于源集群的规模和节点规格进行初步评估,并提供关于目标集群版本和规模的推荐信息。这有助于您更好地规划和准备迁移过程。 “preferred-*.json”文件说明如下: { K8sVersion:Kubernetes版本,字符串类型 Scale:集群规模,字符串类型 Nodes:节点信息 CPU:CPU,字符串类型 Memory:内存,字符串类型 Arch:架构,字符串类型 KernelVersion:OS内核版本,字符串类型 ProxyMode:集群Proxy模式,字符串类型 ELB:是否依赖ELB,布尔型} 上述文件中每个字段的评估规则如下: 表1 评估规则 字段 评估规则 Kubernetes版本 如果是1.21以下版本,推荐UCS集群主要发行版本(例如1.21,随着时间发展会发生变化),大于主要发行版本时,将推荐UCS集群的最新版本。 集群规模 源集群节点数<25,推荐50节点规模 25≤源集群节点数<100,推荐200节点规模 100≤源集群节点数<500,推荐1000节点规模 源集群节点数≥500,推荐2000节点规模 CPU+内存 统计数量最多的那一种规格 架构 统计数量最多的那一种规格 OS内核版本 统计数量最多的那一种规格 集群Proxy模式 根据集群规模来设置,大于1000节点规模的集群,推荐使用ipvs,1000以内的推荐使用iptables。 是否依赖ELB 源集群是否有负载均衡类型的Service 示例: { "K8sVersion": "v1.21", "Scale": 50, "Nodes": { "CPU": "4", "Memory": "7622952Ki", "Arch": "amd64", "KernelVersion": "3.10.0-862.14.1.5.h520.eulerosv2r7.x86_64" }, "ELB": false, "ProxyMode": "iptables"} 评估结果仅供参考,最终选择什么版本、规模的目标集群还需要您综合判断。
-
kspider使用方法 kspider工具支持在Linux(x86、arm)和Windows环境中运行,使用方法相似。本文将以Linux(x86)环境为例进行介绍。 若使用Linux(arm)或Windows环境,请将下述命令中的kspider-linux-amd64分别替换为kspider-linux-arm64或kspider-windows-amd64.exe。 根据容器迁移准备工作章节的要求,准备一台服务器并上传kspider工具,然后进行解压缩。在kspider工具所在目录下执行./kspider-linux-amd64 -h,您可以查看该工具的使用方法。 -k, --kubeconfig:指定kubectl的KubeConfig位置,默认是$HOME/.kube/config。kubeConfig文件:用于配置对Kubernetes集群的访问,KubeConfig文件中包含访问注册Kubernetes集群所需要的认证凭据以及Endpoint(访问地址),详细介绍可参见Kubernetes文档。 -n, --namespaces:指定采集的命名空间,默认排除了kube-system、kube-public、kube-node-lease等系统命名空间。 -q, --quiet:静态退出。 -s, --serial:根据采集信息输出汇聚文件(cluster-{serial}.json)和推荐文件(preferred-{serial}.json)唯一标识的序号。 $ ./kspider-linux-amd64 -hA cluster information collection and recommendation tool implement by Go.Usage: kspider [flags]Aliases: kspider, kspiderFlags: -h, --help help for kspider -k, --kubeconfig string The kubeconfig of k8s cluster's. Default is the $HOME/.kube/config. (default "$HOME/.kube/config") -n, --namespaces string Specify a namespace for information collection. If multiple namespaces are specified, separate them with commas (,), such as ns1,ns2. default("") is all namespaces -q, --quiet command to execute silently -s, --serial string User-defined sequence number of the execution. The default value is the time when the kspider is started. (default "1673853404")
-
符合策略实例的资源定义 示例中flexVolume中的类型均在上述定义的允许范围内,符合策略实例。 apiVersion: v1kind: Podmetadata: name: nginx-flexvolume-driver-allowed labels: app: nginx-flexvolume-driverspec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /test name: test-volume readOnly: true volumes: - name: test-volume flexVolume: driver: "example/lvm"
-
不符合策略实例的资源定义 示例中flexVolume中的类型不在上述定义的允许范围内,不符合策略实例。 apiVersion: v1kind: Podmetadata: name: nginx-flexvolume-driver-disallowed labels: app: nginx-flexvolume-driverspec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /test name: test-volume readOnly: true volumes: - name: test-volume flexVolume: driver: "example/testdriver" #"example/lvm"
-
kspider工作原理 kspider工具的架构如图1所示,包含三个模块:采集模块、连接管理和分析模块。采集模块可以收集源集群的数据,包括命名空间、工作负载、节点、网络等;连接管理模块负责与源集群的API Server建立连接;分析模块分为聚合输出和评估推荐两部分,旨在输出源集群的采集数据(生成“cluster-*.json”文件)以及提供目标集群的推荐信息(生成“preferred-*.json”文件)。 图1 kspider架构
-
策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters中的allowedFlexVolumes字段定义了允许的driver类型列表。 apiVersion: constraints.gatekeeper.sh/v1beta1kind: K8sPSPFlexVolumesmetadata: name: psp-flexvolume-driversspec: match: kinds: - apiGroups: [""] kinds: ["Pod"] parameters: allowedFlexVolumes: #[] - driver: "example/lvm" - driver: "example/cifs"
-
策略实例示例 必须配置内存的Limit,CPU和内存的Request。 apiVersion: constraints.gatekeeper.sh/v1beta1kind: K8sRequiredResourcesmetadata: name: container-must-have-cpu-requests-memory-limits-and-requestsspec: match: kinds: - apiGroups: [""] kinds: ["Pod"] parameters: limits: - memory requests: - cpu - memory
-
不符合策略实例的资源定义 没有配置内存的Limit,CPU和内存的Request,不符合策略实例。 apiVersion: v1kind: Podmetadata: name: opa-disallowed labels: owner: me.agilebank.demospec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" resources: limits: memory: "2Gi"k8sexternalips
-
策略实例示例 示例声明了match匹配的对象不能把automountServiceAccountToken字段设为true。 apiVersion: constraints.gatekeeper.sh/v1beta1kind: K8sPSPAutomountServiceAccountTokenPodmetadata: name: psp-automount-serviceaccount-token-podspec: match: kinds: - apiGroups: [""] kinds: ["Pod"] excludedNamespaces: ["kube-system"]
-
不符合策略实例的资源定义 Pod的automountServiceAccountToken字段设为true,不符合策略实例。 apiVersion: v1kind: Podmetadata: name: nginx-automountserviceaccounttoken-disallowed labels: app: nginx-automountserviceaccounttokenspec: automountServiceAccountToken: true containers: - name: nginx image: nginx
-
符合策略实例的资源定义 Pod的automountServiceAccountToken字段设为false,符合策略实例。 apiVersion: v1kind: Podmetadata: name: nginx-automountserviceaccounttoken-allowed labels: app: nginx-not-automountserviceaccounttokenspec: automountServiceAccountToken: false containers: - name: nginx image: nginx
-
符合策略实例的资源定义 已经配置内存的Limit,CPU和内存的Request,符合策略实例。 apiVersion: v1kind: Podmetadata: name: opa-allowed labels: owner: me.agilebank.demospec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" resources: limits: cpu: "100m" memory: "1Gi" requests: cpu: "100m" memory: "1Gi"
-
方案优势 UCS容器迁移的主要优势包括: 易用性 在集群评估、镜像迁移、应用备份和应用迁移阶段,迁移过程已实现工具化。这些工具免安装,简单轻量且配置灵活。 多版本 支持Kubernetes 1.19以上版本的集群迁移。 无依赖 迁移工具不需要任何外部依赖,可以独立运行。 多架构 迁移工具支持在Linux(x86、arm)、Windows环境中运行。 多场景 支持多种场景的集群迁移,满足您不同迁移需求,具体如表1所示。 表1 迁移场景 场景 说明 本地IDC集群迁移上云 将位于本地数据中心的Kubernetes集群迁移到华为云UCS管理的Kubernetes集群,实现应用程序的云端部署和运维管理。 第三方云集群跨云迁移 将位于其他云服务提供商的Kubernetes集群迁移到华为云UCS管理的Kubernetes集群,实现跨云迁移和统一管理。 不同Region UCS华为云集群迁移 在华为云UCS管理的Kubernetes集群间进行迁移,将应用程序从一个地理区域迁移到另一个地理区域,以满足数据合规性、延迟和可用性等需求。 同Region UCS华为云集群迁移 在同一地理区域内的华为云UCS管理的Kubernetes集群间进行迁移,实现资源优化、应用升级或其他管理需求。 不停机 迁移过程无需停机,不影响源集群业务。
-
准备网络环境 附着集群的数据接入方式支持公网接入和私网接入。 公网接入是通过公网Internet接入,要求集群能够访问公网,具有弹性灵活、成本低、易接入的优势。如果对网络质量没有要求,只想采用更简便的方式接入,那么公网接入是个不错的选择。 公网接入要求集群能够访问公网,请确保集群已符合此条件,否则会接入失败。 私网接入是通过云专线(DC)或 虚拟专用网络 (VPN)服务将第三方云网络与云上虚拟私有云(VPC)连通,并利用 VPC终端节点 通过内网与容器智能分析建立连接,具有高速、低时延、安全的优势。 图1 私网接入原理 因此,在开启之前,您需要准备满足一个云上虚拟私有云(VPC),并将第三方云厂商的网络环境与该VPC连通。VPC子网网段不能与第三方云中已使用的网络网段重叠,否则将无法接入集群,例如,第三方云中已使用的VPC子网为192.168.1.0/24,那么华为云VPC中不能使用192.168.1.0/24这个子网。 网络连通可以选用如下两种方案: 虚拟专用网络(VPN)方案:请参见通过VPN连接云下数据中心与云上VPC。 云专线(DC)方案:请参见用户通过单专线静态路由访问VPC或用户通过单专线BGP协议访问VPC。
-
操作步骤 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击华为云集群选项卡中的“注册集群”按钮。 勾选需要注册的CCE Standard集群或 CCE Turbo 集群,并选择一个舰队,单击“确定”。 注册集群时若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,您可以随后再将其添加至舰队中,具体操作请参见管理未加入舰队的集群。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。
-
kspider使用方法 kspider工具支持在Linux(x86、arm)和Windows环境中运行,使用方法相似。本文将以Linux(x86)环境为例进行介绍。 若使用Linux(arm)或Windows环境,请将下述命令中的kspider-linux-amd64分别替换为kspider-linux-arm64或kspider-windows-amd64.exe。 根据容器迁移准备工作章节的要求,准备一台服务器并上传kspider工具,然后进行解压缩。在kspider工具所在目录下执行./kspider-linux-amd64 -h,您可以查看该工具的使用方法。 -k, --kubeconfig:指定kubectl的KubeConfig位置,默认是$HOME/.kube/config。kubeConfig文件:用于配置对Kubernetes集群的访问,KubeConfig文件中包含访问注册Kubernetes集群所需要的认证凭据以及Endpoint(访问地址),详细介绍可参见Kubernetes文档。 -n, --namespaces:指定采集的命名空间,默认排除了kube-system、kube-public、kube-node-lease等系统命名空间。 -q, --quiet:静态退出。 -s, --serial:根据采集信息输出汇聚文件(cluster-{serial}.json)和推荐文件(preferred-{serial}.json)唯一标识的序号。 $ ./kspider-linux-amd64 -hA cluster information collection and recommendation tool implement by Go.Usage: kspider [flags]Aliases: kspider, kspiderFlags: -h, --help help for kspider -k, --kubeconfig string The kubeconfig of k8s cluster's. Default is the $HOME/.kube/config. (default "$HOME/.kube/config") -n, --namespaces string Specify a namespace for information collection. If multiple namespaces are specified, separate them with commas (,), such as ns1,ns2. default("") is all namespaces -q, --quiet command to execute silently -s, --serial string User-defined sequence number of the execution. The default value is the time when the kspider is started. (default "1673853404")
-
步骤二:目标集群评估 在kspider执行完毕后,除了“cluster-*.json”文件之外,还会在当前目录下生成“preferred-*.json”文件。这个文件基于源集群的规模和节点规格进行初步评估,并提供关于目标集群版本和规模的推荐信息。这有助于您更好地规划和准备迁移过程。 “preferred-*.json”文件说明如下: { K8sVersion:Kubernetes版本,字符串类型 Scale:集群规模,字符串类型 Nodes:节点信息 CPU:CPU,字符串类型 Memory:内存,字符串类型 Arch:架构,字符串类型 KernelVersion:OS内核版本,字符串类型 ProxyMode:集群Proxy模式,字符串类型 ELB:是否依赖ELB,布尔型} 上述文件中每个字段的评估规则如下: 表1 评估规则 字段 评估规则 Kubernetes版本 如果是1.21以下版本,推荐UCS集群主要发行版本(例如1.21,随着时间发展会发生变化),大于主要发行版本时,将推荐UCS集群的最新版本。 集群规模 源集群节点数<25,推荐50节点规模 25≤源集群节点数<100,推荐200节点规模 100≤源集群节点数<500,推荐1000节点规模 源集群节点数≥500,推荐2000节点规模 CPU+内存 统计数量最多的那一种规格 架构 统计数量最多的那一种规格 OS内核版本 统计数量最多的那一种规格 集群Proxy模式 根据集群规模来设置,大于1000节点规模的集群,推荐使用ipvs,1000以内的推荐使用iptables。 是否依赖ELB 源集群是否有负载均衡类型的Service 示例: { "K8sVersion": "v1.21", "Scale": 50, "Nodes": { "CPU": "4", "Memory": "7622952Ki", "Arch": "amd64", "KernelVersion": "3.10.0-862.14.1.5.h520.eulerosv2r7.x86_64" }, "ELB": false, "ProxyMode": "iptables"} 评估结果仅供参考,最终选择什么版本、规模的目标集群还需要您综合判断。
-
kspider工作原理 kspider工具的架构如图1所示,包含三个模块:采集模块、连接管理和分析模块。采集模块可以收集源集群的数据,包括命名空间、工作负载、节点、网络等;连接管理模块负责与源集群的API Server建立连接;分析模块分为聚合输出和评估推荐两部分,旨在输出源集群的采集数据(生成“cluster-*.json”文件)以及提供目标集群的推荐信息(生成“preferred-*.json”文件)。 图1 kspider架构
-
步骤一:源集群数据采集 通过kubectl连接源集群。具体方法可参考使用kubectl连接集群。 使用默认参数配置,采集集群中所有命名空间的数据。执行方法:./kspider-linux-amd64 执行后的输出详细信息如下: [~]# ./kspider-linux-amd64The Cluster version is v1.15.6-r1-CCE2.0.30.B001There are 5 NamespacesThere are 2 NodesName CPU Memory IP Arch OS Kernel MachineID10.1.18.64 4 8008284Ki [10.1.18.64 10.1.18.64] amd64 linux 3.10.0-1127.19.1.el7.x86_64 ef9270ed-7eb3-4ce6-a2d8-f1450f85489a10.1.19.13 4 8008284Ki [10.1.19.13 10.1.19.13] amd64 linux 3.10.0-1127.19.1.el7.x86_64 2d889590-9a32-47e5-b947-09c5bda81849There are 9 PodsThere are 0 LonePods: There are 2 StatefulSets: Name Namespace NodeAffinityminio default falseminio minio falseThere are 3 Deployments: Name Namespace NodeAffinityrctest default trueflink-operator-controller-manager flink-operator-system falserctest minio falseThere are 1 DaemonSets: Name Namespace NodeAffinityds-nginx minio falseThere are 0 Jobs: There are 0 CronJobs: There are 4 PersistentVolumeClaims: Namespace/Name Podsdefault/pvc-data-minio-0 default/minio-0minio/obs-testing minio/ds-nginx-9hmds,minio/ds-nginx-4jsfgminio/pvc-data-minio-0 minio/minio-0There are 5 PersistentVolumes: Name Namespace pvcName scName size keypvc-bd36c70f-75bf-4000-b85c-f9fb169a14a8 minio-pv obs-testing csi-obs 1Gi pvc-bd36c70f-75bf-4000-b85c-f9fb169a14a8pvc-c7c768aa-373a-4c52-abea-e8b486d23b47 minio-pv pvc-data-minio-0 csi-disk-sata 10Gi 1bcf3d00-a524-45b1-a773-7efbca58f36apvc-4f52462b-3b4c-4191-a63b-5a36a8748c05 minio obs-testing csi-obs 1Gi pvc-4f52462b-3b4c-4191-a63b-5a36a8748c05pvc-9fd92c99-805a-4e65-9f22-e238130983c8 default pvc-data-minio-0 csi-disk 10Gi 590afd05-fc68-4c10-a598-877100ca7b3fpvc-a22fd877-f98d-4c3d-a04e-191d79883f97 minio pvc-data-minio-0 csi-disk-sata 10Gi 48874130-df77-451b-9b43-d435ac5a11d5There are 7 Services: Name Namespace ServiceTypeheadless-lxprus default ClusterIPkubernetes default ClusterIPminio default NodePortflink-operator-controller-manager-metrics-service flink-operator-system ClusterIPflink-operator-webhook-service flink-operator-system ClusterIPheadless-lxprus minio ClusterIPminio minio NodePortThere are 0 Ingresses: There are 6 Images: Namegcr.io/flink-operator/flink-operator:v1beta1-6flink:1.8.2swr.cn-north-4.myhuaweicloud.com/paas/minio:latestnginx:stable-alpine-perlswr.cn-north-4.myhuaweicloud.com/everest/minio:latestgcr.io/kubebuilder/kube-rbac-proxy:v0.4.0There are 2 Extra Secrets: SecretTypecfe/secure-opaquehelm.sh/release.v1 在kspider执行完毕后,当前目录下将生成两个文件: cluster-*.json:此文件包含了源集群及应用的采集数据,这些数据可用于分析和规划迁移过程。 preferred-*.json:此文件包含了推荐的目标集群信息。基于源集群的规模和节点规格进行初步评估,文件将提供关于目标集群版本和规模的建议。 查看源集群及应用的采集数据。 您可以用文本编辑器或JSON查看器打开“cluster-*.json”文件以查看数据。在实际操作中,您需要将文件名中的“*”替换为实际的时间戳或序列号,以找到并打开正确的文件。 “cluster-*.json”文件说明如下: { K8sVersion:Kubernetes版本,字符串类型 Namespaces:命名空间数量,字符串类型 Pods:Pod总数量,整型 Nodes:节点总信息,以IP为key,展示节点信息 IP地址 CPU:CPU,字符串类型 Arch:CPU架构,字符串类型 Memory:内存,字符串类型 HugePages1Gi:1G大页内存,字符串类型 HugePages2Mi:2M大页内存,字符串类型 OS:节点OS,字符串类型 KernelVersion:OS内核版本,字符串类型 RuntimeVersion:节点容器运行及版本,字符串类型 InternalIP:内部IP,字符串类型 ExternalIP:外部IP,字符串类型 MachineID:节点ID,字符串类型。说明:CCE中能够保证与ECS的ID一致 Workloads:工作负载 Deployment:工作负载类型,支持Deployment(无状态负载)、StatefulSet(有状态负载)、DaemonSet(守护进程集)、CronJob(定时任务)、Job(普通任务)、LonePod(独立Pod) default:命名空间名称 Count:数量,整型 Items:详细信息,数组类型 Name:工作负载名称,字符串类型 Namespace:命名空间名称,字符串类型 NodeAffinity:节点亲和性,布尔型 Replicas:副本数量,整型 Storage:存储 PersistentVolumes:持久卷 pv-name:以PV名称为key VolumeID:卷ID,字符串类型 Namespace:命名空间,字符串类型 PvcName:绑定PVC的名称,字符串类型 ScName:存储类的名称,字符串类型 Size:申请空间大小,字符串类型 Pods:使用PV的Pod名称,字符串类型 NodeIP:Pod所在的节点IP,字符串类型 VolumePath:该Pod挂载节点的路径,字符串类型 OtherVolumes:其它类型卷 类型:AzureFile、AzureDisk、GCEPersistentDisk、AWSElasticBlockStore、Cinder、Glusterfs、NFS、CephFS、FlexVolume、FlexVolume、DownwardAPI 卷ID/卷名称/卷共享路径等为key Pods:使用其的Pod,字符串类型 NodeIP:Pod所在的节点IP,字符串类型 卷ID/卷名称/卷共享路径等唯一标识卷信息的信息,字符串类型 Networks:网络 LoadBalancer:负载均衡类型 service:网络类型,包括service和ingress Name:名称,字符串类型 Namespace:命名空间名称,字符串类型 Type:类型,字符串类型 ExtraSecrets:扩展secret类型 secret类型名,字符串类型 Images:镜像 镜像repo,字符串类型} 示例: { "K8sVersion": "v1.19.10-r0-CCE22.3.1.B009", "Namespaces": 12, "Pods": 33, "Nodes": { "10.1.17.219": { "CPU": "4", "Memory": "7622944Ki", "HugePages1Gi": "0", "HugePages2Mi": "0", "Arch": "amd64", "OS": "EulerOS 2.0 (SP9x86_64)", "KernelVersion": "4.18.0-147.5.1.6.h687.eulerosv2r9.x86_64", "RuntimeVersion": "docker://18.9.0", "InternalIP": "10.1.17.219", "ExternalIP": "", "MachineID": "0c745e03-2802-44c2-8977-0a9fd081a5ba" }, "10.1.18.182": { "CPU": "4", "Memory": "7992628Ki", "HugePages1Gi": "0", "HugePages2Mi": "0", "Arch": "amd64", "OS": "EulerOS 2.0 (SP5)", "KernelVersion": "3.10.0-862.14.1.5.h520.eulerosv2r7.x86_64", "RuntimeVersion": "docker://18.9.0", "InternalIP": "10.1.18.182", "ExternalIP": "100.85.xxx.xxx", "MachineID": "2bff3d15-b565-496a-817c-063a37eaf1bf" } }, "Workloads": { "CronJob": {}, "DaemonSet": { "default": { "Count": 1, "Items": [ { "Name": "kubecost-prometheus-node-exporter", "Namespace": "default", "NodeAffinity": false, "Replicas": 3 } ] } }, "Deployment": { "default": { "Count": 1, "Items": [ { "Name": "kubecost-cost-analyzer", "Namespace": "default", "NodeAffinity": false, "Replicas": 1 } ] }, "kubecost": { "Count": 1, "Items": [ { "Name": "kubecost-kube-state-metrics", "Namespace": "kubecost", "NodeAffinity": false, "Replicas": 1 } ] } }, "Job": {}, "LonePod": {}, "StatefulSet": { "minio-all": { "Count": 1, "Items": [ { "Name": "minio", "Namespace": "minio-all", "NodeAffinity": false, "Replicas": 1 } ] } } }, "Storage": { "PersistentVolumes": { "demo": { "VolumeID": "demo", "Namespace": "fluid-demo-test", "PvcName": "demo", "ScName": "fluid", "Size": "100Gi", "Pods": "", "NodeIP": "", "VolumePath": "" }, "pvc-fd3a5bb3-119a-44fb-b02e-96b2cf9bb36c": { "VolumeID": "82365752-89b6-4609-9df0-007d964b7fe4", "Namespace": "minio-all", "PvcName": "pvc-data-minio-0", "ScName": "csi-disk", "Size": "10Gi", "Pods": "minio-all/minio-0", "NodeIP": "10.1.23.159", "VolumePath": "/var/lib/kubelet/pods/5fc47c82-7cbd-4643-98cd-cea41de28ff2/volumes/kubernetes.io~csi/pvc-fd3a5bb3-119a-44fb-b02e-96b2cf9bb36c/mount" } }, "OtherVolumes": {} }, "Networks": { "LoadBalancer": {} }, "ExtraSecrets": [ "cfe/secure-opaque", "helm.sh/release.v1" ], "Images": [ "nginx:stable-alpine-perl", "ghcr.io/koordinator-sh/koord-manager:0.6.2", "swr.cn-north-4.myhuaweicloud.com/paas/minio:latest", "swr.cn-north-4.myhuaweicloud.com/everest/e-backup-test:v1.0.0", "gcr.io/kubecost1/cost-model:prod-1.91.0", "gcr.io/kubecost1/frontend:prod-1.91.0" ]}
-
错误码 如果操作请求在执行过程中出现异常导致未被处理,则会返回一条错误信息,错误信息中包括错误码和具体错误描述。 表1 错误码说明 错误码 状态码 错误信息 描述 处理措施 UCS.00000001 400 Failed to obtain the user information. 未能获取用户信息 请确认账号状态,或联系技术支持。 UCS.00000004 403 Request forbidden. 禁止请求 请确认账号权限是否满足。 UCS.00000005 500 Database operation failed. 数据库操作失败 请参考返回的message,或联系技术支持。 UCS.00000006 500 Server internal error. 服务器内部错误 请参考返回的message,或联系技术支持。 UCS.00000007 500 Data transform error. 数据转换失败 请参考返回的message,或联系技术支持。 UCS.00000008 500 Error add event. 添加事件失败 请参考返回的message,或联系技术支持。 UCS.00000009 500 Data unmarshal error. 数据反序列化失败 请参考返回的message,或联系技术支持。 UCS.00000010 500 Data marshal error. 数据序列化失败 请参考返回的message,或联系技术支持。 UCS.00000011 400 Bad query parameter value. 请求参数非法 请参考返回的message和UCS接口文档修改请求参数,或联系技术支持。 UCS.00000012 400 Invalid request body. 请求体非法 请参考返回的message和UCS接口文档修改请求体,或联系技术支持。 UCS.00000013 404 No requested resources found. 请求资源不存在 请确认要访问的资源是否已被删除。 UCS.00000014 500 Failed to encrypt data. 加密数据失败 请参考返回的message,或联系技术支持。 UCS.00000015 500 Failed to decrypt data. 解密数据失败 请参考返回的message,或联系技术支持。 UCS.00000016 400 Invalid header value. 请求头非法 请参考返回的message和UCS接口文档修改请求参数,或联系技术支持。 UCS.00000017 400 Insufficient quota 配额不足 请提交工单增加对应资源配额,或联系技术支持。 UCS.00000018 401 Authorization failed. 授权失败 请参考返回的message,或联系技术支持。 UCS.00010001 500 Failed to get iam connection. 获取 IAM 连接失败 请参考返回的message,或联系技术支持。 UCS.00010002 403 Sub-user has no authority to create agency. 子用户无权创建委托 请使用主账号创建委托。 UCS.00010003 400 Failed to create agency. 创建委托失败 请参考返回的message,或联系技术支持。 UCS.00010009 400 Failed to get project token by agency 通过委托获取项目token失败 请参考返回的message,或联系技术支持。 UCS.00010011 400 Failed to get project id by project name. 获取项目id失败 请参考返回的message,或联系技术支持。 UCS.00010012 400 IAM agency quota insufficient, please expand agency quota 超出IAM委托配额 请提交工单增加委托配额。 UCS.00010013 400 fail to get iam pdp authorize result 获取PDP鉴权结果失败 请参考返回的message,或联系技术支持。 UCS.00010014 403 iam pdp authentication denied PDP鉴权拒绝 请确认账号权限是否满足,或联系技术支持。 UCS.00010015 403 iam rbac authentication denied RBAC鉴权拒绝 请确认集群权限是否满足。 UCS.00020002 500 Failed to get certs. 获取证书失败 请参考返回的message,或联系技术支持。 UCS.00020003 500 Failed to create certs. 创建证书失败 请参考返回的message,或联系技术支持。 UCS.00020003 500 Failed to delete certs. 删除证书失败 请参考返回的message,或联系技术支持。 UCS.00030001 404 Cluster Not Found. 集群不存在 请确认集群是否存在。 UCS.00030002 400 Failed to obtain the cluster information. 获取集群信息失败 请确认集群是否存在。 UCS.00030003 400 Failed to get resourceJob info with cluster status 获取resource job失败 请参考返回的message,或联系技术支持。 UCS.00040001 400 Failed to obtain the mesh information. 获取网格信息失败 请确认网格是否存在,或联系技术支持。 UCS.00100001 400 Failed to publish message to smn. 发布消息到 SMN 失败 请参考返回的message,或联系技术支持。 UCS.00100002 400 smn topic error. SMN主题错误 请参考返回的message,或联系技术支持。 UCS.00100003 400 smn subscription error. SMN订阅错误 请参考返回的message,或联系技术支持。 UCS.00110001 400 SDR failed to get billing raw data 获取计费数据失败 请参考返回的message,或联系技术支持。 UCS.00120001 400 CBC failed to update resources status 更新CBC资源状态失败 请参考返回的message,或联系技术支持。 UCS.00130001 400 Get UCS Agency info error 获取UCS委托错误 请参考返回的message,或联系技术支持。 UCS.00140001 400 Create ClusterRole failed ClusterRole创建失败 请参考返回的message,或联系技术支持。 UCS.00140002 400 Delete ClusterRole failed ClusterRole删除失败 请参考返回的message,或联系技术支持。 UCS.00140003 400 Update ClusterRole failed ClusterRole更新失败 请参考返回的message,或联系技术支持。 UCS.00140004 400 Get ClusterRole failed ClusterRole信息获取失败 请参考返回的message,或联系技术支持。 UCS.00140005 400 Create ClusterRoleBinding failed ClusterRoleBinding创建失败 请参考返回的message,或联系技术支持。 UCS.00140006 400 Delete ClusterRoleBinding failed ClusterRoleBinding删除失败 请参考返回的message,或联系技术支持。 UCS.00140007 400 Update ClusterRoleBinding failed ClusterRoleBinding更新失败 请参考返回的message,或联系技术支持。 UCS.00140008 400 Get ClusterRoleBinding failed ClusterRoleBinding信息获取失败 请参考返回的message,或联系技术支持。 UCS.00140009 400 Create Role failed Role创建失败 请参考返回的message,或联系技术支持。 UCS.00140010 400 Delete Role failed Role删除失败 请参考返回的message,或联系技术支持。 UCS.00140011 400 Update Role failed Role更新失败 请参考返回的message,或联系技术支持。 UCS.00140012 400 Get Role failed Role信息获取失败 请参考返回的message,或联系技术支持。 UCS.00140013 400 Create RoleBinding failed RoleBinding创建失败 请参考返回的message,或联系技术支持。 UCS.00140014 400 Delete RoleBinding failed RoleBinding删除失败 请参考返回的message,或联系技术支持。 UCS.00140015 400 Update RoleBinding failed RoleBinding更新失败 请参考返回的message,或联系技术支持。 UCS.00150001 400 Cluster policy validate failed. 集群策略验证失败 请确认集群策略中心状态是否运行中。 UCS.00150002 400 ClusterGroup policy validate failed. 集群组策略验证失败 请确认舰队策略中心状态是否运行中。 UCS.00150003 400 Cluster has enable policy. 集群已启用策略 请勿重复开启策略中心,集群已经启用策略中心。 UCS.00150004 400 ClusterGroup has enable policy. 集群组已启用策略 请勿重复开启策略中心,舰队已经启用策略中心。 UCS.00150005 400 Cluster not enable policy. 集群未启用策略 请确认集群已经开启策略中心。 UCS.00150006 400 ClusterGroup not enable policy. 集群组未启用策略 请确认舰队已经开启策略中心。 UCS.00150007 500 Get policy job failed. 获取策略任务失败 请参考返回的message,或联系技术支持。 UCS.01000001 400 Failed to obtain the user information. 获取用户信息失败 请参考返回的message,或联系技术支持。 UCS.01000002 429 The throttling threshold has been reached. 达到流控阈值 请稍后重试。 UCS.01000003 401 Authorization failed. 授权失败 请参考返回的message,或联系技术支持。 UCS.01000004 403 Request forbidden. 禁止请求 请参考返回的message,或联系技术支持。 UCS.01000005 500 Database operation failed. 数据库操作失败 请参考返回的message,或联系技术支持。 UCS.01000006 500 Server internal error. 服务器内部错误 请参考返回的message,或联系技术支持。 UCS.01000007 500 Data transform error. 数据转换失败 请参考返回的message,或联系技术支持。 UCS.01000008 500 Error add event. 添加事件失败 请参考返回的message,或联系技术支持。 UCS.01000009 500 Data unmarshal error. 数据反序列化失败 请参考返回的message,或联系技术支持。 UCS.01000010 500 Data marshal error. 数据序列化失败 请参考返回的message,或联系技术支持。 UCS.01000011 400 Bad query parameter value. 请求参数非法 请参考返回的message和UCS接口文档修改请求参数,或联系技术支持。 UCS.01000012 400 Invalid request body. 请求体非法 请参考返回的message和UCS接口文档修改请求体,或联系技术支持。 UCS.01000013 404 No requested resources found. 请求资源不存在 请确认集群或者容器舰队是否存在。 UCS.01000014 500 Failed to encrypt data. 加密数据失败 请参考返回的message,或联系技术支持。 UCS.01000015 500 Failed to decrypt data. 解密数据失败 请参考返回的message,或联系技术支持。 UCS.01000016 400 Invalid header value. 请求头非法 请参考返回的message和UCS接口文档修改请求参数,或联系技术支持。 UCS.01000017 400 Insufficient quota 配额不足 请提交工单增加对应资源配额,或联系技术支持。 UCS.01000018 400 Quota info validate failed 配额参数校验失败 请参考返回的message,或联系技术支持。 UCS.01000019 500 Quota update failed 配额更新失败 请参考返回的message,或联系技术支持。 UCS.01010001 500 Failed to get iam connection. 获取IAM连接失败 请参考返回的message,或联系技术支持。 UCS.01010002 500 Failed to get project token by agency 通过委托获取项目token失败 请参考返回的message,或联系技术支持。 UCS.01010003 403 No access permission. Please contact the administrator. 无访问权限 请参考返回的message,或联系技术支持。 UCS.01010005 400 get IAM agency's token error 获取委托token失败 请参考返回的message,或联系技术支持。 UCS.01010006 400 fail to get iam pdp authorize result 获取PDP鉴权结果失败 请参考返回的message,或联系技术支持。 UCS.01010007 403 iam pdp authentication denied PDP鉴权拒绝 请确认账号权限是否满足,或联系技术支持。 UCS.01010008 403 iam rbac authentication denied RBAC鉴权拒绝 请确认集群权限是否满足。 UCS.01020002 500 Failed to get certs. 获取证书失败 请参考返回的message,或联系技术支持。 UCS.01020003 500 Failed to create certs. 创建证书失败 请参考返回的message,或联系技术支持。 UCS.01020004 500 Failed to delete certs. 删除证书失败 请参考返回的message,或联系技术支持。 UCS.01030001 404 Cluster Not Found. 集群不存在 请确认集群是否存在。 UCS.01030002 400 Failed to obtain the cluster information. 获取集群信息失败 请确认集群是否存在。 UCS.01030003 409 The same cluster already exists. 存在同名集群 请勿注册同名集群。 UCS.01030004 400 Cluster status is unavailable, please fix cluster first. 集群状态不可用 请确认集群状态是否可用。 UCS.01030005 403 No authorization for cluster 集群授权失败 请确认该集群是否属于对应账户。 UCS.01030006 400 Create resource job for cluster error 集群创建resource job失败 请参考返回的message,或联系技术支持。 UCS.01030007 400 Create on-demand order for cluster error 创建按需订单失败 请参考返回的message,或联系技术支持。 UCS.01030008 400 Cluster kubeconfig format error. 集群kubeconfig格式错误 请确认kubeconfig内容是否正确。 UCS.01030009 400 This cluster does not support unregister 集群不支持注销 请删除集群安装的插件,再注销集群 UCS.01030011 400 Cluster category not supported 不支持该集群类别 请参考UCS支持的集群类型,确认集群类型是否支持。 UCS.01030012 400 Register cce cluster error 注册cce集群失败 请参考返回的message,或联系技术支持。 UCS.01030013 400 Register attached cluster error 注册附着集群失败 请参考返回的message,或联系技术支持。 UCS.01030014 400 Register on-premise cluster error 注册本地集群失败 请参考返回的message,或联系技术支持。 UCS.01030015 100 Register multi cloud cluster error 注册多云集群失败 请参考返回的message,或联系技术支持。 UCS.01030016 400 Cluster has been frozen 集群已被冻结 请确认集群状态是否正常。 UCS.01080002 400 Cluster group has federalized. 舰队已开启联邦 请勿重复开启联邦,舰队联邦已开启。 UCS.01080003 500 Cluster group federation failed. 舰队联邦操作失败 请参考返回的message,或联系技术支持。 UCS.01080004 400 Cluster group federation validate failed. 开启联邦校验失败 请参考返回的message,或联系技术支持。 UCS.01080005 400 Retry join all clusters to federation failed. 重试所有集群加入联邦失败 请参考返回的message,或联系技术支持。 UCS.01080006 400 Cluster group has not been federalized. 舰队未开启联邦 请开启联邦后再操作。 UCS.01080007 400 Retry join cluster to federation failed. 重试集群加入联邦失败 请参考返回的message,或联系技术支持。 UCS.01090001 400 Failed to obtain the mesh information. 获取网格信息失败 请确认网格是否存在,或联系技术支持。 UCS.01100002 400 associate cluster with clustergroup error 集群加入舰队失败 请参考返回的message,或联系技术支持。 UCS.01100003 400 associate cluster with rule error 舰队关联权限策略失败 请参考返回的message,或联系技术支持。 UCS.01100005 404 ClusterGroup Not Found. 舰队不存在 请确认舰队是否存在。 UCS.01100006 400 Cluster number in fleet exceed limit. 舰队内集群数量超过限制 请提交工单增加舰队内集群配额。 UCS.01100007 400 Update associated clusters validate failed 更新关联集群状态校验失败 请参考返回的message,或联系技术支持。 UCS.01110001 400 resource notification to SMN error 通知SMN失败 请参考返回的message,或联系技术支持。 UCS.01120001 400 Create ClusterRole failed ClusterRole创建失败 请参考返回的message,或联系技术支持。 UCS.01120002 400 Delete ClusterRole failed ClusterRole删除失败 请参考返回的message,或联系技术支持。 UCS.01120003 400 Update ClusterRole failed ClusterRole更新失败 请参考返回的message,或联系技术支持。 UCS.01120004 400 Get ClusterRole failed ClusterRole信息获取失败 请参考返回的message,或联系技术支持。 UCS.01120005 400 Create ClusterRoleBinding failed ClusterRoleBinding创建失败 请参考返回的message,或联系技术支持。 UCS.01120006 400 Delete ClusterRoleBinding failed ClusterRoleBinding删除失败 请参考返回的message,或联系技术支持。 UCS.01120007 400 Update ClusterRoleBinding failed ClusterRoleBinding更新失败 请参考返回的message,或联系技术支持。 UCS.01120008 400 Get ClusterRoleBinding failed ClusterRoleBinding信息获取失败 请参考返回的message,或联系技术支持。 UCS.01120009 400 Create Role failed Role创建失败 请参考返回的message,或联系技术支持。 UCS.01120010 400 Delete Role failed Role删除失败 请参考返回的message,或联系技术支持。 UCS.01120011 400 Update Role failed Role更新失败 请参考返回的message,或联系技术支持。 UCS.01120012 400 Get Role failed Role信息获取失败 请参考返回的message,或联系技术支持。 UCS.01120013 400 Create RoleBinding failed RoleBinding创建失败 请参考返回的message,或联系技术支持。 UCS.01120015 400 Update RoleBinding failed RoleBinding更新失败 请参考返回的message,或联系技术支持。 UCS.01130001 400 policy management create reconcile job failed 策略管理创建协调作业失败 请参考返回的message,或联系技术支持。 UCS.01130002 400 policy management create disable job failed 策略管理创建禁用作业失败 请参考返回的message,或联系技术支持。 UCS.01130003 400 cluster policy validate failed. 集群策略验证失败 请确认集群策略中心状态正常。 UCS.01130004 400 clusterGroup policy validate failed. 集群组策略验证失败 请确认舰队策略中心状态正常。 UCS.01130005 400 cluster policy management is in installing or closing status 集群策略管理处于安装或关闭状态 请等待集群策略中心开启或者关闭完成后再操作。 UCS.01130006 400 cluster group policy management is in installing or closing status 集群组策略管理处于安装或关闭状态 请等待舰队策略中心开启或者关闭完成后再操作。
-
添加集群 容器舰队开通集群联邦后,可以继续为舰队添加集群,添加后,集群会自动接入集群联邦。一个集群联邦最多可接入20个集群。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在目标舰队栏中单击“添加集群”,或单击右上角的按钮。 您也可以单击舰队名称进入舰队详情页,在“容器集群”页面单击右上角“添加集群”。 勾选一个或多个已有集群。一个集群只能加入一个舰队,因此列表中显示的集群均为未加入舰队的集群。 请确保所选择的集群符合表1中的约束条件,否则会出现集群添加成功,但是接入集群联邦失败的情况。如果出现这种情况,请参考集群加入联邦校验失败怎么办进行修复。 单击“确定”,完成集群添加。
-
开通集群联邦 集群联邦和容器舰队绑定在一起,只需要为容器舰队一键开通集群联邦,就可以方便地操作集群联邦了。 集群联邦的开通包含两个阶段:一、开通集群联邦,二、集群接入联邦。容器舰队开通集群联邦能力后,容器舰队内的成员集群将自动接入联邦。 开通集群联邦有配额限制,并且对容器舰队中的集群有一些约束,请在开通前仔细阅读,避免集群联邦开通失败。 表1 集群约束 项目 约束 集群版本 容器舰队中的所有集群版本必须为1.19及以上。 集群状态 容器舰队中的所有集群状态必须为“运行中”。 集群网络状态 CCE集群、CCE Turbo集群:CCE集群所在region为北京四的,开通联邦时UCS将自动在集群所属VPC下创建VPCEP打通网络,非该region则需要集群节点具备公网访问能力,例如为节点绑定公网地址,用以拉取公网镜像。 其他集群:成功接入UCS即可。 配额 集群联邦配额为1,即只能为一个容器舰队开通集群联邦。 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页签下找到目标舰队,页面提示暂未开通集群联邦能力,单击“去开通”按钮。 图1 开通集群联邦 在弹出的提示框中单击“确定”,等待集群联邦开通成功。 当集群不满足约束条件时,界面会弹出报错信息,请按照提示修改,然后重新开通集群联邦。 开通集群联邦大约需要10分钟,请耐心等待。您可以单击集群联邦状态,查看详细的开通进度。开通成功后,容器舰队顶部的提示信息变为“集群联邦能力已开通 ,集群接入成功”。
-
昇腾芯片驱动安装 请确保昇腾芯片已插入到节点上,确认设备型号,并从昇腾官方社区下载设备驱动,以及参考驱动安装指导进行安装: 安装完成后,执行以下命令,可查看节点的/dev目录下所有的芯片设备。 ls -l /dev/davinci* 执行如下命令,查看驱动加载是否成功。 npu-smi info 若出现如下回显信息,说明加载成功,具体回显信息请以实际情况为准。否则,说明加载驱动失败。请联系华为技术支持处理。
-
如何确认节点NPU驱动已安装完成 NPU驱动安装成功后需要重启节点才能生效,且重启节点前需要确认驱动已经安装完成,否则驱动将无法生效,NPU资源不可用。驱动安装完成确认方式如下: UCS控制台,选择容器舰队,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,单击插件名称查看插件“实例列表”,实例状态为“运行中”。 若在NPU驱动安装完成前就重启了节点,可能导致驱动安装失败,节点重启后集群“节点管理”页面对应的节点会显示“昇腾驱动未就绪”。此时需要先卸载该节点上的NPU驱动,再重启节点,才能重新安装NPU驱动,按上述步骤确认驱动安装完成后再重启节点。
-
配置修改 各服务支持的参数配置方式因服务而异,当服务支持实例配置参数可视化修改功能时,在服务实例详情界面会出现一个“配置修改”页签,用户可通过控制台对已创建的实例参数进行编辑,有如下两种方法: 通过可视化界面修改配置(需服务支持)。 通过Yaml修改配置(适用于所有服务)。 由于服务来自不同的服务提供商,不同类别的服务实例提供的配置项或功能页可能存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。 通过控制台修改 当服务支持实例配置参数可视化修改功能时,在服务实例详情界面会出现一个“配置修改”页签,页面中提供了具体参数说明。 由于通过Yaml方式不能保证修改参数的规范性,建议您优先使用此方法进行配置修改。 页面可能并未提供全量参数的修改,如您需要修改全量参数,请使用Yaml方式修改。 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击“配置修改”页签,进入配置修改页。 参数名称:支持修改的参数名称。 参数值:填写目标参数值。 参数说明:对参数意义的说明,在修改参数前请您仔细阅读此参数说明。 单击“编辑”按钮,对参数进行修改,不同服务支持修改的参数可能有差异,请根据实际页面操作。 单击“提交”按钮,将会自动下发请求完成实例配置更新。 通过Yaml修改 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击页面右上角的按钮,进入Yaml编辑页面,如图1所示。 图1 编辑实例 在编辑Yaml页面对实例参数进行修改,如图2所示。 图2 编辑Yaml页面 完成修改后,单击“确认”提交,进行实例配置更新。
-
实例运维 当服务支持独立的运维能力时,在服务实例详情界面会出现一个“Action”页签,各服务支持的运维能力有所区别,请根据实际页面进行操作,这里以Redis为例。 由于服务来自不同的服务提供商,不同类别的服务实例提供的配置项或功能页可能存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击“Action”页签,进入运维操作页,以Redis为例。 RedisClusterBackup:备份操作,进行Redis集群的数据备份。 RedisClusterRestore:恢复操作,根据已有的备份文件进行Redis集群的数据恢复。 单击“创建”按钮,进行Redis集群的备份/恢复。
-
业务监控/日志 当服务支持事件监控和日志查询功能时,在服务实例详情界面会出现一个“业务监控”页签和“日志”页签。 由于服务来自不同的服务提供商,不同类别的服务实例提供的配置项或功能页可能存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 单击需要查询的实例名称,进入实例的基本信息页面。 单击“业务监控”或“日志”选项卡,查看具体的监控指标以及日志详情。各服务提供的展示内容可能存在差异,请根据页面提示进行操作。 业务监控:云原生服务中心内置了Prometheus监控能力,服务提供商可以按照自身业务情况,配置所需要展示的服务指标,指标详情查看服务介绍或咨询服务提供商。 请确保当前集群已安装kube-prometheus-stack插件,且插件状态正常,参见kube-prometheus-stack插件。 日志:如服务对接了日志采集功能,则在云原生服务中心实例详情界面会展示“日志”页签。用户单击“日志”页签可以查看日志内容。
-
安装插件 登录UCS控制台,选择容器舰队,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,在右侧找到huawei-npu插件,单击“安装”。 设置NPU参数,该插件推荐使用默认参数。插件提供的默认NPU参数可满足大多数的使用场景,您无需修改。 完成以上配置后,单击“安装”。 图1 安装huawei-npu插件 安装huawei-npu插件,需要确认已安装volcano插件。 驱动安装成功后需要重启节点才能生效,驱动安装成功确认方式请参见如何确认节点NPU驱动已安装完成。 插件卸载不会自动删除已安装的NPU驱动,用户需自行卸载删除相关资源。
-
实例信息查询 登录UCS控制台,在左侧导航栏中选择“云原生服务中心”,单击“服务实例”页签。 查看服务实例。 选择“云容器引擎”或者“华为云UCS”即可查看对应的服务实例。 支持通过单击,筛选对应条件下的服务实例。 支持通过实例名称查询服务实例,直接在搜索栏输入关键字即可。 单击实例名称,进入实例的基本信息页面。 服务实例的通用信息 参数 说明 版本 实例所属的服务的版本。 所属服务 实例所属的服务。 状态 当前实例的运行状态。 区域 实例所在的区域,例如“华东-上海一”。 集群 实例所在的容器集群名称。 命名空间 实例所在的容器集群的命名空间。 创建时间 实例的创建时间。 描述 服务实例部署时填写的信息,一般用来说明该实例用于什么场景。 实例配置信息 为各个服务自定义的展示内容,默认所有服务都提供“实例状态”、“访问地址”信息,不同类别的服务实例提供的展示内容可能存在差异。 实例状态:包含实例的名称、类型、状态、创建时间等基本参数,并提供查看YAML功能。 访问地址:包含实例的名称、集群内/外访问地址、服务类型及创建时间等参数。 由于服务来自不同的服务提供商,不同类别的服务实例提供的展示内容可能存在差异,请根据页面提示进行操作。 当服务支持事件监控和日志查询功能时,在服务实例详情界面会出现一个“业务监控”页签和“日志”页签,具体操作请参见业务监控/日志。 当服务支持实例配置参数可视化修改功能时,在服务实例详情界面会出现一个“配置修改”页签,具体操作请参见配置修改。 当服务支持独立的运维能力时,在服务实例详情界面会出现一个“Action”页签,具体操作请参见实例运维。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- ...
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章