我是靠谱客的博主 贪玩朋友,最近开发中收集的这篇文章主要介绍安装Spinnaker,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

视频地址:https://www.bilibili.com/video/BV1eS4y1F7pN/

0. 准备一个Kubernetes集群(略)

$ kubectl get nodes
NAME         STATUS   ROLES                  AGE     VERSION
myoci.site   Ready    control-plane,master   3d12h   v1.21.4

1. 为了更方便外部访问,安装Nginx Ingress

kubectl label node myoci.site ingress-ready=true
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml

2. 使用Docker容器安装Halyard

mkdir ~/.hal
docker run -d --name halyard --restart=always -v ~/.hal:/home/spinnaker/.hal -v ~/.kube:/home/spinnaker/.kube gcr.io/spinnaker-marketplace/halyard:stable

确认安装,

docker exec -it halyard bash
hal -v

3. 选择云提供商

hal config provider kubernetes enable

添加Kubernetes集群账户

hal config provider kubernetes account add spinnaker-admin --context $(kubectl config current-context)

选择运行环境

hal config deploy edit --account-name spinnaker-admin --type distributed --location spinnaker

4. 部署Storageclass(可选)

Kubernetes集群需要有Storageclass动态提供存储,如果没有的话需要创建一个默认的Storageclass。

安装nfs-server

sudo su -
echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports

mkdir -p /nfs/data
sudo yum install -y nfs-utils
systemctl enable rpcbind --now
systemctl enable nfs-server --now
# 设置生效
exportfs -r
exportfs

通过nfs-subdir-external-provisioner创建Storageclass

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm repo update
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner 
    --set nfs.server=xxx.xxx.xxx.xxx 
    --set nfs.path=/nfs/data

nfs-client设置为默认storageclass

kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

5. 选择存储方式(本例使用minio)

kubectl create ns minio

安装Minio

helm repo add minio https://helm.min.io/
helm install -n minio --generate-name minio/minio

获取ACCESS_KEY和SECRET_KEY

kubectl -n minio get secret minio-<your_id> -o jsonpath="{.data.accesskey}" | base64 -d
kubectl -n minio get secret minio-<your_id> -o jsonpath="{.data.secretkey}" | base64 -d

配置Minio存储

hal config storage s3 edit --endpoint http://minio-<your_id>.minio.svc.cluster.local:9000 --access-key-id <your_access_key> --secret-access-key <your_secret_key> --path-style-access true
hal config storage edit --type s3

Minio不支持对象版本控制,需要在Spinnaker中将其禁用

mkdir -p ~/.hal/default/profiles/
cat > ~/.hal/default/profiles/front50-local.yaml <<EOF
spinnaker.s3.versioning: false
EOF

6. 部署Spinnaker

hal version list
hal config version edit --version 1.26.6

执行部署(如果发生错误,再次执行一次)

hal deploy apply

确认

kubectl get pods -n spinnaker

部署Ingress

cat <<EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: spin-deck
  namespace: spinnaker
spec:
  rules:
  - host: spinnaker.spinbook.local
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: spin-deck
            port:
              number: 9000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: spin-gate
  namespace: spinnaker
spec:
  rules:
  - host: spinnaker-gate.spinbook.local
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: spin-gate
            port:
              number: 8084
EOF

修改Spinnaker Deck和Gate的域名配置

hal config security ui edit --override-base-url http://spinnaker.spinbook.local
hal config security api edit --override-base-url http://spinnaker-gate.spinbook.local

重新部署Spinnaker,使配置生效

hal deploy apply

修改/etc/hosts

sudo vi /etc/hosts
--- add
127.0.0.1 spinnaker-gate.spinbook.local spinnaker.spinbook.local
---

7. 访问Spinnaker

打开浏览器,访问http://spinnaker.spinbook.local

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7SqFEzsq-1645284408302)(images/image-20220219232616870.png)]在这里插入图片描述

最后

以上就是贪玩朋友为你收集整理的安装Spinnaker的全部内容,希望文章能够帮你解决安装Spinnaker所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部