평소처럼 테스트를 실행하는데 그래들로 실행되어 콘솔로그 등 보기가 힘들때 

 

Project Structure (설정) (Ctrl Alt S) or (CMD ;)으로 들어가 기본 빌드 설정을 변경하면 된다.

 

'OS > Tool' 카테고리의 다른 글

k8s 강의 후기  (0) 2022.10.25
YouTube 검색 목록 묶어서 재생하기  (0) 2013.10.14
VirtualBox  (0) 2012.08.29
Putty  (2) 2012.03.28
Evernote  (0) 2012.03.28
sudo kill -9 `ps -ef | grep {{process_name}} | awk '{print $2}'`

 

 

  1. devops 와 k8s
    • 개발/운영 을 통합. -> MSA가 등장
      • 통 모놀리스 -> 느슨하게 결합되고 컨테이너화된 요소로 구성
    • 전체 생명주기 통합 관리 : 개발/테스트/배포/운영
    • 컨테이너: 지속적인 개발, 통합 배포에 효과적
  2. k8s와 컨테이너
    • k8s : 컨테이너 기반의 가상화 환경을 운영 관리 기술
    • 개발환경을 컨테이너 기반 가상환경으로 구현
    • CICD 개발도구를 결합
    • 빌드/테스트를 용이하게 하여 개발환경 자동화, 운영환경 배포의 기반 마련
  3. k8s와 오브젝트 모델
    • CNCF 쿠버네티스 생태계 및 도구
    • 마스터(컨트롤러), 노드/미니언(컨테이너)
    • 오브젝트 : 상태를 관리하기 위한 대상
    • basic object
      • pod (컨테이너화된 app)
      • service (LB)-label selector로 하나의endpoint 제공, 어떤pod를 서비스로 묶을지 정의
      • volume(저장소)-마운트하여사용(cloud, NFS 등등) pod과 lifecycle이 같음
      • namespace(패키지명) k8s 클러스트 내 논리적인 분리단위, 접근권한, 리소스할당 등을 할 수 있다.
    • controller
      • RC(Replication Controller), RS(Replication Set), DS(DaemonSet), Job, SafefulSet, Deploymenet
    • object 및 기타정보
  4. k8s 클러스트 아키텍쳐
    • 마스터는 설정환경 저장, 전체 클러스터 관리
    • 노드는 pod, container 처럼 k8s위에서 동작하는 워크로드 호스팅
    • 애드온으로 리소스를 관리 클로스트 구현 (DS, deployment)
  5. k8s 운영
    • volume - 데이터 보존, service - pod집합에 접근 기술 api객체
    • k8s : 컨테이너의 상태체크, 재시작, 제외(pod) 등 기능을 제공
  6. k8s 배포
    • 배포전략
      • blue/green
      • canary
      • rolling update
        • 업데이트된 pod으로 점진적으로 교체, 서비스 중단 없이 제공
    • deployment는 replicated 앱을 관리하는 API객체
    • ConfigMap - 공개 데이터를 key-value 값으로 저장하여 사용 , 환경설정 내용을 컨테이너와 분리/제공
  7. k8s 모니터링
    • layer : node, container, app, k8s
    • k8s 대상 : resource,disk,cpu,memory,pod,network
  8. k8s 보안
    • 계정 role : admin, 일반계정
    • network : pod그룹간 통신, 외부네트워크와의 통신 포인트 (end-point)
    • Security Context - pod의 접근제어, 권한, 정책 정의
  9. k8s network
    • k8s 에서 IP는 컨테이너가 아니라 pod 에 할당 된다.
    • CNI (Container Network Interface) 표준 API 제공

'OS > Tool' 카테고리의 다른 글

intellij 에서 테스트가 gradle로 될때  (0) 2022.12.06
YouTube 검색 목록 묶어서 재생하기  (0) 2013.10.14
VirtualBox  (0) 2012.08.29
Putty  (2) 2012.03.28
Evernote  (0) 2012.03.28
#!/bin/bash -li

pwd_path='/Users/a1101225/Dev/git/catalog-script-11st/aa/'
del='find '$pwd_path' -type f -name "a*" -exec rm -v {} +'
echo $del
$del
eval $del

5번째 라인에서 $del 을 호출해도 실행되지 않는다.

eval 을 추가해야 실행이 된다. 

#!/bin/bash
#ex) /start_batch.sh {jobname} --param1=1 --param2=2
pwd_path='/deploy/'
jar_nm='batch.jar'
file_nm=$pwd_path$jar_nm
cp_file_nm=$file_nm."$(date +'%y%m%d%H%M%S')"

function delete_filter() {
before_jar_filter=$jar_nm.$1*
for f in $before_jar_filter; do
rm -f $pwd_path$f
done
}

delete_filter "$(date -v-2d +'%y%m%d')" #2day ago
delete_filter "$(date -v-2m +'%y%m')" #2month ago

job_name=$1
cp_cmd='cp '$file_nm' '$cp_file_nm
$cp_cmd
jar_cmd='java -jar -Dspring.profiles.active=prd '$cp_file_nm' --spring.batch.job.names='$job_name

for arg in $*; do
if [[ $arg == *"--"* ]]; then
jar_cmd=${jar_cmd}' '$arg
fi
done
echo $jar_cmd


1. 백업

2. 오래된 백업삭제 jar

3. 실행

:g/^$/d


Docker

  • 컨테이너 기반의 오픈소스 가상화 플랫폼
  • 컨테이너로 추상화하고 동일한 인터페이스를 제공, 프로그램 배포 및 관리를 단순화

배포의 변화

  1. 전통적인 시대 : 물리서버 실행
  2. 가상화된 시대 : 단일서버에 여러 VM을 실행, APP을 격리하여 관리
  3. 컨테이너 시대 : 격리속성을 완화, APP간에 OS를 공유한다. 가상화에 비해 가볍다고 여겨진다. 컨테이너 간 자체 파일시스템, CPU, 메모리, 프로세스 공간을 가짐

오케스트레이션 도구

오케스트레이션(orchestration) > 관현악의 편곡, 통합, 결지, 편성 조직화 등

설정 관리 조정을 의미. 즉 배포 테스크의 자동화. 복잡성의 오류를 줄인다.

대표 오케스트레이션 : 쿠버네티스(사실상표준), 메소스피어, 도커스웜 간단히 말해 APP 서비스의 자동화된 배포를 관리해준다.

컨테이너 오케스트레이션

여러개의 서버에 컨테이너를 배포, 운영하며 서비스간 연결을 쉽게 해준다. 서버를 군으로 묶어 자동으로 선택, APP을 배포하고, 부하가 생기면 컨테이너를 늘리고 , 장애가 생기면 정상동작중인 서버에 다시 띄워 장애를 방지한다.

  • 대표적 기능
  1. 컨테이너 자동배치 및 복제
  2. 컨테이너 그룹에 대한 로드밸런싱
  3. 컨테이너 장애복구, 클러스터 외부서비스 노출
  4. 컨테이너 추가/제거
  5. 컨테이너간 인터페이스를 통한 연결 및 네트워크 포트 제어

쿠버네티스 kubernates > k8s/kube

  • 컨테이너를 쉽고 빠르게 배포/확장 관리를 자동화 해주는 구글에서 2014년 공개한 오픈소스 플랫폼
  • 명칭은 키잡이, 파일럿을 뜻하는 그리스어 에서 유래했다고 함. 기원을 찾아보면 다들 의문인듯.

Ingress (입장)

  • 다양한 웹어플리케이션을 하나의 로드밸런서로 서비스하기 위해 Ingress 기능을 제공
  • 기존 apache/nginx 등 웹서버 역할을 대신하는 프록시 서버

Remote debug

JPDA (Java Platform Debugger Architecture)

원격 톰캣 디버그를 가능하게 해준다. docker 를 설치하여 이미지를 빌드, 실행하여도 로그를 보려면 해당 컨테이너에 접속해야 하는데, 이를 편리하게 디버그 하기 위한 방법으로 활용된다.

터미널 실행 후 

if ! [ -f ~/Library/KeyBindings/DefaultkeyBinding.dict ]; then mkdir -p ~/Library/KeyBindings && echo '{"₩" = ("insertText:", "\`");}' > ~/Library/KeyBindings/DefaultkeyBinding.dict; fi

'OS' 카테고리의 다른 글

vi 공백 라인 삭제  (0) 2020.07.22
Docker 용어정리  (0) 2020.05.29
윈도우에서 열린 포트 확인, 닫기  (0) 2018.08.10
mac os Sierra 업데이트 후 원화 표시 문제 해결  (0) 2017.10.11
랜섬웨어 blcok 명령어  (0) 2017.05.15


커맨드 창을 열어 netstat -nao | findstr [열린포트] 

확인 후 리소스 모니터 를 열어 해당 포트를 쓰고있는 프로세스를 강제 종료 처리한다.

curl -sSL https://gist.githubusercontent.com/redism/43bc51cab62269fa97a220a7bb5e1103/raw/0d55b37b60e0e0bd3d0d7f53995de0a722f9820c/kr_won_to_backquote.sh | sh


내용은 옵션+₩ 키 눌렀을때 ` 나오게끔 변경하는 스크립트

+ Recent posts