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:
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
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
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.
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.
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
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
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.
đã nhận cluster k8s