tencent cloud

文档反馈

声明式操作实践

最后更新时间:2023-05-23 09:56:13

    kubectl 支持操作

    CRD 类型 操作项
    MachineSet 创建原生节点池
    `kubectl create -f machineset-demo.yaml`
    查看原生节点池列表
    `kubectl get machineset`
    查看原生节点池 YAML 详情
    `kubectl describe ms machineset-name`
    删除原生节点池
    `kubectl delete ms machineset-name`
    扩容原生节点池
    `kubectl scale --replicas=3 machineset/machineset-name`
    Machine 查看原生节点
    `kubectl get machine`
    查看原生节点 YAML 详情
    `kubectl describe ma machine-name`
    删除原生节点
    `kubectl delete ma machine-name`
    HealthCheckPolicy 创建故障检测自愈规则
    `kubectl create -f demo-HealthCheckPolicy.yaml`
    查看故障自愈规则列表
    `kubectl kubectl get HealthCheckPolicy`
    查看故障自愈规则 YAML 详情
    `kubectl describe HealthCheckPolicy HealthCheckPolicy-name`
    删除故障自愈规则
    `kubectl delete HealthCheckPolicy HealthCheckPolicy-name`

    通过 YAML 使用 CRD

    MachineSet

    apiVersion: node.tke.cloud.tencent.com/v1beta1
    kind: MachineSet
    spec:
      type: Native
      displayName: mstest
      replicas: 2
      autoRepair: true
      deletePolicy: Random
      healthCheckPolicyName: test-all
      instanceTypes:
      - C3.LARGE8
      subnetIDs:
      - subnet-xxxxxxxx
      - subnet-yyyyyyyy
      scaling:
        createPolicy: ZonePriority
        maxReplicas: 100
      template:
        spec:
          displayName: mtest
          runtimeRootDir: /var/lib/containerd
          unschedulable: false
          metadata:
            labels:
              key1: "val1"
              key2: "val2"
          providerSpec:
            type: Native
            value:
              instanceChargeType: PostpaidByHour
              lifecycle:
                preInit: "echo hello"
                postInit: "echo world"
              management:
                hosts:
                - Hostnames:
                  - lkongtest
                  IP: 22.22.22.22
                nameservers:
                - 183.60.83.19
                - 183.60.82.98
                - 8.8.8.8
              metadata:
                creationTimestamp: null
              securityGroupIDs:
              - sg-xxxxxxxx
              systemDisk:
                diskSize: 50
                diskType: CloudPremium
    

    kubectl 操作 demo

    MachineSet

    1. 执行命令kubectl create -f machineset-demo.yaml根据上述 YAML 创建 MachineSet:

    2. 根据命令kubectl get machineset查看 MachineSet np-pjrlok3w 状态。此时控制台上已出现对应节点池,节点在创建中:

    1. 根据命令kubectl describe machineset np-pjrlok3w查看 MachineSet np-pjrlok3w 描述:

    2. 根据命令 kubectl scale --replicas=2 machineset/np-pjrlok3w 执行节点池扩缩容:

    3. 根据命令kubectl delete ms np-pjrlok3w 删除节点池。

    Machine

    1. 根据命令kubectl get machine查看 Machine 列表,此时控制台上已存在对应节点:

    2. 根据命令kubectl describe ma np-14024r66-nv8bk查看 Machine np-14024r66-nv8bk 描述:

    3. 根据命令kubectl delete ma np-14024r66-nv8bk 删除节点。

    说明:

    • 如果没有调整节点池期望节点数而直接删除节点,节点池会检测到实际节点数不足以满足声明式节点数量,然后会创建一个新节点并将其加入节点池。因此,我们推荐按照以下方式进行节点删除操作:
      • 调整期望节点数:kubectl scale --replicas=1 machineset/np-xxxxx
      • 删除对应节点:kubectl delete machine np-xxxxxx-dtjhd
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持