helm快速部署spinnaker

helm 部署spinnaker

helm 下载spinnaker包

helm fetch stable/spinnaker

修改helm包,使能在国内使用

vim templates/configmap/halyard-init-script.yaml 

  init.sh |
  ...
    export http_proxy=http://10.129.60.214:8118
    export HTTP_PROXY=http://10.129.60.214:8118
    export HTTPS_PROXY=https://10.129.60.214:8118
    export https_proxy=https://10.129.60.214:8118
    export no_proxy="localhost,127.0.0.1,10.129.60.211:6443,10.129.60.212:6443,10.129.60.213:6443"
    export NO_PROXY="localhost,127.0.0.1,10.129.60.211:6443,10.129.60.212:6443,10.129.60.213:6443"
  spinnaker: |
    export JAVA_OPTS='"-Dhttp.proxyHost=10.129.60.214" "-Dhttp.proxyPort=8118" "-Dhttps.proxyHost=10.129.60.214" "-Dhttps.proxyPort=8118"'

vim templates/statefulsets/halyard.yaml 
      volumes:
      - name: default-spinnaker
        configMap:
          name: {{ template "spinnaker.fullname" . }}-halyard-init-script
        volumeMounts:
        - name: default-spinnaker
          mountPath: /etc/default
  volumeClaimTemplates:
  - metadata:
      ...
      {{- if .Values.halyard.persistence.storageClass }}
      storageClassName: {{ .Values.halyard.persistence.storageClass }}
      {{- end }}
      ...

启动helm包

helm install --name spinnaker --namespace spinnaker -f spinnaker ./

helm启动后执行的一个jobs,主要执行的内容如下,(了解)

    export DAEMON_ENDPOINT=http://spinnaker-spinnaker-halyard:8064
    export HAL_COMMAND="hal --daemon-endpoint $DAEMON_ENDPOINT"
    until $HAL_COMMAND --ready; do sleep 10 ; done

    # Spinnaker version
    $HAL_COMMAND config version edit --version 1.12.5

    # Storage
    echo spinnakeradmin | $HAL_COMMAND config storage s3 edit --endpoint http://spinnaker-minio:9000 --access-key-id spinnakeradmin --secret-access-key --bucket spinnaker
    $HAL_COMMAND config storage edit --type s3


    # Docker Registry
    $HAL_COMMAND config provider docker-registry enable

    if $HAL_COMMAND config provider docker-registry account get dockerhub; then
      PROVIDER_COMMAND='edit'
    else
      PROVIDER_COMMAND='add'
    fi

    CREDS=""
    $HAL_COMMAND config provider docker-registry account add  dockerhub --address index.docker.io \
         --repositories library/alpine,library/ubuntu,library/centos,library/nginx

    $HAL_COMMAND config provider kubernetes enable

    if $HAL_COMMAND config provider kubernetes account get default; then
      PROVIDER_COMMAND='edit'
    else
      PROVIDER_COMMAND='add'
    fi

    $HAL_COMMAND config provider kubernetes account add  default --docker-registries dockerhub \
                --context default --service-account true \
                 --omit-namespaces=kube-system,kube-public --provider-version v2
				 
    $HAL_COMMAND config deploy edit --account-name default --type distributed \
                           --location default
						   
    # Use Deck to route to Gate
    $HAL_COMMAND config security api edit --no-validate --override-base-url /gate
    $HAL_COMMAND config features edit --artifacts true
    $HAL_COMMAND config features edit --jobs true

    $HAL_COMMAND deploy apply

添加jenkins插件

hal config ci jenkins enable

echo xxxx | hal  config ci jenkins master add my-jenkins-master --address http://xxxx:xxxx  --username admin  --password 


hal config artifact github enable

echo xxxx | hal config artifact github account add my-github  --username xxxx --password 

修改镜像地址,为本地的镜像地址

查看需要使用的镜像以及版本

hal version bom 1.12.5

cat << EOF > docker-push.py
import os

with open("spinnaker-list.txt", 'r') as images:
  abc=[]
  for line in images.readlines():
      name = line.strip().split('/')[-1]
      tag='registry.cn-beijing.aliyuncs.com/glodon-common/'+name
      line=line.split('\n')[0]
      abc.append(tag)
      print(tag)
      os.system('docker pull %s' %line)
      os.system('docker tag %s %s' %(line,tag))
      os.system('docker push %s' %tag)

for i in abc:
  print(i)

EOF
cat << EOF > spinnaker-list.txt
gcr.io/spinnaker-marketplace/echo:2.3.1-20190214121429
gcr.io/spinnaker-marketplace/clouddriver:4.3.5-20190307172446
gcr.io/spinnaker-marketplace/deck:2.7.5-20190308182538
gcr.io/spinnaker-marketplace/fiat:1.3.2-20190128153726
gcr.io/spinnaker-marketplace/front50:0.15.2-20190222161456
gcr.io/spinnaker-marketplace/gate:1.5.2-20190301030607
gcr.io/spinnaker-marketplace/igor:1.1.1-20190213190226
gcr.io/spinnaker-marketplace/kayenta:0.6.1-20190221030610
gcr.io/spinnaker-marketplace/orca:2.4.0-20190308182538
gcr.io/spinnaker-marketplace/rosco:0.9.0-20190123170846
gcr.io/kubernetes-spinnaker/redis-cluster:v2
EOF

删除之前去gcr.io拉去的镜像,重新部署spinnaker

hal deploy clean

修改对应的镜像地址

注意,这里的gate的地址,spin-gate.default,名称空间和地址要统一

cd /home/spinnaker/.hal/default/service-settings/

cat<< EOF >deck.yml
env:
  API_HOST: http://spin-gate.spinnaker:8084
kubernetes:
  useExecHealthCheck: false
  serviceType: NodePort
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/deck:2.7.5-20190308182538
EOF


cat<< EOF >gate.yml
env:
  API_HOST: http://spin-gate.spinnaker:8084
kubernetes:
  useExecHealthCheck: false
  serviceType: NodePort
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/gate:1.5.2-20190301030607
EOF



cat<< EOF >orca.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/orca:2.4.0-20190308182538
EOF


cat<< EOF >igor.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/igor:1.1.1-20190213190226
EOF


cat<< EOF >clouddriver.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/clouddriver:4.3.5-20190307172446
EOF

cat<< EOF >front50.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/front50:0.15.2-20190222161456
EOF

cat<< EOF >echo.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/echo:2.3.1-20190214121429
EOF

cat<< EOF >rosco.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/rosco:0.9.0-20190123170846
EOF



cat<< EOF >fiat.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/fiat:1.3.2-20190128153726
EOF
cat<< EOF >kayenta.yml
artifactId: registry.cn-beijing.aliyuncs.com/glodon-common/kayenta:0.6.1-20190221030610
EOF

重新部署spinnaker

rm -rf /home/spinnaker/.hal/default/history

hal deploy apply 

问题整理

1、Problems in Global:
! ERROR Failed check for Namespace/default in null
Unable to connect to the server: net/http: TLS handshake timeout


#添加http代理
export http_proxy=http://10.129.60.214:8118
export HTTP_PROXY=http://10.129.60.214:8118
export HTTPS_PROXY=https://10.129.60.214:8118
export https_proxy=https://10.129.60.214:8118

#指定那些不走代理,重点是这个
export no_proxy="localhost,127.0.0.1,10.129.60.211:6443,10.129.60.212:6443,10.129.60.213:6443,cn-beijing.aliyuncs.com"
export NO_PROXY="localhost,127.0.0.1,10.129.60.211:6443,10.129.60.212:6443,10.129.60.213:6443,registry.cn-beijing.aliyuncs.com"


#删除代理
unset no_proxy
unset NO_PROXY
unset https_proxy
unset http_proxy
unset HTTPS_PROXY
unset HTTP_PROXY
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用Helm部署最新版Hyperf应用程序的详细步骤: 1. 首先,你需要安装Helm工具,并且配置好Kubernetes集群。你可以参考官方文档进行安装和配置。 2. 接着,你需要创建一个Hyperf应用程序的Helm chart。你可以使用Helm命令行工具来创建一个空的Helm chart,如下所示: ``` helm create my-hyperf-app ``` 这将会在当前目录下创建一个名为`my-hyperf-app`的Helm chart。 3. 然后,你需要在`values.yaml`文件中定义Hyperf应用程序的相关参数,例如应用程序的名称、版本号、容器镜像等。以下是一个示例的`values.yaml`文件: ``` image: repository: hyperf/hyperf tag: 2.1-alpine pullPolicy: IfNotPresent service: type: ClusterIP port: 80 env: APP_NAME: my-hyperf-app APP_ENV: local APP_DEBUG: true ``` 在这个示例中,我们使用了Hyperf官方提供的容器镜像`hyperf/hyperf`,并且指定了镜像的版本号为`2.1-alpine`。 4. 接下来,你需要将Hyperf应用程序的Docker镜像打包成一个可部署的Helm chart。你可以使用`helm package`命令来打包Helm chart: ``` helm package my-hyperf-app ``` 这将会在当前目录下生成一个名为`my-hyperf-app-0.1.0.tgz`的Helm chart包。 5. 然后,你需要使用`helm install`命令将Helm chart部署Kubernetes集群中: ``` helm install my-hyperf-app my-hyperf-app-0.1.0.tgz ``` 这将会在Kubernetes集群中创建一个名为`my-hyperf-app`的Deployment和一个名为`my-hyperf-app`的Service。 6. 最后,你可以使用Kubernetes工具来检查应用程序的状态,例如: ``` kubectl get pods kubectl get services ``` 如果一切正常,你现在应该可以通过Service的IP地址和端口访问到Hyperf应用程序了。 以上就是使用Helm部署最新版Hyperf应用程序的详细步骤,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值