--- title: '聯合大學 資訊工程學系 GitLab-GPU(試驗性) 資料還原流程' disqus: hackmd --- 聯合大學 資訊工程學系 GitLab-GPU(試驗性) 資料還原流程 === ## 索引 [TOC] ## 注意事項 * 此文件由之前使用的系統進行備份 ## 前置相關資訊 ```plantuml @startyaml namespace: gitlab-gpu gitlab: version: 14.5.2ee chart: 5.5.2 backup: file: name: <timestamp>_<version>_gitlab_backup.tar type: tar secret: name: xxxxx type: yaml @endyaml ``` https://artifacthub.io/packages/helm/gitlab/gitlab/5.5.2 ## 網域名稱 * gitlab.gpu.mlc.app ## 前置相關指令與文件官方文件差異 Namespace: default to gitlab-gpu ### 流程 ```plantuml start :安裝GitLab; note 根據當下安裝目標環境進行調整 end note :find the object name for the rails secrets; note 由於安裝的目標不同 所以可能名稱會有所差異 end note :Delete the existing secret; :Create the new secret using the same name as the old, and passing in your local YAML file; end ``` ### 流程紀錄 > microk8s.kubectl create ns gitlab-gpu ``` ubuntu@csie406-223:~$ microk8s.kubectl create ns gitlab-gpu namespace/gitlab-gpu created ``` > microk8s.helm3 install gitlab-gpu -n gitlab-gpu gitlab/gitlab --version 5.5.2 -f ./gitlab-gpu202100822.yaml > microk8s.kubectl get secrets -n gitlab-gpu | grep rails-secret gitlab-gpu-rails-secret ``` ubuntu@csie406-223:~$ microk8s.kubectl get secrets -n gitlab-gpu | grep rails-secret gitlab-gpu-rails-secret Opaque 1 3m38s ``` 上面找到新的`rails-secret`名稱: `gitlab-gpu-rails-secret` > microk8s.kubectl delete -n gitlab-gpu secret gitlab-gpu-rails-secret ``` ubuntu@csie406-223:~$ microk8s.kubectl delete -n gitlab-gpu secret gitlab-gpu-rails-secret secret "gitlab-gpu-rails-secret" deleted ``` > microk8s.kubectl create secret generic -n gitlab-gpu gitlab-gpu-rails-secret --from-file=secrets.yml=./gitlab-gpu-secrets.yaml ``` ubuntu@csie406-223:~$ microk8s.kubectl create secret generic -n gitlab-gpu gitlab-gpu-rails-secret --from-file=secrets.yml=./gitlab-gpu-secrets.yaml secret/gitlab-gpu-rails-secret created ``` ### 刪除重啟 > microk8s.kubectl delete pods -lapp=sidekiq,release=gitlab-gpu -n gitlab-gpu ``` ubuntu@csie406-223:~$ microk8s.kubectl delete pods -lapp=sidekiq,release=gitlab-gpu -n gitlab-gpu pod "gitlab-gpu-sidekiq-all-in-1-v2-7fcffc4f4f-gmg7t" deleted ``` > microk8s.kubectl delete pods -lapp=webservice,release=gitlab-gpu -n gitlab-gpu ``` ubuntu@csie406-223:~$ microk8s.kubectl delete pods -lapp=webservice,release=gitlab-gpu -n gitlab-gpu pod "gitlab-gpu-webservice-default-7568cdbb94-nsl2p" deleted pod "gitlab-gpu-webservice-default-7568cdbb94-j8prz" deleted ``` > microk8s.kubectl delete pods -lapp=toolbox,release=gitlab-gpu -n gitlab-gpu ``` ubuntu@csie406-223:~$ microk8s.kubectl delete pods -lapp=toolbox,release=gitlab-gpu -n gitlab-gpu pod "gitlab-gpu-toolbox-5569fc7d7d-ljpxt" deleted ``` ## Restoring the backup file > kubectl get pods -lrelease=gitlab-gpu,app=toolbox -n gitlab-gpu ``` ubuntu@csie406-223:~$ kubectl get pods -lrelease=gitlab-gpu,app=toolbox -n gitlab-gpu NAME READY STATUS RESTARTS AGE gitlab-gpu-toolbox-7cb849978c-qv5zd 1/1 Running 0 8m53s ``` ``` ubuntu@csie406-223:~$ microk8s.kubectl cp ./1639710663_2021_12_17_14.5.2-ee_gitlab_backup.tar gitlab-gpu-toolbox-7cb849978c-qv5zd:/tmp/ -n gitlab-gpu Defaulted container "toolbox" out of: toolbox, certificates (init), configure (init) ubuntu@csie406-223:~$ microk8s.kubectl cp ./1639710663_2021_12_17_14.5.2-ee_gitlab_backup.tar gitlab-gpu-toolbox-7cb849978c-qv5zd:/srv/gitlab/tmp/backups/0_gitlab_backup.tar -n gitlab-gpu ``` ``` microk8s.kubectl -n gitlab-gpu exec gitlab-gpu-toolbox-7cb849978c-qv5zd -it -- backup-utility --restore -t /tmp/1639710663_2021_12_17_14.5.2 ``` ## Reference and FAQ * [artifacthub gitlab 5.5.2](https://artifacthub.io/packages/helm/gitlab/gitlab/5.5.2) * [backup-restore backup](https://docs.gitlab.com/charts/backup-restore/backup.html) * [backup-restore restore](https://docs.gitlab.com/charts/backup-restore/restore.html) :::info **Find this document incomplete?** Leave a comment! ::: ###### tags: `聯合大學` `Documentation`