From 7c4e6ac3a4c5169045b6cb8166b84fc61912e06e Mon Sep 17 00:00:00 2001 From: shupiaoyang Date: Tue, 11 Feb 2025 19:36:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=87=8D=E6=9E=84kuberay=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=AF=B9kuberay-o?= =?UTF-8?q?perator=E7=9A=84docker=E6=BA=90=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/kuberay-1.2.2/config.yaml | 18 +++-- plugins/kuberay-1.2.2/workspace/install.yml | 88 +++++++++++++-------- 2 files changed, 67 insertions(+), 39 deletions(-) diff --git a/plugins/kuberay-1.2.2/config.yaml b/plugins/kuberay-1.2.2/config.yaml index db33dba..77cacbb 100644 --- a/plugins/kuberay-1.2.2/config.yaml +++ b/plugins/kuberay-1.2.2/config.yaml @@ -1,21 +1,27 @@ all: hosts: host1: - ansible_host: HOST_IP1 # example: 1.1.1.1 + ansible_host: HOST_IP ansible_port: 22 ansible_user: root ansible_password: PASSWORD vars: - kuberay_version: 1.2.2 + temp_path: /tmp + namespace: kuberay + version: 1.2.2 + helm_repo_name: "kuberay" helm_repo_url: "https://ray-project.github.io/kuberay-helm" - namespace: kuberay - temp_path: /tmp - values: "" + kuberay_operator_values_file: "" + kuberay_operator_values: + repository: "hub.oepkgs.net/oedeploy/quay.io/kuberay/operator" + tag: v1.2.2 + + ray_cluster_values_file: "" ray_cluster_values: repository: "m.daocloud.io/docker.io/rayproject/ray" - ray_version: 2.9.0 + tag: 2.9.0 head: cpu: "1" memory: "2G" diff --git a/plugins/kuberay-1.2.2/workspace/install.yml b/plugins/kuberay-1.2.2/workspace/install.yml index 6ee43ba..8f029c9 100644 --- a/plugins/kuberay-1.2.2/workspace/install.yml +++ b/plugins/kuberay-1.2.2/workspace/install.yml @@ -3,6 +3,10 @@ become: yes tasks: + - name: Set temp directory name + set_fact: + temp_dir: "{{ temp_path }}/kuberay_temp_{{ ansible_date_time.iso8601 }}" + - name: Create namespace command: kubectl create namespace {{ namespace }} ignore_errors: yes @@ -12,16 +16,33 @@ args: creates: "{{ ansible_user_dir }}/.helm/repository/{{ helm_repo_name }}.yaml" + - block: + - name: Create temporary directory + file: + path: "{{ temp_dir }}" + state: directory + mode: '0644' + - name: Copy values to master + copy: + src: "{{ kuberay_operator_values_file }}" + dest: "{{ temp_dir }}" + - name: Install kuberay_operator + command: | + helm install kuberay_operator {{ helm_repo_name }}/kuberay_operator + -n {{ namespace }} --version {{ version }} -f {{ temp_dir }}/{{ kuberay_operator_values_file | basename }} + retries: 5 + when: kuberay_operator_values_file != "" + - name: Install kuberay-operator command: | helm install kuberay-operator {{ helm_repo_name }}/kuberay-operator - -n {{ namespace }} --version {{ kuberay_version }} + -n {{ namespace }} --version {{ version }} + --set image.repository={{ kuberay_operator_values.repository }} + --set image.tag={{ kuberay_operator_values.tag }} retries: 5 + when: kuberay_operator_values_file == "" - block: - - name: Set temp directory name - set_fact: - temp_dir: "{{ temp_path }}/kuberay_temp_{{ ansible_date_time.iso8601 }}" - name: Create temporary directory file: path: "{{ temp_dir }}" @@ -29,40 +50,41 @@ mode: '0644' - name: Copy values to master copy: - src: "{{ values }}" + src: "{{ ray_cluster_values_file }}" dest: "{{ temp_dir }}" - name: Install ray-cluster command: | helm install ray-cluster {{ helm_repo_name }}/ray-cluster - -n {{ namespace }} --version {{ kuberay_version }} -f {{ temp_dir }}/{{ values | basename }} - - name: Delete temporary directory - file: - path: "{{ temp_dir }}" - state: absent - ignore_errors: yes - when: values != "" - - - block: - - name: Install ray-cluster - command: | - helm install ray-cluster {{ helm_repo_name }}/ray-cluster - -n {{ namespace }} --version {{ kuberay_version }} - --set image.repository={{ ray_cluster_values.repository }} - --set image.tag={{ ray_cluster_values.ray_version }} - --set head.resources.limits.cpu={{ ray_cluster_values.head.cpu }} - --set head.resources.requests.cpu={{ ray_cluster_values.head.cpu }} - --set head.resources.limits.memory={{ ray_cluster_values.head.memory }} - --set head.resources.requests.memory={{ ray_cluster_values.head.memory }} - --set worker.replicas={{ ray_cluster_values.worker.num }} - --set worker.minReplicas={{ ray_cluster_values.worker.num }} - --set worker.maxReplicas={{ ray_cluster_values.worker.num }} - --set worker.resources.limits.cpu={{ ray_cluster_values.worker.cpu }} - --set worker.resources.requests.cpu={{ ray_cluster_values.worker.cpu }} - --set worker.resources.limits.memory={{ ray_cluster_values.worker.memory }} - --set worker.resources.requests.memory={{ ray_cluster_values.worker.memory }} - --set service.type=NodePort + -n {{ namespace }} --version {{ version }} -f {{ temp_dir }}/{{ ray_cluster_values_file | basename }} retries: 5 - when: values == "" + when: ray_cluster_values_file != "" + + - name: Install ray-cluster + command: | + helm install ray-cluster {{ helm_repo_name }}/ray-cluster + -n {{ namespace }} --version {{ version }} + --set image.repository={{ ray_cluster_values.repository }} + --set image.tag={{ ray_cluster_values.tag }} + --set head.resources.limits.cpu={{ ray_cluster_values.head.cpu }} + --set head.resources.requests.cpu={{ ray_cluster_values.head.cpu }} + --set head.resources.limits.memory={{ ray_cluster_values.head.memory }} + --set head.resources.requests.memory={{ ray_cluster_values.head.memory }} + --set worker.replicas={{ ray_cluster_values.worker.num }} + --set worker.minReplicas={{ ray_cluster_values.worker.num }} + --set worker.maxReplicas={{ ray_cluster_values.worker.num }} + --set worker.resources.limits.cpu={{ ray_cluster_values.worker.cpu }} + --set worker.resources.requests.cpu={{ ray_cluster_values.worker.cpu }} + --set worker.resources.limits.memory={{ ray_cluster_values.worker.memory }} + --set worker.resources.requests.memory={{ ray_cluster_values.worker.memory }} + --set service.type=NodePort + retries: 5 + when: ray_cluster_values_file == "" + + - name: Delete temporary directory + file: + path: "{{ temp_dir }}" + state: absent + ignore_errors: yes - name: Get head pod command: | -- Gitee From 326baf8adfd0f0342082255c8232629d43fed7b0 Mon Sep 17 00:00:00 2001 From: shupiaoyang Date: Tue, 11 Feb 2025 20:47:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=89=8B=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...50\346\210\267\346\211\213\345\206\214.md" | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git "a/plugins/kuberay-1.2.2/doc/kuberay\351\203\250\347\275\262\347\224\250\346\210\267\346\211\213\345\206\214.md" "b/plugins/kuberay-1.2.2/doc/kuberay\351\203\250\347\275\262\347\224\250\346\210\267\346\211\213\345\206\214.md" index 4fe2dcf..c18926b 100644 --- "a/plugins/kuberay-1.2.2/doc/kuberay\351\203\250\347\275\262\347\224\250\346\210\267\346\211\213\345\206\214.md" +++ "b/plugins/kuberay-1.2.2/doc/kuberay\351\203\250\347\275\262\347\224\250\346\210\267\346\211\213\345\206\214.md" @@ -25,15 +25,26 @@ all: ansible_user: root # ssh 的用户,非root用户需要 sudo 权限 ansible_password: PASSWORD # 上述用户的密码 vars: - kuberay_version: 1.2.2 # KubeRay 的版本(注意不是 Ray 的版本) + temp_path: /tmp + namespace: kuberay # 命名空间 + version: 1.2.2 # KubeRay chart 的版本 + helm_repo_name: "kuberay" # 本地 Helm 仓库别名 helm_repo_url: "https://ray-project.github.io/kuberay-helm" # Helm 仓库 url - namespace: kuberay # 命名空间 - values: "" # 高级配置:指定一个 values 文件,需填写绝对路径,若留空,则采用以下配置 + kuberay_operator_values_file: "" + # 以上配置项 kuberay_operator_values_file 为高级配置:指定一个 values 文件,用于自定义 + # KubeRay operator 组件的安装。需填写绝对路径,若留空,则采用以下配置: + kuberay_operator_values: + repository: "hub.oepkgs.net/oedeploy/quay.io/kuberay/operator" # KubeRay operator docker 镜像 url + tag: v1.2.2 # KubeRay operator docker 仓库 tag + + ray_cluster_values_file: "" + # 以上配置项 ray_cluster_values_file 为高级配置:指定一个 values 文件,用于自定义 + # Ray 组件的安装。需填写绝对路径,若留空,则采用以下配置: ray_cluster_values: repository: "m.daocloud.io/docker.io/rayproject/ray" # Ray docker 镜像 url - ray_version: 2.9.0 # Ray 版本 + tag: 2.9.0 # Ray docker 仓库 tag head: # 头节点资源 cpu: "1" memory: "2G" @@ -47,5 +58,3 @@ all: ### 2.2. 执行自动化部署 在插件目录下执行`oedp run install`,或在任意位置执行`oedp run install -p [插件目录]`,即可完成自动化部署 KubeRay。 - -注意:默认配置下,由于下载源网络问题,传输可能较慢,受网络状况影响波动较大。 -- Gitee