오늘은 github actions를 이용해서 Docker images를 push하는 것을 배웠다.
Jenkins에서 Docker 사용
sudo gpasswd -a jenkins docker
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo service jenkins restart
Jenkinsfile
pipeline { agent any parameters { choice(name: 'VERSION', choices: ['1.1.0','1.2.0','1.3.0'], description: '') booleanParam(name: 'executeTests', defaultValue: true, description: '') } stages { stage("init") { steps { script { gv = load "script.groovy" } } } stage("Checkout") { steps { checkout scm } } stage("Build") { steps { sh 'docker-compose build web' } } stage("test") { when { expression { params.executeTests } } steps { script { gv.testApp() } } } stage("deploy") { steps { sh "docker-compose up -d" } } } }
Kubernetes (K8s)
# minikube 설치
# 폴더 위치 주의하자.
curl -LO https://storage.googleapis.com/minikube/releases/v1.22.0/minikube-linux-amd64
# 최신 버전 다운 (curl -LO 써도 될듯)
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# 실행권한 추가
sudo chmod 755 /usr/local/bin/minikube
# 설치 확인
minikube --help
# 버전 확인
minikube version
# kubectl - kube controller 설치
curl -LO https://dl.k8s.io/release/v1.22.1/bin/linux/amd64/kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# binary에 권한 추가
chmod +x /usr/local/bin/kubectl
# 설치 확인
kubectl --help
# 버전 확인
kubectl version -o json
# 실행
minikube start --driver=docker
#
kubectl get pod -n kube-system
# pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: counter
spec:
containers:
- name: count
image: busybox
args: [/bin/sh, -c, 'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done']
kubectl apply -f pod.yaml
kubectl get pod counter
kubectl describe pod counter
# o는 output의 약자이다.
kubectl get pod -o wide # pod 목록을 보다 자세히 출력
kubectl get pod coutner -o yaml # 아마도 해당 pod의 yaml파일을 보여주는 명령어
kubectl get pod -w # kubectl get pod의 결과를 계속 보여준다.
'프로그램 > SKT FLY AI' 카테고리의 다른 글
SKT FLY AI : 16일차 - Cloud (0) | 2023.07.18 |
---|---|
SKT FLY AI : 15일차 - K8s (0) | 2023.07.14 |
SKT FLY AI : 13일차 - Docker & Jenkins (0) | 2023.07.12 |
SKT FLY AI : 12일차 - Github Actions (0) | 2023.07.11 |
SKT FLY AI : 11일차 (0) | 2023.07.11 |