參考github上的Hands-On Tekton練習2
更新一下機台(main.tf):
參數(terraform.tfvars)不變:
#重新整理安裝指令如下(主要修改tkn安裝):
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.debsudo dpkg -i minikube_latest_amd64.debcurl -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#安裝docker:
sudo apt-get updatesudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release#添加Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyringscurl -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#設置帳號group:
sudo usermod -aG docker $USER && newgrp dockerminikube config set driver dockerminikube start --driver=dockerkubectl cluster-info#安裝Tekton pipeline:
kubectl apply --filename \
https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml#然後立刻跑以下指令觀察上述動作:
kubectl get pods --namespace tekton-pipelines --watch#安裝Tekton pipeline(更新github版):
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 impish main"|sudo tee /etc/apt/sources.list.d/tektoncd-ubuntu-cli.listsudo apt update && sudo apt install -y tektoncd-cli#Ubuntu安裝git:
sudo apt-get install git#clone教學內容(LINK):
git clone https://github.com/joellord/handson-tektoncd handson-tekton
繼續從參數的部分練習開始試試:
#執行上述指令:
kubectl apply -f ./demo/02-param.yamltkn task start --showlog hellotkn task start --showlog -p person=Joel hello
看起來終於正常了...
2.接著看到下一階段練習 — Multiple steps to Task
#執行以上指令:
kubectl apply -f ./demo/03-multistep.yamltkn task start --showlog hello
3.練習 — pipeline:
建立以下Task元件內容:
建立以下pipeline元件內容:
#執行上述指令:
kubectl apply -f ./demo/04-tasks.yamlkubectl apply -f ./demo/05-pipeline.yamltkn pipeline start say-things --showlog
4.練習 — Run in parallel or sequentially:
建立以下pipeline元件:
#執行以上指令:
kubectl apply -f ./demo/06-pipeline-order.yamltkn pipeline start say-things-in-order --showlog
5.練習 — Resources:
建立以下Task元件:
建立以下pipeline元件:
建立以下PipelineResource元件,名稱就叫git-repo:
#執行上述指令:
kubectl apply -f ./demo/07-pipelineresource.yamltkn pipeline start count --showlogtkn pipeline start count --showlog --resource git-repo=git-repo
或是直接給指定resource:
後面有提醒關於PipelineResource元件還在alpha(當下官網是已經deprecated.)
官網:
6.練習 — 真實場景的pipeline:
建立Task元件:
建立另一個Task元件:
建立pipeline元件:
#執行以上指令:
kubectl apply -f ./demo/08-realworld.yamltkn pipeline start app-deploy --showlogdocker run -d -p 3000:3000 --rm --name handson <user>/<image-name>curl localhost:3000/add/2/5
這邊看起來要給參數推到自己的dockerhub,就暫時不試了