김용환 블로그 ( 2004 - 2018 ) : : ' mesos and marathon ' 카테고리 의 글 목록 
 ' mesos and marathon ' 에 해당 되 는 글 12 건 
 2018 . 06 . 12 [ marathon ] 80 포트 막 고 443 포트 만 열 기 
 2018 . 06 . 08 [ marathon ] 80 -> 443 포트 리 다이렉트 ( redirect ) 
 2018 . 06 . 01 특정 mesos 에 만 동작 하 도록 하 는 방법 
 2018 . 06 . 01 마라톤 ( marathon ) 앱 포트 지정 
 2018 . 05 . 31 [ marathon ] marathon 의 상태 , waiting , staging 해결 하 기 
 2018 . 04 . 13 mesos 설정 과 재 시작 이슈 관련 
 2018 . 04 . 10 [ marathon ] 마라톤 lb 의 포트 별 설정 
 2018 . 04 . 10 [ marathon ] Insufficient resources 이슈 해결 하 기 
 2018 . 03 . 14 마라톤 ( marathon ) 의 anti affinity 지원 기능 - constraints 
 2017 . 11 . 17 mesos - docker mode 관련 도움 이 되 는 링크 
 [ marathon ] 80 포트 막 고 443 포트 만 열 기 
 mesos and marathon 2018 . 06 . 12 09 : 58 
 marathon 에서 haproxy 기본 포트 는 다 열려 있 다 . 서비스 는 80 / 443 포트 연결 되 게 했 지만 , 특정 마라톤 에서 는 http 접근 시 80 만 막 고 싶 을 때 가 있 다 . 
 " HAPROXY _ 0 _ HTTP _ FRONTEND _ ACL ": "", 
 " HAPROXY _ 0 _ VHOST ": " plus . google . com ", 
 " HAPROXY _ 0 _ SSL _ CERT ": "/ etc / ssl / marathon / 268 . pem " 
 HAPROXY _ 0 _ HTTP _ FRONTEND _ ACL 가 정의 되 어 있 으면 80 포트 접근 시 503 에러 가 나타나 게 한다 . 
 반면 443 포트 는 열려 있 다 . 
 $ curl - I - XPOST http : / / plus . google . com / 
 $ curl - XPOST https : / / plus . google . com . .. 
 [ marathon ] 80 포트 막 고 443 포트 만 열 기 ( 0 ) 
 [ marathon ] 80 -> 443 포트 리 다이렉트 ( redirect ) ( 0 ) 
 특정 mesos 에 만 동작 하 도록 하 는 방법 ( 0 ) 
 마라톤 ( marathon ) 앱 포트 지정 ( 0 ) 
 [ marathon ] marathon 의 상태 , waiting , staging 해결 하 기 ( 0 ) 
 [ marathon ] 80 -> 443 포트 리 다이렉트 ( redirect ) 
 mesos and marathon 2018 . 06 . 08 17 : 30 
 마라톤 ( marathon ) 에서 80 으로 들어온 특정 도메인 요청 ( 예 , plus . google . io ) 을 443 포트 로 띄워진 앱 을 실행 하 는 방법 은 다음 과 같 다 . 
 참고 로 HAPROXY _ 0 _ MODE 는 tcp 와 http 만 된다 . 따라서 다른 먼가 가 필요 한다 . 그것 이 HAPROXY _ 0 _ REDIRECT _ TO _ HTTPS 이 다 . 
 실제 80 포트 로 접속 하 면 301 로 forwading 된다 . 
 $ curl - I - XGET http : //... 
 특정 mesos 에 만 동작 하 도록 하 는 방법 
 mesos and marathon 2018 . 06 . 01 17 : 36 
 특정 mesos 에 만 동작 하 도록 하 는 방법 이 다 . 
 $ sudo vi / etc / default / mesos - slave 
 $ sudo service mesos - slave stop 
 MESOS _ ATTRIBUTES 를 수정 할 때 마다 MESOS _ WORK _ DIR 의 모든 메타 파일 을 삭제 해야 합니다 
 $ sudo rm - rf $ MESOS _ WORK _ DIR / * 
 $ sudo service mesos - slave start 
 확인 하 는 방법 . 
 curl ' http : / / 슬레이브 _ ip : 5051 / slave ( 1 ) / state ' | jq 
 " ip ": " 10 . 61 . 106 . 159 ", 
 " os - version ": 16 , 
 " server - type ": " user ", 
 " service ": " google - api " 
 " master _ hostname ": " 11 . 11 . 11 . 11 ", 
 " log _ dir ": "/ var / log / mesos ", 
 " appc _ simple _ discovery _ uri _ prefix ": " http : //", 
 " appc _ store _ dir ": "/ tmp / mesos / store / appc ", 
 마라톤 앱 에 다음 constraints 를 추가 한다 . 
 " google - api " 
 kubernetes 로 가 면 저 labeling 을 환경 설정 ( env ) 로 쉽 게 진행 할 수 있 다 . mesos 약간 불편 한 점 이 있 다 . 
 마라톤 ( marathon ) 앱 포트 지정 
 mesos and marathon 2018 . 06 . 01 10 : 24 
 marathon 앱 의 포트 를 지정 할 때 . 
 servicePort 는 앱 에서 외부 로 노출 될 서비스 port 를 의미 한다 . 
 servicePort : When you create a new application in Marathon ( either through the REST API or the front end ) , you may assign one or more service ports to it . You can specify all valid port numbers as service ports or you can use 0 to indicate that Marathon should allocate free service ports to the app automatically 
 containerPort 는 컨테이너 에서 앱 이 실행 중 인 포트 를 지정 한다 . 즉 load balancer 와 앱 간 에 연결 되 고 있 는 port 를 의미 한다 . 이 포트 로 health check 가 일어난다 . 
 아래 예 를 보 면 , 외부 에서 8080 포트 로 접근 할 수 있 고 , LB 와 마라톤 앱 간 에 는 18080 으로 통신 한다 라는 뜻 이 다 . 
 " servicePort ": 18080 , 
 [ marathon ] marathon 의 상태 , waiting , staging 해결 하 기 
 mesos and marathon 2018 . 05 . 31 17 : 51 
 marathon 의 상태 에 대한 내용 이 다 . 
 ( - Staging ) 
 waiting 상태 이 면 메 소스 자원 이 없 는지 메 소스 슬레이브 자원 상태 를 확인 하 거나 , 추가 자원 을 확보 한다 . 
 staging 상태 이 면 health check 실패 거나 오래 걸리 는 상황 일 수 있 다 . 로그 를 줄이 거나 예외 ( exception ) 또는 에러 로 인해서 데몬 이 실행 중 인지 확인 한다 . 확인 하 는 방법 은 로컬 에서 진행 할 수 있 다 . 
 healthy 였 다고 unhealthy 였 다가 반복 하 면 docker 컨테이너 에 앱 이 종료 되 었 다가 , 실행 되 었 다가 하 는 것 이 다 . 항상 foreground 앱 이 docker 컨테이너 안 에 있 어야 한다 . 
 https : / / mesosphere . github . io / marathon / docs / marathon - ui . html # application - status - reference 
 mesos 설정 과 재 시작 이슈 관련 
 mesos and marathon 2018 . 04 . 13 15 : 30 
 mesos 1 . 3 . 1 에서 mesos - slave 를 재 시작 한 후 상태 로그 를 확인 하 려면 다음 과 같 다 . 
 " os - version ": 16 
 / etc / default / mesos - slave 설정 을 수정 할 때 는 조심 해야 한다 . 
 * 주의 할 점 . 
 2 . / etc / default / mesos - slave 의 property 를 수정 할 때 는 
 MESOS _ WORK _ DIR 를 지정 한 디렉 토리 의 모든 파일 을 지우 고 ( sudo rm - rf 메 소스 _ 작업 _ DIR / *) 재 시작 해야 한다 . 
 만약 MESOS _ WORK _ DIR 디렉 토리 를 지우 지 않 고 재 시작 하 면 아래 와 같 은 에러 가 발생 한다 . 
 $ sudo service mesos - slave status 
 ● mesos - slave . service - Mesos Slave 
 Apr 13 19 : 38 : 33 media - site - node 51 systemd [ 1 ] : mesos - slave . service : Unit entered failed state . 
 Apr 13 19 : 38 : 33 media - site - node 51 systemd [ 1 ] : mesos - slave . service : Failed with result ' exit - code '. 
 [ marathon ] 마라톤 lb 의 포트 별 설정 
 mesos and marathon 2018 . 04 . 10 16 : 38 
 마라톤 lb 에서 포트 별 설정 ( 첫 번 째 , 두 번 째 . .. 등등 ) 을 할 수 있 다 . 
 https : / / github . com / mesosphere / marathon - lb / blob / master / Longhelp . md 
 마라톤 ( marathon ) 의 anti affinity 지원 기능 - constraints 
 mesos and marathon 2018 . 03 . 14 14 : 49 
 마라톤 ( marathon ) 에 는 fault tolerance 와 locality 를 극복 할 수 있 는 방법 으로 constraints 를 제공 한다 . 동일 한 기능 을 하 는 데 몬 을 한 장비 에 두 면 , 한 장비 가 죽 으면 더 이상 서비스 를 진행할 수 없 다 . 
 그래서 가상 장비 ( virutal machine ) 에서 는 anti affinity 라는 단어 를 사용 해 동일 한 기능 을 가진 서비스 를 여러 장비 에 분산 시키 면 fault tolerance 와 locality 를 지원 한다 . 
 < fault tolerance 와 locality 소개 > 
 https : / / www . bayt . com / en / specialties / q / 215179 / what - is - affinity - and - anti - affinity - rule - in - vmware / 
 Affinity rule , ensure that multiple virtual machines are always running on the same host . As such , if one of the virtual machines is vMotioned to a different host , the associated virtual machines must be moved as well . 
 http : / / mesosphere . github . io / marathon / docs / constraints . html 
 CLUSTER allows you to run all of your app ’ s tasks on agent nodes that share a certain attribute . This is useful for example if you have apps with special hardware needs , or if you want to run them on the same rack for low latency . 
 A field of " hostname " tells Marathon that launched tasks of the app / pod have affinity for each other and should be launched together on the same agent : 
 하나 의 장비 에 동일 한 서비스 ( 데몬 ) 을 실행 시키 지 않 으려면 
 marathon json 에 다음 을 추가 한다 . 
 메 소스 ( mesos ) 설치 및 실행 하 기 ( 0 ) 
 mesos - docker mode 관련 도움 이 되 는 링크 
 mesos and marathon 2017 . 11 . 17 10 : 51 
 https : / / mesosphere . com / blog / networking - docker - containers / 
 https : / / stackoverflow . com / questions / 36265502 / difference - between - ports - and - service - ports 
 Total : 4 , 346 , 510