如何使用`kubeconfig`体验OpenYurt的能力

    用户需要在本地配置 kubeconfig 后,才能通过kubectl管理集群。

    1. 在“集群信息”页面下“连接信息”tab 里复制kubeconfig信息

    1. 将复制的kubeconfig信息保存到本地~/.kube/config文件下

    如何使用kubeconfig体验OpenYurt的能力 - 图2

    1. 如果配置无误,就可以使用kubectl来管理集群了

    体验 OpenYurt 的单元化部署功能

    OpenYurt 针对边缘计算场景,允许用户将工作负载分组到分布在不同地理位置的不同单元中。下面通过一个简单的场景来体验 OpenYurt 的单元化部署能力。

    现在有两个边缘端的节点 node1 与 node2 分布在不同的位置(比如 node1 在杭州,node2 在上海),我们希望部署应用到杭州的节点,而不要部署到上海的节点。OpenYurt 通过NodePool 与 (previous UnitedDeployment)两种资源来实现这个能力。

    1. 假设我们已经在 OpenYurt 集群中接入了两个节点 node1 与 node2。(不知道如何接入节点?请参照文档:如何使用 web_console

    1. 在配置好kubeconfig的本地通过命令行工具kubectl中创建 NodePool 资源,并将 node1 加入其中该 NodePool。

    此时在控制台界面中也可以看到对应的节点池 NodePool 信息。 如何使用kubeconfig体验OpenYurt的能力 - 图6

    1. 通过kubectl创建 Workload 资源,通过 YurtAppSet 只把应用部署到 hangzhou 的节点池中。
    1. # 单元化部署pod
    2. cat <<EOF | kubectl apply -f -
    3. apiVersion: apps.openyurt.io/v1alpha1
    4. kind: UnitedDeployment
    5. metadata:
    6. labels:
    7. controller-tools.k8s.io: "1.0"
    8. namespace: "183xxxxxxxx" # 注意: 替换成你的namespace
    9. selector:
    10. matchLabels:
    11. app: ud-test
    12. workloadTemplate:
    13. deploymentTemplate:
    14. metadata:
    15. labels:
    16. app: ud-test
    17. namespace: "183xxxxxxxx" # 注意: 替换成你的namespace
    18. spec:
    19. template:
    20. metadata:
    21. labels:
    22. app: ud-test
    23. spec:
    24. - name: nginx
    25. topology:
    26. pools:
    27. - name: hangzhou
    28. nodeSelectorTerm:
    29. matchExpressions:
    30. - key: apps.openyurt.io/nodepool
    31. operator: In
    32. values:
    33. - hangzhou
    34. replicas: 1
    35. revisionHistoryLimit: 5
    36. EOF
    37. # 查看资源
    38. kubectl get node
    39. kubectl get nodepool

    如何使用kubeconfig体验OpenYurt的能力 - 图8

    创建成功后,在控制台界面上可以看到对应的 Pod 被分配到了 hangzhou 节点池中的 node1 上。