[중간점검2] GitHub -> Jenkins -> k8s 자동배포

이동현·2022년 8월 24일
0

SKT 프로젝트

목록 보기
9/15

목표!

자동화가 안되있으면 매번 github push마다
1) docker image build
2) docker container 생성해서 정상작동하는지 확인하기 .
3) 정상작동 확인 후 , docker image 에 tag 붙이기 .
4) docker push ( Remote repository)
5) kubernetes 에서 web-app-deployment.yaml을 가지고
apply 하기
를 일일히 해야한다.

azure cli 켜고
az vm open-port \
--resource-group <Resource_Group_name> \
--name <Jenkins_Controller_VM> \
--port 80 --priority 1020

ssh azureuser@

curl -L https://aka.ms/InstallAzureCli | bash

az login

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y;
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -;
sudo apt-key fingerprint 0EBFCD88;
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable";
sudo apt-get update;
sudo apt-get install docker-ce -y;

sudo az aks install-cli
sudo az aks get-credentials --resource-group <Resource_Group> --name <AKS_Name>

sudo usermod -aG docker jenkins;
sudo usermod -aG docker azureuser;
sudo touch /var/lib/jenkins/jenkins.install.InstallUtil.lastExecVersion;
sudo service jenkins restart;
sudo cp ~/.kube/config /var/lib/jenkins/.kube
sudo chmod 777 /var/lib/jenkins/
sudo chmod 777 /var/lib/jenkins/config.xml
===========================================

[azure cli upgrade]
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
*cli 버전이 너무 낮아서 한번 upgrade하고 해야한다.

============================================
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-get-started-portal?tabs=azure-cli
참조해서 포탈에서 올렸다 (acr 생성!)

ACR_ID=$(az acr show --resource-group skt-container-registry --name sktregistry --query "id" --output tsv)

az ad sp create-for-rbac

{
"appId": "c4feef88-2d08-4a3e-93c0-b92092a9b41a",
"displayName": "azure-cli-2022-08-26-14-14-05",
"password": "C6B8Q~ie_9cg8FWnhlvBCTuPpXcbfvKKHWGDPctI",
"tenant": "8b4e2f01-3139-45b9-9a89-d9ce301ce706"
}

az role assignment create --assignee <appID> --role Contributor --scope $ACR_ID

========================================

*ACR(Azure Container Registry)

Azure Contianer Registry 를 사용하면 모든 유형의 컨테이너 배포를 위해 이미지와 아티팩트를 프라이빗 레지스트리에 빌드 , 저장 및 관리 할 수 있습니다.

https://docs.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/cannot-pull-image-from-acr-to-aks-cluster

az aks update -n skt-k8s -g skt-kube —attach-acr sktregistry텍스트

0개의 댓글