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
    • Helm Chart
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
  • Coding
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Jquery & JavaScript
    • Git
    • Selenium
  • Log & Monitor
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
  • 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

  • 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 mode deploy automatically via template spinnaker! Spinnaker
[Spinnaker] Spinnaker writes too many logs – Reduce spinnaker log level Spinnaker
[Spinnaker] Pipelines of an application hung. Spinnaker
[Spinnaker] Install Spinnaker on Kubernetes through Helm from OpsMx Kubernetes & Container
[Spinnaker] Design CD on Kubernetes by Spinnaker 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

  • [Argocd/Vault] Integrate Vault inside Argocd by the plugin July 1, 2022
  • [Vault] Using Service Acount of Kubernetes to login Vault system. June 28, 2022
  • Protected: My Assignment  June 24, 2022
  • [Spinnaker] Spinnaker writes too many logs – Reduce spinnaker log level June 22, 2022
  • [Jenkins] Jobs will be created automatically by Jenkins Job Builder June 20, 2022

Archives

  • 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
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Jenkins
    • Spinnaker
  • Coding
    • Git
    • Golang
    • Jquery & JavaScript
    • Laravel
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kubernetes
      • Ingress
    • Longhorn – Storage
    • Vault
    • VictoriaMetrics
  • Log & Monitor
    • ELK
      • Kibana
      • Logstash
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2022 NimTechnology.