Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
      • Pod
    • Helm Chart
    • OAuth2 Proxy
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Argo Events
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • DevSecOps
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
      • Azure Cloud
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log, Monitor & Tracing
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Spinnaker/K8s] Add many Kubernetes clusters into spinnaker.

Posted on January 6, 2022May 14, 2022 By nim No Comments on [Spinnaker/K8s] Add many Kubernetes clusters into spinnaker.

Contents

Toggle
  • 1) Spinnaker was install by helm chart.
    • 1.1) add kubernetes into spinnaker(helm chart)
    • 1.2) recheck configuration.
      • 1.2.1) Comand
      • 1.2.2) UI of spinnaker.
  • 2) old. You need recheck.
  • 3) Add many kubernetes clusters through “values.yaml” of Helm chart.

1) Spinnaker was install by helm chart.

Hiện tại mình đã hướng dẫn các bạn install Spinnaker bằng helm chart có sẵn:

[Spinnaker] Install Spinnaker on Kubernetes through Helm from OpsMx
Thường thì sau khi cài xong là chúng ta có thể test deploy ngày trên cluster k8s cái spinnaker.

1.1) add kubernetes into spinnaker(helm chart)

Vậy làm sao để cho spinnaker quản lý được nhiều cluster k8s.

Bước 1 create 1 secret trên namespace đã cài đặt spinnaker
Bạn cần show contexts trong file kubeconfig của bạn

root@work-space-u20:~# kubectl config get-contexts
CURRENT   NAME           CLUSTER        AUTHINFO   NAMESPACE
          dev            dev            dev        
          k0s-cluster2   k0s-cluster2   admin      default
*         local          local          local     

Như trên trong kubeconfig có 3 clients.
https://stackoverflow.com/questions/59034468/how-to-add-kubernetes-clusters-to-spinnaker

kubectl create secret generic --from-file=$HOME/.kube/config kubeconfig
chúng ta đã có secret.

Bước 2: Giờ cấu hình value.yaml

kubeConfig:
  enabled: true
  secretName: kubeconfig
  secretKey: config
  contexts:
  # Names of contexts available in the uploaded kubeconfig
  - dev
  - local
  - k0s-cluster2
  deploymentContext: local
bạn nhớ thêm đầy đủ như config nhé.

giờ install helm chart thôi.

1.2) recheck configuration.

Giờ kiểm tra config trong value đã ăn chưa?

1.2.1) Comand

hal config provider kubernetes account list

root@work-space-u20:~# kubectl -n spinnaker exec -it pod/spinnaker-spinnaker-halyard-0 bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Defaulted container "halyard" out of: halyard, create-halyard-local (init)
bash-5.0$ hal config provider kubernetes account list
+ Get current deployment
  Success
+ Get the kubernetes provider
  Success
Validation in halconfig:
- WARNING There is a newer version of Halyard available (1.44.1),
  please update when possible
? Run 'sudo apt-get update && sudo apt-get install
  spinnaker-halyard -y' to upgrade

+ Accounts for kubernetes:
  - dev
  - local
  - k0s-cluster2

https://stackoverflow.com/questions/59034468/how-to-add-kubernetes-clusters-to-spinnaker

1.2.2) UI of spinnaker.

Còn cách nữa là test trên UI spinnaker.

Tạo stage name là deploy(manifest)

Có vẻ ăn hết òi hà

2) old. You need recheck.

>>>>>>Các này thì sử dụng hồi còn cài spinnaker trên VM ubuntu 16
mình test spinnaker k8s có vẻ ko ăn.

Giờ rảnh lục lại cách kết nối spinnaker với K8s rồi deploy 1 workload lên k8s bằng 1 pipeline đơn giản.

Giờ bạn cần spinnaker đi vào kube nào
thì bạn lấy trước cho mình kubeconfig của k8s đó

Thực hiện exec vào
kubectl -n spinnaker exec -it pod/spinnaker-spinnaker-halyard-0 bash

mkdir .kube
vi .kube/config ##<== Input kubeconfig content.

#!/bin/bash

# download kubectl if halyard doesn't have kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin

# enable kubernetes
hal config provider kubernetes enable

hal config provider kubernetes account add k0s-cluster2 \
    --provider-version v2 \
    --context $(kubectl config current-context)

hal config provider kubernetes account list
Các bạn có thể list lên để kiểm tra

Giờ apply:
hal deploy apply

3) Add many kubernetes clusters through “values.yaml” of Helm chart.

Bạn tạo 1 secret chưa thông tin file kubeconfig trên k8s

Đoạn mà được mã hoá base64 chính là nội dụng kubeconfig nhé!
apiVersion: v1
data:
  config-myk8s: YXBpVmVyc2lvbjogdjEKa2lu4dDogImNsdXN0ZXIxIg==
kind: Secret
metadata:
  name: kubeconfig
  namespace: spinnaker
type: Opaque

giờ bạn edit values.yaml bằng cách bạn thêm đoạn sau

kubeConfig:
  enabled: true
  secretName: kubeconfig
  secretKey: config-myk8s
  contexts:
  - cluster1
  deploymentContext: cluster1

Mình sẽ giải thích thêm:
contexts: Bạn list các contexts có trong kubeconfig nhé để spinnaker đọc được và action deploy trên cluster đó
deploymentContext: thì giống như default thì nó sẽ chọn context này.

OK bạn thấy hay hem

đã nhận cluster k8s

Spinnaker

Post navigation

Previous Post: [Minio] Install MinIO on Kubernetes through minio-operator
Next Post: [Argo-Workflows] Lesson3: Argo CLI and Input Parameters

More Related Articles

[spinnaker] Command spin receive status 500 Spinnaker
[Spinnaker] Design CD on Kubernetes by Spinnaker Spinnaker
[spinnaker/Github] Login spinnaker through github Spinnaker
[Spinnaker] Pipelines of an application hung. Spinnaker
[Spinnaker] clouddriver.kubernetes.op.job.KubectlJobExecutor$KubectlException: Deploy failed Kubernetes
[Spinnaker] Spinnaker writes too many logs – Reduce spinnaker log level Spinnaker

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [Laravel] Laravel Helpful June 26, 2025
  • [VScode] Hướng dẫn điều chỉnh font cho terminal June 20, 2025
  • [WordPress] Hướng dấn gửi mail trên WordPress thông qua gmail. June 15, 2025
  • [Bitbucket] Git Clone/Pull/Push with Bitbucket through API Token. June 12, 2025
  • [Teamcity] How to transfer the value from pipeline A to pipeline B June 9, 2025

Archives

  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • Argo Events
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • DevSecOps
    • Golang
    • Jquery & JavaScript
    • Laravel
    • NextJS 14 & ReactJS & Type Script
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • Azure Cloud
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
      • Pod
    • Longhorn – Storage
    • MetalLB
    • OAuth2 Proxy
    • Vault
    • VictoriaMetrics
  • Log, Monitor & Tracing
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Fluent
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2025 NimTechnology.