0831(수) 리눅스 1

Yuri JI·2022년 8월 31일
0

Kakao Cloud School

목록 보기
1/27

Linux Server, Serverless : 서버 구성없이도 애플리케이션을 배포할 수 있다.


우리가 만들 환경

Linux 환경 or Serverless 환경 => 두개를 묶어서 MSA(MicroService Architecture)
모든 서비스를 컨테이너로 만들어서 의존성과 종속성으로 묶어서 서비스를 배포한다.

  • 컨테이너 : 굉장히 작다.
  • CI/CD 환경 구축

  1. centOS 다운로드
  2. 도커는 Ubuntu 20.04 로 진행할 예정
  • linux > minix > linux
    L 계열 : Unix 계열만 존재할 뿐 Unix OS는 없다.
    IBM(AIX), Oracle(Solaris), HP(hp-ux) -> license

배포판(open source) - debian계열(ubuntu), CentOS(RedHat expire)
상업용 - Redhat enterprise OS

  • open source : 무료로 사용할 수 있는 것은 맞다. 하지만, 무료는 아님. 오픈 소스를 이용한 상업용 S/W 개발 시 공유해야 한다.

  • Cent OS(Community enterprise OS) : (전사적 기능을 탑재한 OS)

  • Netword basic concept : IP, TCP, SSL, OSI 7계층

시스템 : 사용자가 필요하다.

  • IAM(Identity and Access management)
    - Identity -> ID/Pass -> 인증, Authentication(=AuthN)
    - Access -> 권한, 인가, 허가 -> Authorization(=AuthZ)

  • shell script = linux programming = bash
    - 시스템 업무에 대한 프로그래밍? 업무의 편의성 증대, 자동화

  • 가상화 : 시스템(호스트)이 보유한 자원을 가상화 대상에 일부를 제공
    - 자원 : CPU(Central processing unit), Memory(workload 처리), 프로세스(cpu에게 요청해 작업 처리) .. 커널이 여기서 나옴 , Disk -> 디스크 : storage - IOPS, MBPS (초당처리량), Throughput 디스크 성능 지표
    4대 리소스 : CPU, Memory, Disk, Network(OSI, 방화벽, Packet, Port)

      
  • Monitoring
    - 이상징후 분석, 로그 분석을 하기위해 모니터링을 실시한다.
    1. 이상징후 (Event)가 일시적인지 지속적인지 파악한 후 장애에 대비하기 위함

    1. 수집되는 데이터(로그)를 저장해서 데이터들의 패턴을 분석한 후 Insight(통찰력, 예측)을 얻기 위함
  • DevOps
    Dev (Security) Ops : Dev와 Ops 사이에는 항상 보안이 있음을 명시해야한다.

  • 3 Tier 모델
    - Frontend, Backend, DB
    • 이걸 컨테이너로 할건지, 서버 베이스로 갈건지, Serverless로 갈건지 생각해놔라 ..

VM에 CentOS 7 설치하기

1. centOS iso image 다운받기 
2. Virtual Box 설치
3. 새로만들기 
	![](https://velog.velcdn.com/images/ur2e/post/66be5dd2-5dde-4c86-b035-5d64fec2e5c3/image.png)

4. 윈도우가 가진 메모리 중 4GB를 배치해주세요.
	![](https://velog.velcdn.com/images/ur2e/post/7757cd02-5f27-40a6-92d6-c3d84c3ecad1/image.png)

5.![](https://velog.velcdn.com/images/ur2e/post/a514bf4e-eca2-470c-b475-cdeaf2bae211/image.png)
6. 가상화 이미지 : VM 기반 -> Container 기반 -> Cloud 기반
imgae : 패키징 : 운영 체제 + 애플리케이션 + 종속 프로그램 등을 하나로 묶은 것 
보통 DevOps에서 환경 설정 후 이미지로 만든 후 팀원들에게 배포한다. 장점: 팀원들이 모두 같은 환경에서 개발이 가능
VM : OVF 기술 기반 패키징(이미지 생성)
Container : OCI 기반 패키징(이미지 생성) 
Cloud : OVF -> AWS image = AMI (Amazon machine Image)
![](https://velog.velcdn.com/images/ur2e/post/048bf76e-8447-4fa6-972d-51016c62b9ff/image.png)

7. 고정 크기 하지마세요 동적할당 = 내가 100GB를 쓸게~라고해도 처음엔 1GB, 2GB 주다가 점점 많이 준다. 메모리 낭비 걱정하지말자 . 
![](https://velog.velcdn.com/images/ur2e/post/e43cb4f0-7ecd-4c68-b4c0-a26c2ff56ef6/image.png)
  1. 경로가 Server1\Server1\ 두 번 들어가있으니 경로만 수정해주세요. 동적할당 선택했으니 여유있게 100GB로 만드세요

  2. 설정을 눌러 리소스 배치

  3. 하드웨어 배치를 먼저 실시해야한다. 부팅 순서 변경

  4. 프로레서 4개

  5. cd 아이콘 눌러서 iso (시디롬) 파일 붙여주기

  6. 네트워크 설정 ( 리눅스 안에 네트워크 카드를 2개 배치할게요.)
    어댑터1 : NAT : Network Address Translation) -> 사설 IP를 공인 IP로 변환(또는, 그 반대), 목적: 외부 네트워크 연결에 사용(이를 위해, 10.x.x.x 대역을 사용한다.), enp0s3 NIC(10.x.x.x)

    192.168.x.x / 172.16.x.x / 10.x.x.x -> 사설 네트워크 RFC1918로 표준화 되어 있음 

어댑터2 : Host-Only : 인프라용(내부망) 사진에 만들어지는 서버들이 같은 인프라를 공유한다. enp0s8 NIC(192.168.56.x)

  • 서버 1이 붙을 IP 확인

  • Network Topology

14.확인
15. 파일 > 환경설정 : 호스트 키 조합 변경

  1. Server1 시작
    방향키로 Install 선택

  2. Cent OS 7 설치 완료된 모습

  3. 환경설정 ( SoftWare Selection)
    서버를 만들기 위해 Server with GUI 선택
    오른쪽에서 이미지와 같이 총 10개 선택 키워드=NFS



  • NFS 파일 시스템이란?
    amazon elastic file system
  1. NETWORK & HOSTNAME 설정

20.원하는 IP로 설정하기 위해 enp0s8 ON 한후에 Configure -> IPv4 Setting > Addresses Add > IP 작성 후 save



21. Hostname도 바꿔준다. 컴퓨터 개개인 별로 하나의 머신으로 구분되기때문에 충돌나지않는다.

  • Disk partition(C:, D:)
    Unix 경로는 / 로 표현한다. /u01/app/oracle
    Windows 경로는 \로 표현한다. C:\app\oracle
  1. Installation Destination 클릭

done 클릭

Standard Partition

오른쪽 File System에서 우리는 ext4와 xfs를 사용할 것임
/과 /u01 은 xfs 사용

backup : 많은 쓰기 속도가 요구되지 않으므로 FS을 ex4로 바꾼다.

ext4 : 8 Exa, file/16TB
xfs : ext4와 유사, 클라우드 FS의 default. why? 쓰기 속도가 ext4보다 빠르다.

  1. 비밀번호 설정

  2. Reboot 클릭

  3. 라이센스에 동의하고 오른쪽 아래 파란 버튼 클릭

  4. 설치 완료

네트워크 확인

ping : Packet Internet Groper

Server1 복제해서 Server2 생성하기

아래 이미지와 같이 설정 후,
1) hostname 변경

$ hostnamectl set-hostname server2.kakao.com
$ reboot 

2) IP -> 리눅스 제어판 -> enp0s8의 192.168.56.102로 변경


3) Server1 VM 시작 ( ⭐ 1) 2)번 과정 후에 Server1을 부팅해야 충돌이 나지 않는다 )


앞으로 실습에 필요한 것

putty.msi -> remote client tools
winSCP -> 파일 주고받기
notepad++ -> yaml code 작성 시 사용

리눅스 명령어 실습

  • 문서에 존재하는 tcpkakao로 바꿔주세요
:%s/tcp/kakao : 각 라인의 첫 번째 'tcp'만 변경
:%s/tcp/kakao/g : 라인의 모든 'tcp'를 변경 
:set ignorecase : 대소문자 구분 X
:%s/.*/\L&/g : 모든 문자를 대문자로 변경
:%s/.*/\U&/g : 모든 문자를 소문자로 변경

n : 검색 중 다음 단어
N : 검색 중 이전단어 
/ : 위 -> 아래 검색
? : 아래 -> 위 검색 
[[ : 문서 최상단
]] : 문서 최하단 

찾아볼 것들

NIC -> loopback
mkdir LABs && cd &_

1234 / pass123$123#

profile
안녕하세요 😄

0개의 댓글