Tekton1
原本搞RHEL機台來試官方的範例,但是minikube安裝完全沒辦法成功
所以最後還是試試Ubuntu機台
參考官方範例(LINK)
執行連結的minikube安裝(LINK):
#執行上述:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.debsudo dpkg -i minikube_latest_amd64.deb
然後安裝kubectl工具(LINK)
#整理指令如下:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlkubectl version --client -o json
回到Tekton的網頁:
#執行相關指令:
minikube startkubectl cluster-info
參考這邊:
#所以指令改成:
minikube start --driver=dockerminikube config set driver dockerkubectl cluster-info
所以先搞定docker Ubuntu的安裝(LINK):
#整理指令如下:
sudo apt-get updatesudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release#添加Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
#增設Repo位置:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#以下實際安裝Docker:
sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginapt-cache madison docker-ce#測試:
sudo docker run hello-world
回頭跑上面安裝minikube:
#安裝指令:
minikube start --driver=docker
所以整個指令又改為:
#安裝指令:
sudo usermod -aG docker $USER && newgrp dockerminikube start --driver=docker
#接著:
minikube config set driver dockerkubectl cluster-info
看起來上面set要在沒有start的時候
不過就先試試
接著繼續Tekton的頁面流程:
#如上執行:
kubectl apply --filename \
https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml#然後立刻跑以下指令觀察上述動作:
kubectl get pods --namespace tekton-pipelines --watch
好像還滿正常運作的...!?
基礎設施建立如上! 後面才真的跑官方實作
後面就是照著官方文件操作:
先寫task檔,內容如下(檔名我就先用hello-world.yaml):
#執行以下:
kubectl apply --filename hello-world.yaml
接著建立另一個檔TaskRun(hello-world-run.yaml):
#執行上述檔案:
kubectl apply --filename hello-world-run.yaml
#確認TaskRun原件執行狀況:
kubectl get taskrun hello-task-run
#取得TaskRun的log內容:
kubectl logs --selector=tekton.dev/taskRun=hello-task-run
以上就完成了簡單的Task元件與執行Task的TaskRun元件的範例
在來跑pipeline的(Tekton連結)
#整理Tekton CLI工具安裝如下(Ubuntu的):
sudo apt update;sudo apt install -y gnupgsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3EFE0E0A2F2F60AAecho "deb http://ppa.launchpad.net/tektoncd/cli/ubuntu eoan main"|sudo tee /etc/apt/sources.list.d/tektoncd-ubuntu-cli.listsudo apt update && sudo apt install -y tektoncd-cli
#然後我自己測試一下:
tkn --help
可以!
回過頭繼續跑Tekton pipeline示範(LINK):
建立新的Task(goodbye-world.yaml):
#並執行:
kubectl apply --filename goodbye-world.yaml
再來要建立pipeline元件(hello-goodbye-pipeline.yaml):
#並執行:
kubectl apply --filename hello-goodbye-pipeline.yaml
再來要建立一個驅動上述pipeline的元件
也就是PipelineRun元件(hello-goodbye-pipeline-run.yaml):
#並執行它:
kubectl apply --filename hello-goodbye-pipeline-run.yaml
接著要透過tkn工具來看看上述的運行log內容:
#執行:
tkn pipelinerun logs hello-goodbye-run -f -n default
以上就完成了目前2022/06/16官網的demo教學了
(看起來已經沒有PipelineResource這種元件了!?)