Kubernetes Webadmin
System Requirements
Mengerti ci/cd di Gitlab.
Pada proses deployment untuk webadmin pada Kubernetes ialah lakukan create file .gitlab-ci.yml pada repository sapawarga-webadmin di Gitlab. Khusus untuk deployment webadmin oleh Kubernetes berada di stage deploy_prod_eks . Pada file dibawah hanya fokus di stage tersebut.
deploy_prod_eks:
stage: deploy_prod
image: dtzar/helm-kubectl
when: manual
environment:
name: production
only:
- master
dependencies:
- versioning
before_script:
- export VERSION=$(cat ./version)
- kubectl config set-cluster k8s --server="${EKS_SERVER}"
- kubectl config set clusters.k8s.certificate-authority-data ${EKS_CA}
- kubectl config set-credentials gitlab --token="${EKS_TOKEN}"
- kubectl config set-context default --cluster=k8s --user=gitlab
- kubectl config use-context default
- kubectl cluster-info
script:
- cp kubernetes/webadmin-variables-sample.yaml kubernetes/webadmin-variables.yaml
- sed -i "s/%VUE_APP_VERSION%/${VERSION}/g" kubernetes/webadmin-variables.yaml
- sed -i "s/%VUE_APP_BASE_API%/${EKS_VUE_APP_BASE_API}/g" kubernetes/webadmin-variables.yaml
- sed -i "s/%dockerconfigjson%/${dockerconfigjson}/g" kubernetes/webadmin-variables.yaml
- sed -i "s/%SENTRY_DSN_API%/${SENTRY_DSN_API}/g" kubernetes/webadmin-variables.yaml
- sed -i "s/%VERSION%/${VERSION}/g" kubernetes/webadmin-deployment.yaml
- kubectl create --dry-run --validate -f kubernetes/webadmin-variables.yaml
-f kubernetes/webadmin-deployment.yaml
-f kubernetes/webadmin-service.yaml
- kubectl apply -f kubernetes/webadmin-variables.yaml
-f kubernetes/webadmin-deployment.yaml
-f kubernetes/webadmin-service.yaml
Pada tahap scripting seperti file diatas. yang wajib di garis bawahi ialah tahap inisiasi kubectl config. Merupakan langkah awal dari step deployment agar shared-runners pada Gitlab dapat berkomunikasi dengan cluster di AWS EKS.
Pertama kita akan membuat User dengan roles khusus untuk deployment production di AWS EKS, tujuannya adalah agar memuhdakan mapping hak akses pada sistem di kubernetes.
lalu eksekusi command dibawah
Last updated