Spinnaker 高可用安装构思与实践

Spinnaker 高可用安装构思与实践由于官方没有提供高可用的方案 官方直接建议由 K8S 进行调度 但是由于网络原因往往无法安装成功 生产环境如果是单点方案 死掉一个以后 恢复的时间由于网络原因时间会非常长 着急上线或者部署的话会出现很大的问题 Spinnaker 所有的配置文件由 minio 进行存储 Minio 高可用的话 可以解决存储的问题 但是还是不能解决 spinnaker 挂掉一个然后不影响使用的问题基本构思是 先安装一个 min

一、 准备环境

二、 安装hal

sudo bash InstallHalyard.sh

三、安装minio集群

安装完成以后,配置systemd管理方式

vim /lib/systemd/system/minio.service

chmod +x /lib/systemd/system/minio.service

!/bin/bash

chmod +x /opt/minio/run.sh

四、开始安装spinnaker

echo MINIOSECRETKEY|halconfigstorages3editendpoint M I N I O S E C R E T K E Y | h a l c o n f i g s t o r a g e s 3 e d i t − − e n d p o i n t ENDPOINT \
–access-key-id $MINIO_ACCESS_KEY \
–secret-access-key # will be read on STDIN to avoid polluting your




~/.bash_history with a secret

顺利的话,多试几遍是能成功的,不顺利的话,就试更多遍

五、配置与K8S的连接

六、安装另外一台高可用的节点

七、配置IP访问spinnaker

八、后续同步方案

currentDeployment: default deploymentConfigurations: - name: default version: 1.9.3 providers: appengine: enabled: false accounts: [] aws: enabled: false accounts: [] bakeryDefaults: baseImages: [] defaultKeyPairTemplate: '{ 
   {name}}-keypair' defaultRegions: - name: us-west-2 defaults: iamRole: BaseIAMRole ecs: enabled: false accounts: [] azure: enabled: false accounts: [] bakeryDefaults: templateFile: azure-linux.json baseImages: [] dcos: enabled: false accounts: [] clusters: [] dockerRegistry: enabled: true accounts: - name: my-docker-harbor requiredGroupMembership: [] permissions: {} address: http://harbor-test-01.cloudplay.com:5006 username: admin password: test01.Harbor12345.. email: admin@example.com cacheIntervalSeconds: 30 clientTimeoutMillis: 60000 cacheThreads: 1 paginateSize: 100 sortTagsByDate: false trackDigests: false insecureRegistry: true repositories: [] primaryAccount: my-docker-harbor google: enabled: false accounts: [] bakeryDefaults: templateFile: gce.json baseImages: [] zone: us-central1-f network: default useInternalIp: false kubernetes: enabled: true accounts: - name: k8s-test requiredGroupMembership: [] providerVersion: V2 permissions: {} dockerRegistries: [] context: kubernetes configureImagePullSecrets: true cacheThreads: 1 namespaces: [] omitNamespaces: [] kinds: [] omitKinds: [] customResources: [] cachingPolicies: [] kubeconfigFile: /home/ubuntu/.kube/config oauthScopes: [] oAuthScopes: [] primaryAccount: k8s-test openstack: enabled: false accounts: [] bakeryDefaults: baseImages: [] oracle: enabled: false accounts: [] deploymentEnvironment: size: SMALL type: LocalDebian updateVersions: true consul: enabled: false vault: enabled: false customSizing: {} gitConfig: upstreamUser: spinnaker haServices: clouddriver: enabled: false echo: enabled: false persistentStorage: persistentStoreType: s3 azs: {} gcs: rootFolder: front50 redis: {} s3: bucket: spin-902c1037-ff43-4240-85a6-08f7d0db2923 rootFolder: front50 endpoint: http://172.16.2.109:9001 accessKeyId: minio secretAccessKey: minio123 oracle: {} features: auth: false fiat: false chaos: false entityTags: false jobs: false artifacts: true metricStores: datadog: enabled: false prometheus: enabled: false add_source_metalabels: true stackdriver: enabled: false period: 30 enabled: false notifications: slack: enabled: false timezone: America/Los_Angeles ci: jenkins: enabled: false masters: [] travis: enabled: false masters: [] wercker: enabled: false masters: [] security: apiSecurity: ssl: enabled: false overrideBaseUrl: http://172.16.2.109:8084 uiSecurity: ssl: enabled: false overrideBaseUrl: http://172.16.2.109:9000 authn: oauth2: enabled: false client: {} resource: {} userInfoMapping: {} saml: enabled: false ldap: enabled: false url: ldap://172.16.2.94/dc=cloudplayer-int,dc=haima,dc=me userDnPattern: uid={ 
  0},uid=users x509: enabled: false iap: enabled: false enabled: false authz: groupMembership: service: EXTERNAL google: roleProviderType: GOOGLE github: roleProviderType: GITHUB file: roleProviderType: FILE ldap: roleProviderType: LDAP enabled: false artifacts: bitbucket: enabled: false accounts: [] gcs: enabled: false accounts: [] github: enabled: false accounts: [] gitlab: enabled: false accounts: [] http: enabled: false accounts: [] s3: enabled: false accounts: [] pubsub: google: enabled: false subscriptions: [] canary: enabled: false serviceIntegrations: - name: google enabled: false accounts: [] gcsEnabled: false stackdriverEnabled: false - name: prometheus enabled: false accounts: [] - name: datadog enabled: false accounts: [] - name: aws enabled: false accounts: [] s3Enabled: false reduxLoggerEnabled: true defaultJudge: NetflixACAJudge-v1.0 stagesEnabled: true templatesEnabled: true showAllConfigsEnabled: true
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209310.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午9:33
下一篇 2026年3月19日 上午9:33


相关推荐

  • pytorch中resnet_通过Pytorch实现ResNet18

    pytorch中resnet_通过Pytorch实现ResNet18对于像我这样刚刚入门深度学习的同学来说,可能接触学习了一个开发工具,却没有通过运用来熟练的掌握它。而ResNet是深度学习里面一个非常重要的backbone,并且ResNet18实现起来又足够简单,所以非常适合拿来练手。我们这里的开发环境是:python3.6.10pytorch1.5.0torchvision0.6.0cudatoolkit10.2.89cudnn7.6.5首先,我们需…

    2022年5月26日
    36
  • Linux中的pushd和popd

    Linux中的pushd和popd其实,很早就知道pushd和popd在linux中可以用来方便地在多个目录之间切换。那时比较浮躁,感觉切换目录没必要这么复杂。在实际中,发现通过使用pushd和popd能够极大地提高效率。0、使用cd-进行目录切换一般,Shell中都可以通过cd-命令回到之前的目录,下面是一个例子:$pwd/home/lfqy$cd/$cd-/home/lfqy$实际上,cd-中,-就

    2025年7月21日
    5
  • Microsoft Windows 恶意软件删除工具

    Microsoft Windows 恶意软件删除工具Microsoft恶意软件删除工具与防病毒产品有何差异Microsoft恶意软件删除工具不能取代防病毒产品。严格地讲,该工具是感染后的删除工具。因此,强烈建议您安装并使用最新的防病毒产品。Microsoft恶意软件删除工具主要在以下三个方面与防病毒产品有所不同:该工具从已经受感染的计算机中删除恶意软件。防病毒产品能够阻止恶意软件在计算…

    2022年6月24日
    39
  • Eclipse导入项目出现中文乱码解决方法

    Eclipse导入项目出现中文乱码解决方法Eclipse 导入项目出现中文乱码解决方法在使用 eclipse 导入课本的 java 文件或网上项目时会遇到中文乱码问题步骤一 1 Project Properties Resource Textfileenco Other UTF 8 然后点击 ApplyandClos 选择出现乱码的项目 File Properties Textfileenco Other UTF 8 然后点击 ApplyandClos 步骤二 Window Prefer

    2026年2月26日
    3
  • javascript中caller和callee区别以及使用场景

    javascript中caller和callee区别以及使用场景英文翻译 caller nbsp n 访客 通信 呼叫者 打电话者 召集员 calleen 被召者 caller 理解为指的是调用当前函数的函数 也就是调用者 如果没有其他函数调用的话就是 null 举个栗子如果 callerTest 是直接执行的函数 那么 callerTest caller null 如果 test 去调用 callerTest 那么 callerTest caller test 具

    2025年10月6日
    5
  • beanutils用法_beanutils.populate报错

    beanutils用法_beanutils.populate报错什么是BeanUtils工具BeanUtils工具是一种方便我们对JavaBean进行操作的工具,是Apache组织下的产品。 BeanUtils工具一般可以方便javaBean的哪些操作?1)beanUtils 可以便于对javaBean的属性进行赋值。2)beanUtils 可以便于对javaBean的对象进行赋值。3)beanUtils可以将一个MAP集合的数据拷贝到…

    2025年10月30日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号