安装Spinnaker
安装Spinnaker
Alex安装spinnaker
spinnaker组件
Deck:前端web页面 端口9000
Gate:API网关,所有程序通过gate与spinnaker通信。 端口8084
Orca:编排引擎,定义管道或任务,并管理阶段和任务,协调其他Spinnaker服务。 端口8083
Clouddriver: 云厂商适配器,负责对云厂商的变更资源调用。 端口7002
Front50:用于保存应用程序、管道、项目和通知的元数据。 端口8080
Rosco:为各种运供应商生成不可变的VM镜像。 端口 8087
Igor: 持续集成系统集成,触发管道。端口 8088
Echo:消息通知,负责发送通知。端口 8089
Fiat: 认证授权服务。端口 7003
Kayenta:自动化的金丝雀分析。端口 8090
Halyard: Spinnaker生命周期配置管理工具。端口 8064
安装minio
- 创建nfs pv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16kind: PersistentVolume
apiVersion: v1
metadata:
name: ci-minio-pv
namespace: ops
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 50Gi
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-storage
nfs:
path: /data/nfs/minio
server: 172.16.19.xx - helm安装minio
1
2
3helm repo add stable https://charts.helm.sh/stable
helm search repo stable/minio
helm fetch stable/minio --version 5.0.33 - 替换values.yaml:
- pv
- ingress
- install minio
1
helm install minio -n spinnaker ./minio
安装halyard
- 参考: https://spinnaker.io/setup/install/halyard/#install-on-debianubuntu-and-macos
- 运行halyard
1
2
3
4
5
6
7
8
9
10
11
12
13docker run -p 8084:8084 -p 9000:9000 \
--name halyard --rm \
-v ~/.hal:/home/spinnaker/.hal \
-v ~/.kube:/home/spinnaker/.kube \
-it us-docker.pkg.dev/spinnaker-community/docker/halyard:stable
# root执行
docker run \
--name halyard --rm \
-u root \
-v ~/.hal:/root/.hal \
-v ~/.kube:/root/.kube \
-it us-docker.pkg.dev/spinnaker-community/docker/halyard:stable
配置、安装spinnaer
配置
进入halyard容器进行配置部署
1
docker exec -it halyard sh
设置版本
1
hal config version edit --version 1.19.4
设置存储
1
2
3
4
5
6
7
8
9hal config storage s3 edit \
--endpoint http://ip:9000 \
--access-key-id xxxxx \
--secret-access-key xxxx \
--bucket spinnaker \
--path-style-access true
hal config storage edit --type s3添加account provider
1
2
3
4
5
6hal config provider kubernetes enable --no-validate
hal config provider kubernetes account add default --context $(kubectl config current-context) --service-account true --omit-namespaces=kube-system,kube-public --provider-version v2 --no-validate
# 如果添加失败可以删除
# 删除命令 hal config provider kubernetes account delete default
# 查看account添加列表
hal config provider kubernetes account list设置部署命名空间
1
hal config deploy edit --account-name default --type distributed --location spinnaker
功能配置开启
1
2
3hal config features edit --pipeline-templates true
hal config features edit --artifacts true
hal config features edit --managed-pipeline-templates-v2-ui true配置访问域名
1
2hal config security ui edit --override-base-url http://spinnaker.local.k8s.ops.qipajun.com
hal config security api edit --override-base-url http://spinnaker.local.k8s.ops.qipajun.com/gate/应用部署
1
2
hal deploy apply备份
1
2
3
4
5~/.hal # hal backup create
+ Create backup
Success
+ Successfully created a backup at location:
/root/halyard-2020-12-30_06-11-33-774Z.tar恢复
1
hal backup restore --backup-path <backup-name>.tar