目前我只有一台window主機,所以我先使用wsl環境介紹,當然如果你有Ubuntu環境會更好。
前置安裝:
在docker中啟用k3s,由flyte官方提供之沙盒開發環境。
並使用flyte grpc endpoint設定檔(FLYTECTL_CONFIG)
# 如果你的會卡住請加上--disable-agent,或是使用k9s將agent服務重啟。
flytectl demo start
export FLYTECTL_CONFIG=~/.flyte/config-sandbox.yaml
k3s裡面安裝如下元件。
建立環境。
uv tool install flytekit
撰寫第一份工作流。(mean_value_wf.py)
import flytekit as fl
from typing import List
import random
@fl.task()
def gen_nums(low: int, high: int, length: int) -> List[int]:
return [random.randint(low, high) for _ in range(length)]
@fl.task()
def mean(nums: List[int]) -> float:
return sum(nums) / len(nums)
@fl.workflow()
def mean_val_wf(low: int = 0, high: int = 100, length: int = 100) -> float:
arr = gen_nums(low, high, length)
mean_val = mean(arr)
return mean_val
隨後進行驗證並提交。
#地端運行
pyflyte run mean_value_wf.py mean_val_wf
#向註冊並運行flyte admin
pyflyte run --remote mean_value_wf.py mean_val_wf