SaevOps
[Open Shift] OpenShift 정의와 컨테이너 이미지 사용 실습 본문
Open Shift
- 정의 : 컨테이너 인프라를 토대로 빌드된 모듈식 구성 요소 및 서비스 세트 (Paas)
- 기능
1) 개발자를 위한 원격 관리
2) 멀티 테넌시,
3) 보안 향상
4) 모니터링 및 감사
5) 어플리케이션 라이프사이클 관리
6) 셀프 서비스 인터페이스
7) OepnShift 경로 제공 (관리 가능한 방식으로 컨테이너화된 어플리케이션 외부 액세스 가능)
- 운영체제 : Red Hat Enterprise Linux Core OS
Podman
- 정의 : 도커명령어랑 동일하며, 컨테이너 이미지를 검색하고 가져오는 서비스
- 명령어
1). Ps : 프로세스 조회
ID | 컨테이너 이미지 | 생성시 실행 명령 | 생성 일시 | 종료 이후시간 | 포트 | 컨테이너 이름
2) run : 컨테이너 실행
-p : 포트맵핑 –d : 데몬실행 –e : 환경변수 설정
3) stop : 컨테이너 중지
4) kill : 주 프로세스 종료
5) restart : 재시작
6. port : 포트 지정
7) rm : 컨테이너 삭제
[실습 1]을 사용하여 컨테이너 이미지 가져오기
- 컨테이너 이미지 이름
- registry-name/user-name/image-name:tag
- 레지스트리이름/이미지가 속한 사용자/사용자 네임스페이스/이미지 버전
이미지 검색
[user@demo ~]$ podman search rhel
이미지 내려받기
[user@demo ~]$ podman pull rhel
내려받은 이미지 정보 보기
[user@demo ~]$ podman images
컨테이너 실행
[user@demo ~]$ podman run ubi8/ubi:8.3 echo 'Hello world!'
컨테이너 백그라운드 프로세스로 실행
[user@demo ~]$ podman run -d -p 8080 registry.redhat.io/rhel8/httpd-24
포트(포트포워딩) 정보 출력
[user@demo ~]$ podman port -l
홈페이지 출력
[user@demo ~]$ curl http://0.0.0.0:44389
컨테이너 내부에서 bash셸 실행
[user@demo ~]$ podman run -it ubi8/ubi:8.3 /bin/bash
e 옵션으로 환경변수 삽입
[user@demo ~]$ podman run -e GREET=Hello -e NAME=RedHat \
> ubi8/ubi:8.3 printenv GREET NAME
MYSQL 데이터베이스 환경변수 등록(자격증명) 설정
[user@demo ~]$ podman run --name mysql-custom \
-e MYSQL_USER=redhat -e MYSQL_PASSWORD=r3dh4t \
-e MYSQL_ROOT_PASSWORD=r3dh4t \
-d registry.redhat.io/rhel8/mysql-80
[실습 2]데이터베이스 인스턴스 생성
Workstation에서 student 사용자 터미널 실행
컨테이너 생성 명령 실행
[student@workstation ~]$ lab container-create start
Red Hat Container Catalog에 로그인
[student@workstation ~]$ podman login registry.redhat.io
Username: your_username
Password: your_password
Login Succeeded!
Red Hat Container Catalog Mysql 이미지에서 컨테이너 시작
[student@workstation ~]$ podman run --name mysql-basic \
-e MYSQL_USER=user1 -e MYSQL_PASSWORD=mypa55 \
-e MYSQL_DATABASE=items -e MYSQL_ROOT_PASSWORD=r00tpa55 \
-d registry.redhat.io/rhel8/mysql-80:1
컨테이너 정상 시작 확인
[student@workstation ~]$ podman ps --format "{{.ID}} {{.Image}} {{.Names}}"
2d37682eb33a registry.redhat.io/rhel8/mysql-80:1 mysql-basic
컨테이너 샌드박스에 액세스
[student@workstation ~]$ podman exec -it mysql-basic /bin/bash
bash-4.4$
데이터베이스에 데이터 추가
bash-4.4$ mysql -uroot
mysql> SHOW DATABASES;
mysql> USE items;
mysql> CREATE TABLE Projects (id int NOT NULL,
-> name varchar(255) DEFAULT NULL,
-> code varchar(255) DEFAULT NULL,
-> PRIMARY KEY (id));
mysql> SHOW TABLES;
mysql> INSERT INTO Projects (id, name, code) VALUES (1,'DevOps','DO180');
mysql> SELECT * FROM Projects;
mysql> exit;
bash-4.4$ exit
사용 종료
[student@workstation ~]$ lab container-create finish
'클라우드 > OpenShift' 카테고리의 다른 글
[OpenShift] 사용자 지정 Apache 컨테이너 이미지 생성 (0) | 2023.06.01 |
---|---|
[OpenShift] 컨테이너 이미지 관리 (0) | 2023.05.31 |
[OpenShift] 네트워크 포트 매핑 (0) | 2023.05.30 |
[OpenShift] 컨테이너에 영구저장장치 연결 (0) | 2023.05.26 |
[OpenShift] 컨테이너화된 서비스 생성 및 관리 (0) | 2023.05.25 |