# 先要安装docker,然后安装kubectlwget "https://storage.googleapis.com/kubernetes-release/release/v1.18.8/bin/linux/amd64/kubectl"chmod 777 kubectlmv kubectl /usr/local/bin# 安装minikubecurl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64install minikube-linux-amd64 /usr/local/bin/minikubeminikube start# 创建新用户,这步不是必要adduser K8S//创建K8S用户passwd K8S//设置密码asdfwsxedc# 将创建的新用户加入到docker组中,,这步不是必要groupadd mydockergpasswd -a K8S mydocker//$USER为上面创建的K8S用户newgrp mydockerdocker version# 启动minikubeminikube start# 卸载minikubeminikube delete#也可以使用--registry-mirror=https://registry.docker-cn.com,running minikube within a VM, consider using --driver=none,--image-mirror-country='cn'minikube start --force --driver=docker
- Kubekey部署单节点K8S集群,详细可以参考前面的文章《云原生下基于K8S声明式GitOps持续部署工具ArgoCD实战-上》

文章插图
安装Tekton Pipelines
- 官方部署方式
# 使用kubectl安装最新版本的Tekton pipelinekubectl apply --filename \https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml
- 修改镜像地址方式
# 创建资源时,pull 镜像用的镜像库是国外的,gcr.io 需要替换成国内的镜像源:gcr.azk8s.cn;如果使用原来的gcr.io,资源创建成功后在启动的过程中,pod状态一直是 imagepullbackoff , 查看pod 内部,是无法pull 镜像所致 。# 官方提供release.yaml中需要的镜像是从谷歌云拉取的,国内的环境可能拉不到镜像kubectl get pods --namespace tekton-pipelines --watchkubectl get pods --namespace describe pod <pod-id>kubectl --namespace tekton-pipelines describe pods# 创建目录mkdir tekton# 下载yaml 文件,注意如果因为我们下面要替换的国内源不是即时更新的,有一个同步时间差,如果下载latest release 可能会遇到下载到昨天发布的最新版本,而使用国内源时会出现找不到最新镜像ID. 所以在更新之前可以在官网看一下最新版本是不是昨天才更新的版本,如果是建议选上一个版本,如果latest 是几天之前的,则没有问题 。#修改yaml 里面的镜像库vi release.yamlwget https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml%s/gcr.io/gcr.azk8s.cn/g#重新创建资源kubectl apply -f release.yaml
- 阿里云资源方式
# 上面的都还是有问题,最后可以使用阿里云的资源,这一个可以成功的创建kubectl apply -f http://my-oss-testing.oss-cn-beijing.aliyuncs.com/k8s/tekton/release.yamlkubectl get pods -n tekton-pipelines
安装完后后,可以看到在Kubernetes集群中新增了哪些Tekton的crd
文章插图

文章插图
创建并运行任务创建并运行一个基本任务,Task在API中表示为Task类对象,它定义了一系列按顺序运行的步骤,以执行Task所需的逻辑 。每个Task都作为一个pod在Kubernetes集群上运行,每个步骤都在自己的容器中运行 。创建vi hello-world.yaml
apiVersion: tekton.dev/v1beta1kind: Taskmetadata:name: hellospec:steps:- name: echoimage: alpinescript: |#!/bin/shecho "Hello World,itxs"apiVersion: tekton.dev/v1beta1kind: Taskmetadata:name: hellospec:steps:- name: echoimage: ubuntu # contains bashscript: |#!/usr/bin/env bashecho "Hello World,itxs"
应用到集群的更改kubectl apply --filename hello-world.yaml
经验总结扩展阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 身空心静云淡风轻是什么意思
- 光遇欧若拉季网易云黑胶会员怎么领取
- 11月17日北京今日阳光继续营业 明日天空云量增多气温略下滑
- 云原生下基于K8S声明式GitOps持续部署工具ArgoCD实战-上
- 云南出发旅行攻略
- 云原生虚拟网络 tun/tap & veth-pair
- 电视剧燕云台演员表介绍?
- 通常云计算服务应该具备哪些特征
- 八云紫是哪个动漫
- 云南雪山玉龙雪山冷不冷