티스토리 뷰
playbook.yml 준비
ansible에서 사용될 playbook
k8s-cicd-deployment-playbook.yml
- name: Create pods using deployment
hosts: kubernetes
# become: true
# user: ubuntu
tasks:
- name: create a deployment
command: kubectl apply -f cicd-devops-deployment.yml
파일의 내용 밑에 보면 apply -f cicd-devops-deployment.yml 을 사용할것이니 현재 kubernetes가 설치된 로컬피시에 파일을 생성해줍시다.
kubernetes에서 사용될 playbook
cicd- devops-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: cicd-deployment
spec:
selector:
matchLabels:
app: cicd-devops-project
replicas: 2
template:
metadata:
labels:
app: cicd-devops-project
spec:
containers:
- name: cicd-devops-project
image: edowon0623/cicd-project-ansible
imagePullPolicy: Always
ports:
- containerPort: 8080
ansible서버에서 playbook을 실행해보면
전글에서 말했다시피 ansible에선 키복사가되었지만 host 아이디가 root로 지정되어있으니 알맞은 user로 요청을 보내야한다.
TASK의 오류문구를 확인해보면 kubectl이라는 파일을 찾을수 없다는데 path지정을 안해주어서 그런것같다 path를 지정하러 가보자.
ansible서버의 yml파일을 수정
k8s-cicd-deployment-playbook.yml
- name: Create pods using deployment
hosts: kubernetes
# become: true
# user: ubuntu
tasks:
- name: create a deployment
command: /usr/local/bin/kubectl apply -f /Users/daehyunkim/cicd-devops-deployment.yml
내로컬 피시에 kubectl의 경로를 지정해주고 실행될 yml파일의 경로도 정확히 적어주니 잘 되는 모습이다.
devops.yml에 명시한대로 잘 생성되었는지 확인해보면 pod와 deployment가 잘생성된것이 확인이되었습니다.
이제 서비스도 playbook으로 등록해보죠
service를 생성할 playbook파일
ansible의 yml
k8s-cicd-service-playbook.yml
- name: create service for deployment
hosts: kubernetes
# become: true
# user: ubuntu
tasks:
- name: create a service
command: /usr/local/bin/kubectl apply -f /Users/daehyunkim/cicd-devops-service.yml
위에서 확인바와같이 path경로 설정 확실히 해주고
kubernetes의 yml
cicd-devops-service.yml
apiVersion: v1
kind: Service
metadata:
name: cicd-service
labels:
app: cicd-devops-project
spec:
selector:
app: cicd-devops-project
type: NodePort
ports:
- port: 8080
targetPort: 8080
nodePort: 32000
서비스생성 playbook을 실행시켜보면
서비스 생성확인
kubernetes서버에 우리가 설정했던 cicd-service가 잘 생성된것을 확인
서비스가 생성되어 웹사이트구동도했으니 localhost:32000/hello-world로 접속해보니 페이지도 잘 뜨는걸 확인했다
'CI CD' 카테고리의 다른 글
kubernetes + Ansible 연동 (0) | 2023.06.26 |
---|---|
Kubernetes 에서 서비스 작동시키기 (0) | 2023.06.22 |
Kubernetes 설치 기본 명령어 (0) | 2023.06.21 |
kubernetes 소개 (0) | 2023.06.21 |
Waterfall(폭포수 개발) VS Agile(에자일 개발) Cloud Native APP요소(Microservices, Container, DevOps ,CI/CD) (1) | 2023.06.16 |