<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>생각정리하기</title>
    <link>https://likefree.tistory.com/</link>
    <description>미래의 행복을 위해 살지말자! </description>
    <language>ko</language>
    <pubDate>Tue, 14 Apr 2026 20:31:30 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>고오</managingEditor>
    <item>
      <title>인텔리제이 단축키</title>
      <link>https://likefree.tistory.com/26</link>
      <description>&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;이 모든 단축키는 Mac OS X 10.5+을 기준으로 작성됐습니다.&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;
&lt;div&gt;맥 특수문자 입력법&amp;nbsp;&lt;/div&gt;
&lt;div&gt; command + control + Space &lt;/div&gt;
&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;전 직장동료들로부터&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;IntelliJ가 좋다는 소리는 많이 들었지만,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&amp;nbsp;이클립스에 익숙해져서 바꾸는 게 쉽지 않았다.&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;마치&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;쿼티 자판을 계속 사용하는 것처럼, 지속하면 평생 더 편한 도구를 못 쓸거 같아 이번 기회에 바꾸려고 한다.&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;Action 검색&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;젤 중요한 기능 &amp;nbsp;- Thema변경 및 replace 등 위에 언급한걸 다 이걸로 가능&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;&amp;nbsp;⇧(shift) + &amp;nbsp;⌘(command) + a&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 426px; width: 426px; height: 400px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/996F55335C272E0733&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F996F55335C272E0733&quot; width=&quot;426&quot; height=&quot;400&quot; filename=&quot;evernote_image_1.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 426px; height: 400px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;위 명령어를 쳐서 &quot;Enter action or option name”창이 뜨면, plugins을 입력&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;메인메소드 생성하고 실행&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ ⌃(command) + n&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;b&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 240px; width: 240px; height: 400px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9987A4335C272E0827&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9987A4335C272E0827&quot; width=&quot;240&quot; height=&quot;400&quot; filename=&quot;evernote_image_2.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 240px; height: 400px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;main method만드는법 psvm을 누르고 enter!&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 138px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9981FB3C5C272E082B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9981FB3C5C272E082B&quot; width=&quot;500&quot; height=&quot;138&quot; filename=&quot;evernote_image_3.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 138px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;font style=&quot;font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/font&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;sout는 system.out.println의 축약어&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 178px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995B9A4F5C272E092E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995B9A4F5C272E092E&quot; width=&quot;500&quot; height=&quot;178&quot; filename=&quot;evernote_image_4.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 178px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;Run을 할 때, 명령어&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ ^(control) + ⇧(shift) + R&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;라인 copy하기&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ ⌘(command)+ d&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;라인 delete하기&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command)+ z&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;라인합치기&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;^(control) + ⇧(shift) + j&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 336px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997A7D475C272E0A27&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997A7D475C272E0A27&quot; width=&quot;500&quot; height=&quot;336&quot; filename=&quot;evernote_image_5.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 336px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 304px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9974643A5C272E0A1B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9974643A5C272E0A1B&quot; width=&quot;500&quot; height=&quot;304&quot; filename=&quot;evernote_image_6.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 304px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;코드 라인 옮기기&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ ⌥(option) +&amp;nbsp;⇧(shift) + 방향키&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;필요 argument보는 법&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command)+ p&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 425px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99CA0C465C272E0B2A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99CA0C465C272E0B2A&quot; width=&quot;500&quot; height=&quot;425&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-12-29 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 4.01.24.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 425px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;함수내용보기&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌥(option) + space&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;#클래스에 하면 전체 코드가 보임 ( html, javascript같은 정적파일도 가능 [community version이 아닐시 가능])&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 239px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99A55D4C5C272E0C35&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99A55D4C5C272E0C35&quot; width=&quot;500&quot; height=&quot;239&quot; filename=&quot;evernote_image_8.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 239px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;Doc 보기 ( 코드에서 아래키를 누르면 된다 )&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ F1&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;단어별 이동&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ &amp;nbsp;⌥(option) + 방향키&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;라인 맨 앞, 맨 뒤로 가기&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ fn + 방향키&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;오류라인으로 가기&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ F2&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;검색&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command)+ f&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;텍스트 교체&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ ⌘(command)+ r&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;프로젝트에서 텍스트 검색&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ ⌘(command)+ ⇧(shift) &amp;nbsp;+ f&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 421px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994DEC4A5C272E0C2B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994DEC4A5C272E0C2B&quot; width=&quot;500&quot; height=&quot;421&quot; filename=&quot;evernote_image_9.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 421px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;프로젝트에서 텍스트 교체 기능&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ &amp;nbsp;⌘(command)+ ⇧(shift) &amp;nbsp;+ r&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 409px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9926C04A5C272E0D2B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9926C04A5C272E0D2B&quot; width=&quot;500&quot; height=&quot;409&quot; filename=&quot;evernote_image_10.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 409px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;열었던 모든 파일을 볼 수 있음&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;#&amp;nbsp;&amp;nbsp;⌘(command) + e&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 622px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9985B8445C272E0E32&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9985B8445C272E0E32&quot; width=&quot;500&quot; height=&quot;622&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-12-29 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 4.33.57.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 622px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;import 자동완성&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌥(option) + ↩︎&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 225px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994EF2405C272E0E1B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994EF2405C272E0E1B&quot; width=&quot;500&quot; height=&quot;225&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-12-29 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 4.36.50.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 225px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;자동완성&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ &amp;nbsp;^(control) + ⇧(shift) &amp;nbsp;+ space&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 258px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9927284A5C272E0F1F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9927284A5C272E0F1F&quot; width=&quot;500&quot; height=&quot;258&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-12-29 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 4.39.33.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 258px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;자동완성&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$ &amp;nbsp;^(control) +&amp;nbsp;↩︎&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 554px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F8F6485C272E102F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F8F6485C272E102F&quot; width=&quot;500&quot; height=&quot;554&quot; filename=&quot;evernote_image_14.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 554px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;상속시 추상 메소드 구현&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;^(control) + i&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;변수 추출&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command) +&amp;nbsp;⌥(option) + V&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;파라미터 추출&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command) +&amp;nbsp;⌥(option) + P&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;메소드 추출&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command) +&amp;nbsp;⌥(option) + M&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;변수명 바꾸기&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⇧(shift) &amp;nbsp;+ F6&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;사용하지않는 import 다 제거&amp;nbsp;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command) +&amp;nbsp;⌥(option) + O&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;아래처럼 optimize import on을 하면 자동화된다.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 153px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993404395C272E102E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993404395C272E102E&quot; width=&quot;500&quot; height=&quot;153&quot; filename=&quot;evernote_image_15.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 153px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;코드 정렬&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;$&amp;nbsp;⌘(command) +&amp;nbsp;⌥(option) + L&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;b&gt;디버그 기능&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 137px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B8C2435C272E112B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B8C2435C272E112B&quot; width=&quot;500&quot; height=&quot;137&quot; filename=&quot;evernote_image_16.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 500px; height: 137px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px;&quot; face=&quot;Courier New&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 14px; font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;$ ^(control) &amp;nbsp;+⇧(shift) &amp;nbsp;+ D&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>etc/mac</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/26</guid>
      <comments>https://likefree.tistory.com/26#entry26comment</comments>
      <pubDate>Sat, 29 Dec 2018 17:29:52 +0900</pubDate>
    </item>
    <item>
      <title>DevOps가 떠오른 이유</title>
      <link>https://likefree.tistory.com/24</link>
      <description>&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;요즘 관심 있는 분야가 웹, 빅데이터, 인프라, AI인데, 이 포스팅은 인프라 관련된 내용!&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;보통 개발자가 개인 피시에서 개발을 하고, 개발한 소프트웨어를 운영서버에 올리게 된다.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;개발서버와 운영서버는 환경이 다르기에, 개발서버에서 설치한 소프트웨어들을 운영서버에도 설치해줘야 하고, 코드에 문제가 있을 시 다시 배포해줘야 한다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;위 작업들이 실제 개발을 할 때, 생각보다 많은 비용(시간)이 소요될 수가 있다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 12px; font-weight: bold;&quot;&gt;또한, 이러한 작업을 사람이 직접 여러 서버에 하다 보면, 실수가 발생하여 서버 간 환경이 조금씩 달라질 수 있다. &lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;이를 &lt;/span&gt;&lt;span style=&quot;font-size: 12px; font-weight: bold;&quot;&gt;snowflake 서버&lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;라고 한다. &amp;nbsp;눈송이를 보면 다 똑같은 모양처럼 느껴지지만 실제론 다들 조금씩 다르다.&amp;nbsp;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;( 모든 서버에 똑같이 설치된 거 같지만, 실제론 약간씩 다르다 )&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 442px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995E84455BFA352C08&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995E84455BFA352C08&quot; width=&quot;442&quot; height=&quot;202&quot; filename=&quot;evernote_image_1.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;운영하는 입장에서 &amp;nbsp;가장 껄끄러운 게 오래된 서버라고 한다. 조금씩 다른 서버에 ( snowflake서버 ) 무슨 문제가 일어날지 모르기 때문에 ..&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 225px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9968394A5BFA352D1B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9968394A5BFA352D1B&quot; width=&quot;225&quot; height=&quot;225&quot; filename=&quot;evernote_image_2.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;이래서 나온 게 phoenix서버 ! &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 12px;&quot;&gt;피닉스&amp;nbsp;서버는 말 그대로 불사조! 다시 살아나는 서버 ( 말 그대로 서버를 아예 비우고, 다시 설치함 [&lt;/span&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;Immutable Server]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;)&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;기업들은 이러한 작업들을 자동화(생산성 향상) 하는 방안들에 대해 고민을 하게 되었다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 12px;&quot;&gt;그래서 나온 게&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12px; font-weight: bold;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: 12px; font-weight: bold; font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; line-height: normal;&quot;&gt;Infrastructure as Code&lt;/span&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt; 수작업으로 해오던 인프라 구축이나 변경 작업을 코드로 자동화하는것. 이러한 작업으로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;인프라에 반복성과 확장성을 부여한다.&amp;nbsp;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;font-size: 12px; font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;이러한 Tools로 나온 게 Ansible, Chief, puppet, Terraform, AWS Cloudformation&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;위와 같은 자동화 기술이 발전하면서&amp;nbsp;Immutable Infrastructure( 서버가 배포된 후에 수정되지 않는 인프라 )란 말도 같이 이슈도 떠올랐다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: 12px;&quot;&gt;Immutable Infrastructure :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;아예 인프라 구축이나 변경 작업을 모두 자동화하자!&amp;nbsp;&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;이런 것을 가능하게 해주는 도구가 여러 가지가 있다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;먼저 개발 환경과 동일한 환경을 이미지로서 제공해주는 Docker와 이를 관리하기 위한 Kubernetes, Docker Swarm, Apache Mesos 등의 도구가 있다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;( bare metal서버 환경은 안 변하고 이미지만 교체하여 컨테이너로 띄우기 때문에&amp;nbsp;snowflake서버 같은 문제를 피할 수 있음 )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;또한, 개발자가 코드를 commit 하면 빌드, 테스트, 배포 과정을 UI로서 제공하고, 특정 step에서 문제 발생 시 committer에게 알려주는 &amp;nbsp;CI/CD Pipeline 툴인 Jenkins와 Spinnaker도 있다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;( 코드를 빌드 하면 테스트와 배포하는 과정을 자동화함으로써 비용을 절감 )&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;예) jenkins 화면&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E024445BFA352D22&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E024445BFA352D22&quot; width=&quot;900&quot; height=&quot;500&quot; filename=&quot;evernote_image_3.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;이러한 기술의 발전으로 Dev + Ops(
&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;개발팀과&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;운영팀&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;사이의&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;소통&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;협업을&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;강조하는&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt; S/W&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;개발&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;.Apple SD Gothic NeoI&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;방법론 ) 가 가능해졌고, 많은 기업들이 도입하고 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;DevOps를 잘하고 있는 기업으로는 Netflix, Facebook 가 대표적으로 떠오르고 있다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;빠른 배포 주기를 통해&amp;nbsp;&lt;span style=&quot;caret-color: rgb(37, 56, 88); color: rgb(6, 9, 14); font-family: &amp;quot;Charlie Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Noto Sans&amp;quot;, Ubuntu, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; --inversion-type-color: simple;&quot;&gt;더욱&amp;nbsp;효율적으로 작업하고 더 빠르게 혁신하며 기업과 고객을 대상으로 더 큰 가치를 제공할 수 있도록 돕는다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>apps/docker</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/24</guid>
      <comments>https://likefree.tistory.com/24#entry24comment</comments>
      <pubDate>Sun, 25 Nov 2018 14:38:05 +0900</pubDate>
    </item>
    <item>
      <title>Zookeeper란 ?</title>
      <link>https://likefree.tistory.com/23</link>
      <description>&lt;div&gt;오늘은 Apache Zookeeper에 관해 설명하고자한다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;주키퍼는 Apache 재단의 오픈소스 프로젝트 중 하나이다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;홈페이지를 보면&amp;nbsp; zookeeper: A Distributed Coordination Service for Distributed Applications&lt;/div&gt;
&lt;div&gt;분산 어플리케이션을 위한 분산 협력 서비스라고 써있다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;zookeeper의 뜻은 사육사란 뜻인데, Apache에서 다양한 프로젝트들을 보면 hadoop(코끼리), hive(꿀벌) 등 각 프로젝들이 동물로서 표현된다.&lt;/div&gt;
&lt;div&gt;이러한 동물들을 관리해주는 사육사라고 생각하면 된다.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;zookeerper 이미지 :&amp;nbsp;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 79px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991A0E345BB9AB3E0E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991A0E345BB9AB3E0E&quot; width=&quot;79&quot; height=&quot;112&quot; filename=&quot;evernote_image_1.gif&quot; filemime=&quot;image/gif&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;그럼 이제 좀 더 자세히 알아보자.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;주키퍼의 설계 목표는 &lt;span style=&quot;font-weight: bold; font-size: 11pt;&quot;&gt;간단하고, 복제되고, 순서가 있고, 빠르다&lt;/span&gt; .&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://zookeeper.apache.org/doc/current/zookeeperOver.html#sc_designGoals&quot;&gt;https://zookeeper.apache.org/doc/current/zookeeperOver.html#sc_designGoals&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;자세한 내용은 위 링크를 참조하면 된다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;설계 목표를 정리해보면, 주키퍼는 &lt;span style=&quot;font-weight: bold; font-size: 11pt;&quot;&gt;간단하게&lt;/span&gt; 설계되었다. 아래와 같은 그림의 형태로 계층형 네임스페이스를 가지고 데이터를 저장한다.&lt;/div&gt;
&lt;div&gt;이때, 데이터를 메모리상에서 유지하여 높은 처리량과 낮은 지연률을 가능하게 하였다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 442px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997BD9445BB9AB3F06&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997BD9445BB9AB3F06&quot; width=&quot;442&quot; height=&quot;253&quot; filename=&quot;Image.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div&gt;( 이 그림을 보면 계층형 구조로 된 것을 볼 수 있는데, 각 계층의 네임스페이스를 znode라고 한다 - 이곳에 데이터를 저장 가능하다 &amp;nbsp;)&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;두번째, &amp;nbsp;아래 그림처럼 서버들끼리 연결되어 서로 데이터가 &lt;span style=&quot;font-weight: bold; font-size: 11pt;&quot;&gt;복제되는데&lt;/span&gt;, 주키퍼 서비스는 메모리와&amp;nbsp;영속적인 저장소에 트랜잭션 로그, 스냅샷을 유지한다.&lt;/div&gt;
&lt;div&gt;( 영속적이란 말이 좀 이상한데, 별도의 지워지지않은 파일시스템 같은곳에 기록한다는 말 )&amp;nbsp;&lt;/div&gt;
&lt;div&gt;서버의 과반수가 살아있음 서비스를 유지할 수 있다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998D8B495BB9AB403F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998D8B495BB9AB403F&quot; width=&quot;600&quot; height=&quot;185&quot; filename=&quot;evernote_image_3.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;세번째, 주키퍼는 각 업데이트 &lt;span style=&quot;font-weight: bold; font-size: 11pt;&quot;&gt;순서를 기록&lt;/span&gt;하는데, 이 숫자는 주키퍼 트랜잭션에 쓰인다.&amp;nbsp; ( 이를 통해 동기화가 가능 )&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;네번째, 주키퍼는 읽는 작업에서 빠르다. 쓰는 작업보다 읽기에 적합하다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;( 내 생각엔 쓰는건 위에서 복제를 통해 데이터를 공유하는 과정이 있어서 느린 듯싶다 )&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;주키퍼 구성요소인데, 쓰기 요청을 받음 브로드캐스트를 통해 연결된 서버들에게 데이터를 보내고 데이터베이스에 저장된다.&lt;/div&gt;
&lt;div&gt;읽기 요청이 된, 그 데이터베이스에 요청을 보낸 후 응답을 받는다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 611px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9905CE355BB9AB4033&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9905CE355BB9AB4033&quot; width=&quot;611&quot; height=&quot;248&quot; filename=&quot;evernote_image_4.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;주키퍼에 데이터를 저장할 때, ephemeral(하루살이) 모드를 설정 할 수 있는데, 이렇게 설정할 경우 znode 에 저장 된 데이터는 자동으로 읽고 쓰여지는 것을 막는다.&lt;/div&gt;
&lt;div&gt;즉, 세션이 종료되면 데이터가 날라감&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;또한, 주키퍼의 watch기능을 제공한다. znode에 watch을 set하면, 그 znode에 변화가 일어나면 trigger된다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;( 실제, 지속적으로 상태를 감시 해야 되는 서비스 같은 경우 znode에 상태를 기록하고 읽는 식으로 구현할 수도있다 )&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;지금까지 설명한 부분이 zookeeper의 핵심 내용들이다. 실제 zookeeper은 &quot;분산 어플리케이션을 위한 분산 협력 서비스&quot;라 설명되고 있지만, 분산 파일 시스템이라고 생각해도 무방할 거 같다.&lt;/div&gt;
&lt;div&gt;보는것과 같이 간단하지만 분산 파일 시스템으로서 watch기능, 동기화 등 많은 기능을 제공하기에 사용하기 편리하고 유용할 것이다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;실제 kafka에서도 metadata부분을 zookeeper에 기록하는 식으로 구성을 해놨다. 분산된 노드에서, 공유 된 파일 시스템이 필요하면 zooekeeper을 고려하면 충분히 비용을 아낄 수 있을 거라 생각한다.&lt;/div&gt;
&lt;div&gt;하지만 zookeeper는 light하게 쓰는 것을 권장한다. (개인적생각)&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;데이터를 메모리에 올려놓아서 높은 처리량과 낮은 지연률을 자랑하지만, 큰 데이터를 기록하긴 안 좋은거같다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description>
      <category>apps/apache</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/23</guid>
      <comments>https://likefree.tistory.com/23#entry23comment</comments>
      <pubDate>Sun, 7 Oct 2018 15:44:37 +0900</pubDate>
    </item>
    <item>
      <title>scrapy을 사용하여 크롤링 - 실전</title>
      <link>https://likefree.tistory.com/22</link>
      <description>&lt;div&gt;크롤링 도구를 선택할 때, 사용하기 편하고 기능을 많이 제공하는걸 사용하고 싶었다.&lt;/div&gt;
&lt;div&gt;그러던 중, Scrapy에서 많은 기능을 제공한다고해서 사용해보기로 마음먹었다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;# 아까 가상환경을 통해 만든 환경으로 접속&amp;nbsp;&lt;/div&gt;
&lt;div&gt;$ workon test&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;#프로젝트를 만들어준다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;$&amp;nbsp;(test) root@447fe7338239:~/.virtualenvs/test# &lt;span style=&quot;font-weight: bold;&quot;&gt;scrapy startproject tutorial&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;# 위와같이 프로젝트를 만들면, 자동으로 파일들이 생긴다. 좀더 편하게 개발할려면 pycharm같은 도구를 설치하는 것을 추천!&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;먼저 items.py 에 가져올 아이템을 정의한다.&lt;/div&gt;
&lt;div&gt;여기선 title, link, desc을 가져오기로 정의&lt;/div&gt;
&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;
&lt;div&gt;import scrapy&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;class DmozItem(scrapy.Item):&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;title = scrapy.Field()&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;link = scrapy.Field()&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;desc = scrapy.Field()&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;이제 파싱을 해야되는데, 실제 크롤링하고 싶은 사이트와 비교하면서 하면 편하다. &amp;nbsp;( 다들 아시겠지만 크롬에서 개발자 도구를 가면 해당 Elements들을 확인가능하다 )&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99416F505B9A6F0A02&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99416F505B9A6F0A02&quot; width=&quot;900&quot; height=&quot;595&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-09-13 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 10.42.59.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;위 Elements에 &amp;lt;div class= &quot;title-and-desc”&amp;gt; 인 element을 긁어와서 title, link, desc에 파싱해줄거다.&lt;/div&gt;
&lt;div&gt;위 Elements들과 아래 코드들을 비교하면, 금방 익숙해질것이다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;이제 정보을 수집할 spider을 만들어 준다. spiders directory안에 아래와 같이 만들어주었다.&lt;/div&gt;
&lt;div&gt;dmoz_spider.py&lt;/div&gt;
&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;
&lt;div&gt;import scrapy&lt;/div&gt;
&lt;div&gt;from tutorial.items import DmozItem&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;class DmozSpider(scrapy.Spider):&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;name = &quot;dmoz&quot;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;allowed_domains = [&quot;&lt;a href=&quot;http://dmoz.org&quot;&gt;dmoz.org&lt;/a&gt;&quot;]&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;start_urls = [&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&lt;a href=&quot;https://dmoztools.net/Computers/Programming/Languages/Python/Books/&quot;&gt;https://dmoztools.net/Computers/Programming/Languages/Python/Books/&lt;/a&gt;&quot;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ,&quot;&lt;a href=&quot;https://dmoztools.net/Computers/Programming/Languages/Python/Resources/&quot;&gt;https://dmoztools.net/Computers/Programming/Languages/Python/Resources/&lt;/a&gt;&quot;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;]&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp;def parse(self, response):&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for sel in response.xpath('//*[@class=&quot;title-and-desc&quot;]'):&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;title = sel.xpath('a/div[@class=&quot;site-title&quot;]/text()').extract()&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;link = sel.xpath('a/@href').extract()&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;desc = sel.xpath('div[@class=&quot;site-descr &quot;]/text()').extract()&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;item = DmozItem()&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;item['title'] = title&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;item['link'] = link&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;item['desc' = desc&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yield item&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;# yield는 generator다 아이템이 생성될때마다 리스트형태로 쌓이게 된다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;( stack형태로 쌓이게 됌 )&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;실행&lt;/div&gt;
&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;&lt;div&gt;$ scrapy crawl dmoz&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;json형태로 저장&lt;/div&gt;
&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;&lt;div&gt;scrapy crawl dmoz -o items.json&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;이것으로 간단하게 크롤링을 해보았다.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;더 많은 정보는 공식사이트에 가면 자세히 나와 있다. scrapy는 필터 등 다양한 기능을 제공하니, 적은 비용으로 크롤링 서비스를 구축하고 싶으면 한번 시도해봤음한다.&lt;/div&gt;
&lt;div&gt;&lt;a href=&quot;https://docs.scrapy.org/en/latest/intro/tutorial.html&quot;&gt;https://docs.scrapy.org/en/latest/intro/tutorial.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</description>
      <category>apps/crawling</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/22</guid>
      <comments>https://likefree.tistory.com/22#entry22comment</comments>
      <pubDate>Thu, 13 Sep 2018 23:08:09 +0900</pubDate>
    </item>
    <item>
      <title>scrapy를 통해 크롤링 해보기 - 설치</title>
      <link>https://likefree.tistory.com/21</link>
      <description>&lt;div&gt;&lt;span style=&quot;font-weight: bold; font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;scrapy설치 ( ubuntu에서 진행 )&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 11pt; font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;python가상환경을 통해 만들어주었다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;이런식으로 안 해도 되지만, 프로젝트별로 별도로 환경을 구축하면 라이브러리도 안 꼬이고 편하다.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# 먼저 앱 업데이트를 먼저 해준다.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ apt-get update&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# gcc나 make등 개발하기 위한 기본 패키지&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$&amp;nbsp;apt-get install build-essential&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# python을 설치 하고, pip도 설치해준다.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$&amp;nbsp;apt-get install python&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# 버전 확인&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ python -V&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# python package관리를 위해 python-pip설치&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ apt-get install python-pip&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# 파이썬 가상환경 구축 ( 가상환경을 사용 안 해도 되지만, library가 꼬일 가능성이 있기에 가상환경을 구축하였다 )&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;#virtualenvwrapper : &amp;nbsp;virtualenv을 사용하기 쉽게 제공&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ pip install virtualenv virtualenvwrapper&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# vim 이없어서 설치해줌 ..&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ apt-get install vim&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# 환경변수에 넣어준다.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$&amp;nbsp;&amp;nbsp;vi .bashrc&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# 맨 아래 두줄 추가&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;export WORKON_HOME=$HOME/.virtualenvs&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;source /usr/local/bin/virtualenvwrapper.sh&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# 바로 적용&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$&amp;nbsp;source .bashrc&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# test라는 가상환경 패키지생성&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ mkvirtualenv test&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;(test) root@447fe7338239:~#&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;나갈땐&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ deactivate&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;들갈 땐&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ workon test&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;# 설치되는 위치&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ &amp;nbsp;cd .virtualenvs/&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;########## scrapy설치&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ apt-get install libffi-dev libssl-dev&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;$ pip install Scrapy&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>apps/crawling</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/21</guid>
      <comments>https://likefree.tistory.com/21#entry21comment</comments>
      <pubDate>Thu, 13 Sep 2018 23:05:49 +0900</pubDate>
    </item>
    <item>
      <title>ELK STACK이란?</title>
      <link>https://likefree.tistory.com/20</link>
      <description>&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;ELK STACK이란 ?&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Helvetica Neue&quot; style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F2914D5B80F6600F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F2914D5B80F6600F&quot; width=&quot;600&quot; height=&quot;200&quot; filename=&quot;evernote_image_1.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Log 및 데이터 분석을 한다고 할 때, 가장 먼저 떠 오르는 도구는 ELK Stack이다.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;ELK는 수집 기능을 하는 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-weight: bold;&quot;&gt;L&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;ogstash, 분석 및 저장 기능을 담당하는 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-weight: bold;&quot;&gt;E&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;lasticSearch, 시각화 도구인 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-weight: bold;&quot;&gt;K&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;ibana의 앞 글자만 따서 ELK Stack이라고 한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;이런 조합이 많이 떠오르는 이유는 접근 용이성 때문이라고 생각한다.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;ELK vs Apache echo system으로 비교해보았을 때, ELK가 더 접근성이 좋다.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;하지만 좀 더 깊게 들어가서, 큰 시스템을 구축한다고 가정한다면 Apache echo system이 좀 더 유리하다고 생각된다.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;ELK을 공부하며 느낀 점은 맘만 먹으면 하루 만에 간단한 기능을 제공할 수 있을 정도로 쉽다는 점이다.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;font color=&quot;#424242&quot; style=&quot;font-size: 14px;&quot;&gt;LogStash&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;먼저 Logstash에 대해 살펴보자&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;a href=&quot;https://www.elastic.co/kr/products/logstash&quot; style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;https://www.elastic.co/kr/products/logstash&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Logstash는 수집기능을 제공한다고 했다. 아래 그림을 보면 좀 더 명확히 이해할 수 있다.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;다양한 입력형태의 데이터를 읽어, 데이터 필터 기능을 제공하고, 다른 저장소에 저장도 가능하다.&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Helvetica Neue&quot; style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9974C0345B80F66118&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9974C0345B80F66118&quot; width=&quot;900&quot; height=&quot;574&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-08-25 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 2.40.30.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;예로서 logstash설정파일을 보자&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;$&amp;nbsp;logstash-simple.conf&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; min-width: 100%;&quot;&gt;
&lt;colgroup&gt;&lt;col style=&quot;width: 704px;&quot;&gt;&lt;/colgroup&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 704px; padding: 8px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;input {&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;file {&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp; &amp;nbsp;# csv 파일에서 받음&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;path =&amp;gt; &quot;/home/Documents/sample.csv&quot;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp; &amp;nbsp;# 파일에서 처음부터 받을라면 beginning (보통은 end가 default )&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_position =&amp;gt; “beginning&quot;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp; &amp;nbsp;# 데이터 offset정보가 sincedb에 저장&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;sincedb_path =&amp;gt; &quot;/dev/null&quot;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;#필터 ( csv에서 ,를 분리자로 사용 )&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;filter {&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;csv {&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;separator =&amp;gt; &quot;,&quot;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;columns =&amp;gt; [“Test”,”data1”,&quot;data2&quot;]&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;# float로 변환&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;mutate {convert =&amp;gt; [“data1&quot;, &quot;float&quot;]}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;mutate {convert =&amp;gt; [“data2&quot;, &quot;float&quot;]}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;output {&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;elasticsearch {&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hosts =&amp;gt; &quot;localhost&quot;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index =&amp;gt; “test&quot;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stdout {}&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;}&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;$ cat&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;sample.csv&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; min-width: 100%;&quot;&gt;
&lt;colgroup&gt;&lt;col style=&quot;width: 701px;&quot;&gt;&lt;/colgroup&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 701px; padding: 8px;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Test,data1,data2&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;
abc,100,200&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;
Bcd,200,300&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;
Jas,400,100&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;; font-stretch: normal; font-style: normal; font-variant-caps: normal; font-weight: normal; line-height: normal;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;이러고 실행함 수집이 된다. ( 무척 쉽다 )&lt;/font&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;$&amp;nbsp; ./logstash -f logstash-simple.conf&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;font color=&quot;#424242&quot; style=&quot;font-size: 14px;&quot;&gt;ElasticSearch&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;이제 ElasticSearch에 대한 간단 예를 보여주겠다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;ElasticSearch는 Rest API형식으로 기능을 제공하는데, 아래와 같이 document들을 index기반으로 저장을 하므로 검색 시 Relational DB보다 빠르다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9928CE3C5B80F6611F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9928CE3C5B80F6611F&quot; width=&quot;900&quot; height=&quot;287&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-08-25 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 3.21.22.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Elastic Search와 Relational DB을 비교한 표다&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table style=&quot;border-collapse: collapse; min-width: 100%;&quot;&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 130px;&quot;&gt;
&lt;col style=&quot;width: 130px;&quot;&gt;
&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Elastic Search&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Relational DB&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Index&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;DataBase&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Type&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Table&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Document&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Row&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Field&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Column&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Mapping&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Schema&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; min-width: 100%;&quot;&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 130px;&quot;&gt;
&lt;col style=&quot;width: 130px;&quot;&gt;
&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Elastic Search&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Relational DB&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;GET&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Select&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Put&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Update&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Post&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Insert&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Delete&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 130px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Delete&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;ElasticSearch는 Rest기반으로 제공하기 때문에 아래와 같이 사용해야한다.&lt;/font&gt;&lt;/div&gt;
&lt;table style=&quot;border-collapse: collapse; min-width: 100%;&quot;&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 412px;&quot;&gt;
&lt;col style=&quot;width: 340px;&quot;&gt;
&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 412px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Elastic Search&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 340px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Relational DB&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 412px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;curl -XGET localhost:9200/classes/class/1&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 340px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;select * from class where id =1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 412px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;curl -XPOST localhost:9200/classes/class/1 -d ‘{xxx}'&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 340px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;insert into class values {xxx}&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 412px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;curl -XPUT localhost:9200/classes/class/1 -d ‘{xxx}'&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 340px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;update class set xxx where id = 1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 412px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;curl -XDELETE localhost:9200/classes/class/1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 340px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;delete from class where id = 1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;Logstash을 거치지 않고도 ElasticSearch에 데이터를 넣고, 조회가 가능하다.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;하지만 지금은 ELK에 대해 이해하기 위함 이기에 이 과정은 생략하였다.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;font color=&quot;#424242&quot; style=&quot;font-size: 14px;&quot;&gt;Kibana&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;키바나는 설치 후, 조회할 indexname을 저장하면 다양한 차트를 만들 수 있다.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E5D74F5B80F66213&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E5D74F5B80F66213&quot; width=&quot;900&quot; height=&quot;691&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-08-07 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 9.41.00.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;다양한 형태로 데이터를 볼 수있다. 더 많은 기능은 kibana홈페이지 팜고&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C875345B80F66313&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C875345B80F66313&quot; width=&quot;900&quot; height=&quot;960&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-08-07 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 9.51.10.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;이렇게 지도로도 제공가능하다.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/999F25505B80F6643B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F999F25505B80F6643B&quot; width=&quot;900&quot; height=&quot;524&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-08-07 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 10.27.55.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;많은 오픈소스들을 사용하면서, 절대적으로 좋은 도구는 없다고 생각한다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;주어진 상황에 맞춰서 사용하면, 좀 더 개발하는데 비용을 아낄수 있을 것이다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>apps/elk</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/20</guid>
      <comments>https://likefree.tistory.com/20#entry20comment</comments>
      <pubDate>Sat, 25 Aug 2018 15:26:11 +0900</pubDate>
    </item>
    <item>
      <title>쿠버네티스란 무엇인가?</title>
      <link>https://likefree.tistory.com/19</link>
      <description>&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;참조 :&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/&quot; style=&quot;color: rgb(66, 66, 66);&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;https://ko.wikipedia.org/wiki/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;쿠버네티스&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;a href=&quot;https://www.aquasec.com/wiki/display/containers/Kubernetes+Guide&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;https://www.aquasec.com/wiki/display/containers/Kubernetes+Guide&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;도커란 무엇인가? 포스팅에 이어 쿠버네티스에 정리하고자한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 13px;&quot;&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;위키백과에서 쿠버네티스를 찾아보면 &quot;&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-weight: bold; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;쿠버네티스&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;(Kubernetes, 쿠베르네테스, &quot;K8s&quot;&lt;/span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4#cite_note-:2-3&quot; style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: nowrap; word-spacing: 0px; -webkit-text-stroke-width: 0px; vertical-align: super; unicode-bidi: isolate; background-image: none; font-family: sans-serif; font-variant-caps: normal; line-height: 1em; color: rgb(66, 66, 66);-en-paragraph:true;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;[3]&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-variant-caps: normal;-en-paragraph:true;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;)는 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-weight: bold; text-decoration: underline; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;디플로이 자동화, 스케일링,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-image: none; font-weight: bold; text-decoration: underline; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot; title=&quot;운영 체제 수준 가상화&quot;&gt;컨테이너화&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-weight: bold; text-decoration: underline; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;된 애플리케이션의 관리를 위한&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-image: none; font-weight: bold; text-decoration: underline; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot; title=&quot;오픈 소스&quot;&gt;오픈 소스&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: sans-serif; font-variant-caps: normal;-en-paragraph:true;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-weight: bold; text-decoration: underline; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;&amp;nbsp;시스템&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;으로서&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4#cite_note-4&quot; style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: nowrap; word-spacing: 0px; -webkit-text-stroke-width: 0px; vertical-align: super; unicode-bidi: isolate; background-image: none; font-family: sans-serif; font-variant-caps: normal; line-height: 1em; color: rgb(66, 66, 66);-en-paragraph:true;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;[4]&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;&amp;nbsp;원래&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-image: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot; title=&quot;구글&quot;&gt;구글&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;에 의해 설계되었고 현재&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-image: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot; title=&quot;리눅스 재단&quot;&gt;리눅스 재단&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;에 의해 관리되고 있다. 목적은 &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; text-decoration: underline; font-weight: bold; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;여러 클러스터의 호스트 간에 애플리케이션 컨테이너의 배치&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; text-decoration: underline; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt; 스케일링, 운영을 자동화하기 위한 플랫폼을 제공하기 위함이다.&lt;/span&gt;&lt;a href=&quot;https://ko.wikipedia.org/wiki/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4#cite_note-:2-3&quot; style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: nowrap; word-spacing: 0px; -webkit-text-stroke-width: 0px; vertical-align: super; unicode-bidi: isolate; background-image: none; font-family: sans-serif; font-variant-caps: normal; line-height: 1em; color: rgb(66, 66, 66);-en-paragraph:true;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;[3]&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-image: none; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot; title=&quot;도커 (소프트웨어)&quot;&gt;도커&lt;/span&gt;&lt;span style=&quot;letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-variant-caps: normal; font-size: 10pt; color: rgb(93, 93, 93);&quot;&gt;를 포함하여 일련의 컨테이너 도구들과 함께 동작한다.” 라고 나온다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;처음 저 글을 봤을 땐 전혀 와 닿지 않지만, 쿠버네티스를 이용해 서비스를 짧은 기간인 3개월 정도 운영해본 후, 저 글을 다시 읽으니 저 3문장에 쿠버네티스를 아주 잘 설명 한 거같다. 요즘 오픈소스의 이름들을 보면 명칭에 아주 신경을 많이 쓴 것을 알 수 있는데, 쿠버네티스는 그리스어로 키잡이를 뜻한다고 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;table style=&quot;border-collapse: collapse; min-width: 100%;&quot;&gt;
&lt;colgroup&gt;&lt;/colgroup&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 217px;&quot;&gt;&lt;/colgroup&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 228px;&quot;&gt;&lt;/colgroup&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 217px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 209px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99CFBB425B77BE232F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99CFBB425B77BE232F&quot; width=&quot;209&quot; height=&quot;204&quot; filename=&quot;evernote_image_1.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td style=&quot;border: 1px solid rgb(219, 219, 219); width: 228px; padding: 8px;&quot;&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 224px; width: 224px; height: 200px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9937D4485B77BE240A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9937D4485B77BE240A&quot; width=&quot;224&quot; height=&quot;200&quot; filename=&quot;evernote_image_2.png&quot; filemime=&quot;image/png&quot; style=&quot;width: 224px; height: 200px;&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;
&lt;/table&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;kubernetes는 플랫폼 이름이 길어서 줄여 k8s라고도 한다. 앞으로는 k8s라고 적겠다. ( 8은 &lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;ubernete&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;의 중간의 글자라고 생각하면 된다 )&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;왼쪽 그림은 k8s의 마크다. k8s가 앞서 키잡이(배의 키를 조정하는 사람)를 뜻한다고 했는데, 옆에 도커마크랑 같이 봄 이해가 간다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;도커란 배들의 키잡이 역할을 해주는 플랫폼이구나&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;하고 넘어가면 된다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그럼 k8s가 왜 필요한지 생각해보자 우리한테는 앞서 여러 application을 올릴 수 있는 컨테이너 플랫폼인 도커를 공부 하였다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;도커만으로 충분하지 않을까?&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;물론 경우에 따라선 도커만으로 충분하다. 앞으로는 관리자 역할에서 생각해보자.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: rgb(93, 93, 93); font-size: 10pt;&quot;&gt;하나의 노드에서 여러 컨테이너를 띄우다 보니 자원( disk, memory, cpu )이 부족하기 시작했다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px; color: rgb(66, 66, 66);&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;관리자 : 서버를 하나 추가해서 컨테이너를 나눠서 노드에 담자&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 722px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9935F9395B77BE250E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9935F9395B77BE250E&quot; width=&quot;722&quot; height=&quot;386&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-08-18 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 3.08.05.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;위 그림처럼 노드를 하나 늘려서 도커를 설치하였다. 하지만 관리하는 노드가 많아질수록 점점 복잡해진다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;또한 이러한 요구사항이 올 수도있다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;클라이언트 : &amp;nbsp;웹 서버를 배포할 건데 죽으면 안되니까 이중화로 구성해주고 로드밸런서를 둬서 트래픽을 분산시켜줘. !&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;관리자 :#@($&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;예가 이상할 수도 있지만, 간단하게 k8s의 필요성에 관해 설명하고자 했다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;k8s은 위에서 필요한 기능들을 다 제공하고 있다. !&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;대충 이런 그림 !&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 788px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/997A17435B77BE2533&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F997A17435B77BE2533&quot; width=&quot;788&quot; height=&quot;410&quot; filename=&quot;&amp;#x1109;&amp;#x1173;&amp;#x110F;&amp;#x1173;&amp;#x1105;&amp;#x1175;&amp;#x11AB;&amp;#x1109;&amp;#x1163;&amp;#x11BA; 2018-08-18 &amp;#x110B;&amp;#x1169;&amp;#x1112;&amp;#x116E; 3.16.57.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그럼 좀 더 자세히 k8s의 아키텍처를 보자&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;( 처음에 모르는 오픈소스를 볼 때, 이러한 그림부터 보면 좀 더 시간을 아낄 수 있다 )&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 793px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B323415B77BE2607&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B323415B77BE2607&quot; width=&quot;793&quot; height=&quot;573&quot; filename=&quot;evernote_image_5.png&quot; filemime=&quot;image/png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그림 출처 :&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.aquasec.com/wiki/display/containers/Kubernetes+Guide&quot; style=&quot;color: rgb(66, 66, 66);&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;https://www.aquasec.com/wiki/display/containers/Kubernetes+Guide&lt;/span&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;일단 각각의 역할을 그림을 보면서 이해해보자.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;큰 그림으로 보면 kubectl을 통해 받은 명령어를 api server를 통해 kubelet으로 전달하면 Pod( container 묶음 )를 생성하며 서비스를 제공한다. 물론 메타데이터를 저장하는 etcd, 다양한 제어기능을 위한 controller-manager, 자원분배를 도와주는 scheduler, 네트워크 트래픽을 담당하는 kube-proxy도 있다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;자세히 적으면 처음 k8s을 접하는 사용자의 이해에 어려움이 있을 수 있어, 여기서는 간략하게만 소개하고 나중에 좀 더 자세히 소개하도록 하겠다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;kubectl : kubectl은 간단하게 명령어를 보내는 역할만 한다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;예) kubectl get pods &amp;nbsp;( pod들을 확인하는 명령어 &amp;nbsp;)&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;API server : 간단하게 명령어를 전달해주는 역할만 진행한다. 또한 etcd클러스터랑 통신한다. 이 정도만 알고 가자 !&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;( 기본적으로 REST방식으로 통신한다 )&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;etcd : kubernetes 클러스터 데이터(포드 수,상태,네임 스페이스 등), API 객체 및 서비스 검색 세부정보를 저장하는 데 사용되는 분산 키 값 저장소다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;( 메타 데이터가 저장되는 역할을 한다 생각하면 된다 )&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;controller-manager : &amp;nbsp;컨트롤러 매니저는 복제, 서비스계정, 네임스페이스 등을 생성하고 이를 각 노드에 배포하며 관리하는 역할을 한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;( 여기선 사용자가 다양한 설정을 정할 수 있는데 이러한 것을 제어하기 위해 도와주는 역할이라고 간단하게 넘어가자 )&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;scheduler : 스케줄러는 Pod,서비스 등 각 자원을 적절한 노드에 할당하는 역할을 한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;kubelet : &amp;nbsp;노드는 기본적으로 정기적으로 새로운 pod 또는 수정된 pod의 사양으로 포드 및 컨테이너가 원하는 상태로 실행되고 있는지 확인한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;kube-proxy : &amp;nbsp;노드로 들어오는 네트워크 트래픽을 적절한 컨테이너로 라우팅하고, 로드밸런싱 등 노드로 나가는 네트워크 트랙픽을 프록시하고 노드와 마스터간 통신을 관리한다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이 포스팅은 k8s가 무엇인지 이해하는 것이 목적이기 때문에, 이해를 쉽게 하기 위해 어려운 내용은 다 제거했다. 좀 더 자세한 내용은 시간이 생긴다면, k8s 내부 컴포넌트들이 어떤 식으로 통신하는지 그림과 같이 정리할 생각이다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;
&lt;/span&gt;&lt;div&gt;&lt;font style=&quot;font-size: 13px;&quot; color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(93, 93, 93); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>apps/docker</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/19</guid>
      <comments>https://likefree.tistory.com/19#entry19comment</comments>
      <pubDate>Sat, 18 Aug 2018 15:38:09 +0900</pubDate>
    </item>
    <item>
      <title>도커란 무엇인가?</title>
      <link>https://likefree.tistory.com/18</link>
      <description>&lt;div style=&quot;text-size-adjust: auto;&quot;&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;docker에 대해 공부하면서 느낀 점을 공유하면 좋을&amp;nbsp;것 같아 포스팅합니다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;font color=&quot;#424242&quot;&gt;먼저 도커란 무엇인가 ?&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&amp;nbsp;공식 홈페이지에서 도커의 개요를 보면 도커란 &quot;&lt;/font&gt;&lt;span style=&quot;color: rgb(94, 94, 94); font-size: 14px; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-variant-ligatures: none;&quot;&gt;Docker는 컨테이너 이동을 주도하는 회사이며 하이브리드 클라우드의 모든 애플리케이션을 처리할 수 있는 유일한&lt;/span&gt;&lt;span style=&quot;color: rgb(94, 94, 94); font-size: 14px; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-variant-ligatures: none;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;span style=&quot;font-size: 14px; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-variant-ligatures: none;&quot;&gt;&lt;b&gt;컨테이너 플랫폼&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14px; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-variant-ligatures: none;&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgb(94, 94, 94); font-size: 14px; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-variant-ligatures: none;&quot;&gt;제공 업체입니다“ &lt;/span&gt;&lt;span style=&quot;color: rgb(94, 94, 94); font-size: 14px; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-variant-ligatures: none;&quot;&gt;라고 쓰여있다.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;여기서 '컨테이너'란 말에 주목할 필요가 있다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;font color=&quot;#424242&quot;&gt;컨테이너란 무엇일까?&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;아래 그림을 보면 대충 감이 온다. 아래에 도커 이미지를 보면 귀여운 배 위에 컨테이너를 올린 모습을 볼 수 있다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;대충 아! 컨테이너란 &quot;다양한 OS에 여러 application이 올려져 있는 것&quot;을 의미하는 거고 그런 컨테이너를 도커 위에 올리는구나&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; color: rgb(94, 94, 94); text-align: center; width: 600px; height: 492px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99DEAB4D5B652E051B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99DEAB4D5B652E051B&quot; width=&quot;600&quot; height=&quot;492&quot; filename=&quot;스크린샷 2018-08-04 오후 12.25.15.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;color: rgb(94, 94, 94); text-align: center; width: 600px; height: 492px;&quot;/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;그럼 이미 존재하는 Virtual Machines랑 뭐가 달라 ..?&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;물론 다르다 위에 그림을 보면 각 컨테이너가 같은 Kernel을 공유하고 있는 모습을 볼 수 있다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; color: rgb(94, 94, 94); text-align: center; width: 600px; height: 284px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9907324D5B652E040D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9907324D5B652E040D&quot; width=&quot;600&quot; height=&quot;284&quot; filename=&quot;스크린샷 2018-08-04 오후 12.36.30.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;color: rgb(94, 94, 94); text-align: center; width: 600px; height: 284px;&quot;/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&amp;nbsp;위 그림을 보면 좀 더 명확하다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;virtual machine의 경우 Hypervisor을 통해 가상화 기능을 제공한다. 각 독립 된 커널 공간을 가진 OS를 생성하는 식의 환경 구성을 해준다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;containers의 경우 커널 공간을 공유하며 같은 가상화 기능을 제공해준다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#424242&quot;&gt;* 같은 커 널공간을 공유하기 때문에 virtual machines보다 좀 더 가볍다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 600px; color: rgb(94, 94, 94); text-align: center; width: 600px; height: 370px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998CB64D5B652E031F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998CB64D5B652E031F&quot; width=&quot;600&quot; height=&quot;370&quot; filename=&quot;스크린샷 2018-08-04 오후 1.34.42.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;color: rgb(94, 94, 94); text-align: center; width: 600px; height: 370px;&quot;/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이런 구성도 가능하다.!! ( Virtual Machine에 OS를 설치 후 Docker를&amp;nbsp;설치 )&lt;/div&gt;&lt;div&gt;* 물론 이런 구성으로 실제 서비스를 제공하는 기업은 없을 거로&amp;nbsp;생각한다. &amp;nbsp;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font color=&quot;#424242&quot;&gt;어떻게 이런 게 가능할까 ?&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;namespaces 와 cgroup에 대해서 알아야 한다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font color=&quot;#424242&quot;&gt;namespace&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;먼저 리눅스 커널의 주요 이름 공간에 대해서 알아보자.&lt;/font&gt;&lt;/div&gt;&lt;table style=&quot;width: 470px;&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 184px;&quot;&gt;&lt;col style=&quot;width: 286px;&quot;&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;이름공간&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;기능&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;Mount namespace&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;파일 시스템 분리&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;UTS namespace&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;호스트 네임 분리&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;IPC namespace&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;프로세스간 통신 분리&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;User namespace&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;유저(UID/GID) 분리&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;PID namespace&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;프로세스 테이블 분리&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;Network namespace&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;네트워크 설정 분리&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;이름 공간은 모두 리눅스 상에서 동작하는&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;b&gt;프로세스에 할당하는 자원을 분리하는 기능&lt;/b&gt;&lt;/font&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;을 한다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font color=&quot;#424242&quot;&gt;cgroups (Control Groups)&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;cgroups(Control Groups)는&lt;/font&gt;&lt;font color=&quot;#424242&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;자원(resources)에 대한 제어를 가능하게 해주는 리눅스 커널의 기능&lt;/b&gt;&lt;/font&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;입니다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;cgroups는 다음 자원을&amp;nbsp;제어할 수 있다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: rgb(94, 94, 94);&quot;&gt;* 메모리, CPU, I/O, 네트워크, device노드&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;사실 이러한 기술이 처음 나온 건 아니다. LXC 등 유사한 기술이 많았으나 도커가 히트친 이유는 사용자&amp;nbsp;편의성 ( 이미지 repository 등 )에 있다고 생각한다&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;그럼 마지막으로 도커 이미지에 대해 알아보자.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font color=&quot;#424242&quot;&gt;도커 이미지&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;도커 이미지는 특정 프로세스를 실행하기 위한 환경이다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;이 이미지는 필자가 가진 이미지들이다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;Default registry (&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://hub.docker.com/&quot; style=&quot;color: rgb(66, 66, 66);&quot;&gt;hub.docker.com&lt;/a&gt;&amp;nbsp;)에 등록된 centos:7같은 이미지를 가져올 수도 있고, 개인적으로&amp;nbsp;172.30.1.19:5000같은 registry을 등록해서 이미지를 주고 받을 수도 있다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;또한&amp;nbsp;nodejs-mongodb-test처럼 자신이 만든 서비스( api서버로 데이터를 받아 mongodb에 저장하는 간단한 서비스)를 이미지로써 제공할 수도 있다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;table style=&quot;width: 922px;&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;width: 922px;&quot;&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;&quot; style=&quot;border: 1px solid rgb(219, 219, 219);&quot;&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;yjhui-MacBook-Pro:elk yjh$ docker images&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;REPOSITORY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TAG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IMAGE ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SIZE&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;nodejs-mongodb-test&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yang&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ffe8520fe8cd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4 weeks ago&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;664MB&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;172.30.1.19:5000/centos&amp;nbsp;&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e934aafc2206&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3 months ago&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;199MB&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;centos&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e934aafc2206&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3 months ago&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;199M&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;mongo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;latest&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9a63ed32fc2b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5 weeks ago&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;378MB&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;도커를 사용하며 가장 편리한&amp;nbsp;점은 서비스를 만들어 상용 서버에 배포를 하려고 하면 환경이 달라 예상치 못한 일들이 발생해서 반나절을 보낸 경우가 많았다....&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;도커를 사용한다면 이런 불필요한 삽질을 줄일 수 있을 거로&amp;nbsp;생각한다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;이미지를 구워서 실행하면&amp;nbsp;배포 완료..? &amp;nbsp;또한 서비스가 죽어도 다시 살리는 기능도 제공한다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;물론 실제 서비스에서 도커를 통해 서비스를 안정적으로 제공하기 위해서는 도커에 대해 좀 더 공부가 필요하다.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;앞으로의 포스팅은 도커의 다양한 기능에 대해 공부해 포스팅할 예정이다.&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#5e5e5e&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>apps/docker</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/18</guid>
      <comments>https://likefree.tistory.com/18#entry18comment</comments>
      <pubDate>Sat, 4 Aug 2018 13:51:04 +0900</pubDate>
    </item>
    <item>
      <title>flannel을 통한 pod간 통신</title>
      <link>https://likefree.tistory.com/17</link>
      <description>&lt;div&gt;간단한 내용이지만 이 간단한 정보를 확인하는데 불필요한 삽질을 하였기에 도움이 될까 포스팅합니다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;서로 다른 노드에 있는 pod간 통신을 완성하기 위해서는 관련 기능을 제공하는 network plugin이 필요하다.&lt;/div&gt;&lt;div&gt;필자의 경우는 flannel plugin을 설치했다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;구글링하다 좋은 케이스를 찾았기에 공유&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;* 만약 잘못된 정보가 있으면 지적해주세요&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 900px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/990E913D5B4B2FD91B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F990E913D5B4B2FD91B&quot; width=&quot;900&quot; height=&quot;371&quot; filename=&quot;스크린샷 2018-07-15 오후 8.26.34.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그림 참조 :&amp;nbsp;&lt;a href=&quot;https://cdn-images-1.medium.com/max/800/1*JqSLd3cPv14BWDtE7YEcRA.png&quot;&gt;https://cdn-images-1.medium.com/max/800/1*JqSLd3cPv14BWDtE7YEcRA.png&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;그림을 보면 노드1에서 노드2로 다른 ip끼리 패킷을 보낼 때, 보내는 컨테이너의 출발지와 목적지를 가지고 있는 모습을 확인 할 수 있다.&lt;/div&gt;&lt;div&gt;그리고 flannel에서 패킷을 주고받는 node의 출발지와 목적지 정보를 UDP로 캡슐화해서 보내는 역할을 수행한다.&amp;nbsp;&lt;/div&gt;&lt;div&gt;이런 식으로 flannel plugin을 설치하여 컨테이너 간 통신을 할 수 있다.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;테스트한 yaml파일은 아래와 같다.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;&lt;div&gt;$ cat cent.yaml&lt;/div&gt;&lt;div&gt;apiVersion: extensions/v1beta1&lt;/div&gt;&lt;div&gt;kind: Deployment&lt;/div&gt;&lt;div&gt;metadata:&lt;/div&gt;&lt;div&gt;&amp;nbsp; name: test&lt;/div&gt;&lt;div&gt;&amp;nbsp; labels:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; app: test&lt;/div&gt;&lt;div&gt;spec:&lt;/div&gt;&lt;div&gt;&amp;nbsp; replicas: 1&lt;/div&gt;&lt;div&gt;&amp;nbsp; template:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; metadata:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; labels:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app: test&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; spec:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; containers:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - image: centos:7.2.1511&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: test&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; command: [&quot;/bin/bash&quot;,&quot;-c&quot;,&quot;while true; do sleep 1000; done&quot;]&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imagePullPolicy: IfNotPresent&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;&lt;div&gt;$ cat mysql.yaml&lt;/div&gt;&lt;div&gt;apiVersion: v1&lt;/div&gt;&lt;div&gt;kind: Pod&lt;/div&gt;&lt;div&gt;metadata:&lt;/div&gt;&lt;div&gt;&amp;nbsp; name: mysql-pod&lt;/div&gt;&lt;div&gt;&amp;nbsp; labels:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; name: mysql-pod&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; context: docker-k8s-lab&lt;/div&gt;&lt;div&gt;spec:&lt;/div&gt;&lt;div&gt;&amp;nbsp; containers:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; -&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; name: mysql&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; image: mysql:5.7&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; env:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: &quot;MYSQL_USER&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value: &quot;mysql&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: &quot;MYSQL_PASSWORD&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value: &quot;mysql&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: &quot;MYSQL_DATABASE&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value: &quot;sample&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: &quot;MYSQL_ROOT_PASSWORD&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value: &quot;supersecret&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ports:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; containerPort: 3306&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;yaml을 통해 centos, mysql을 실행하여 centos pod에서 mysql에 접속되는 지 테스트&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;pods 확인&lt;/span&gt;&lt;/div&gt;&lt;div&gt;$&amp;nbsp;kubectl get pods&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;&lt;div&gt;mysql-pod&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1/1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Running&amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6m&lt;/div&gt;&lt;div&gt;test-6b5c774944-fqcdl&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1/1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Running&amp;nbsp; &amp;nbsp;0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 17m&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;mysql을 설치해준다.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;$ yum install mysql&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;master서버에서 mysql pod의 ip주소 체크&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;&lt;div&gt;$&amp;nbsp;&amp;nbsp;kubectl describe pod test-6b5c774944-fqcdl&lt;/div&gt;&lt;div&gt;Name:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mysql-pod&lt;/div&gt;&lt;div&gt;Namespace:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; default&lt;/div&gt;&lt;div&gt;Priority:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;/div&gt;&lt;div&gt;PriorityClassName:&amp;nbsp; &amp;lt;none&amp;gt;&lt;/div&gt;&lt;div&gt;Node:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jf-api/192.168.0.89&lt;/div&gt;&lt;div&gt;Start Time:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Tue, 03 Jul 2018 17:32:13 +0900&lt;/div&gt;&lt;div&gt;Labels:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context=docker-k8s-lab&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name=mysql-pod&lt;/div&gt;&lt;div&gt;Annotations:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; kubectl.kubernetes.io/last-applied-configuration={&quot;apiVersion&quot;:&quot;v1&quot;,&quot;kind&quot;:&quot;Pod&quot;,&quot;metadata&quot;:{&quot;annotations&quot;:{},&quot;labels&quot;:{&quot;context&quot;:&quot;docker-k8s-lab&quot;,&quot;name&quot;:&quot;mysql-pod&quot;},&quot;name&quot;:&quot;mysql-pod&quot;,&quot;namespace&quot;:&quot;d...&lt;/div&gt;&lt;div&gt;Status:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Running&lt;/div&gt;&lt;div&gt;IP:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;10.244.1.53&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Containers:&lt;/div&gt;&lt;div&gt;&amp;nbsp; mysql:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Container ID:&amp;nbsp; &amp;nbsp;docker://ee63968f90c86a3062627a68c3830d425b1b385ebc61cc1c960e824411799f7e&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Image:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mysql:5.7&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Image ID:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;docker-pullable://mysql@sha256:f030e84582d939d313fe2ef469b5c65ffd0f7dff3b4b98e6ec9ae2dccd83dcdf&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Port:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3306/TCP&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; State:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Running&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Started:&amp;nbsp; &amp;nbsp; &amp;nbsp; Tue, 03 Jul 2018 17:32:16 +0900&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Ready:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; True&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Restart Count:&amp;nbsp; 0&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Environment:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; MYSQL_USER:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mysql&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; MYSQL_PASSWORD:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mysql&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; MYSQL_DATABASE:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sample&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; MYSQL_ROOT_PASSWORD:&amp;nbsp; supersecret&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Mounts:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; /var/run/secrets/kubernetes.io/serviceaccount from default-token-dn4mq (ro)&lt;/div&gt;&lt;div&gt;Conditions:&lt;/div&gt;&lt;div&gt;&amp;nbsp; Type&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Status&lt;/div&gt;&lt;div&gt;&amp;nbsp; Initialized&amp;nbsp; &amp;nbsp; True&lt;/div&gt;&lt;div&gt;&amp;nbsp; Ready&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; True&lt;/div&gt;&lt;div&gt;&amp;nbsp; PodScheduled&amp;nbsp; &amp;nbsp;True&lt;/div&gt;&lt;div&gt;Volumes:&lt;/div&gt;&lt;div&gt;&amp;nbsp; default-token-dn4mq:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Type:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Secret (a volume populated by a Secret)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; SecretName:&amp;nbsp; default-token-dn4mq&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Optional:&amp;nbsp; &amp;nbsp; false&lt;/div&gt;&lt;div&gt;QoS Class:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BestEffort&lt;/div&gt;&lt;div&gt;Node-Selectors:&amp;nbsp; &amp;lt;none&amp;gt;&lt;/div&gt;&lt;div&gt;Tolerations:&amp;nbsp; &amp;nbsp; &amp;nbsp;node.kubernetes.io/not-ready:NoExecute for 300s&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;node.kubernetes.io/unreachable:NoExecute for 300s&lt;/div&gt;&lt;div&gt;Events:&lt;/div&gt;&lt;div&gt;&amp;nbsp; Type&amp;nbsp; &amp;nbsp; Reason&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Age&amp;nbsp; &amp;nbsp;From&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Message&lt;/div&gt;&lt;div&gt;&amp;nbsp; ----&amp;nbsp; &amp;nbsp; ------&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;----&amp;nbsp; ----&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-------&lt;/div&gt;&lt;div&gt;&amp;nbsp; Normal&amp;nbsp; Scheduled&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9m&amp;nbsp; &amp;nbsp; default-scheduler&amp;nbsp; Successfully assigned mysql-pod to jf-api&lt;/div&gt;&lt;div&gt;&amp;nbsp; Normal&amp;nbsp; SuccessfulMountVolume&amp;nbsp; 9m&amp;nbsp; &amp;nbsp; kubelet, jf-api&amp;nbsp; &amp;nbsp; MountVolume.SetUp succeeded for volume &quot;default-token-dn4mq&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp; Normal&amp;nbsp; Pulled&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;9m&amp;nbsp; &amp;nbsp; kubelet, jf-api&amp;nbsp; &amp;nbsp; Container image &quot;mysql:5.7&quot; already present on machine&lt;/div&gt;&lt;div&gt;&amp;nbsp; Normal&amp;nbsp; Created&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9m&amp;nbsp; &amp;nbsp; kubelet, jf-api&amp;nbsp; &amp;nbsp; Created container&lt;/div&gt;&lt;div&gt;&amp;nbsp; Normal&amp;nbsp; Started&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9m&amp;nbsp; &amp;nbsp; kubelet, jf-api&amp;nbsp; &amp;nbsp; Started container&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;centos접속 후 mysql 접속확인&lt;/span&gt;&lt;/div&gt;&lt;div&gt;$ kubectl exec -it&amp;nbsp;test-6b5c774944-fqcdl /bin/sh&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; padding: 8px; font-family: Monaco, Menlo, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; color: rgb(51, 51, 51); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; background-color: rgb(251, 250, 248); border: 1px solid rgba(0, 0, 0, 0.14902);-en-codeblock:true;&quot;&gt;&lt;div&gt;sh-4.2# mysql -h10.244.1.22 -umysql -pmysql -Dsample&lt;/div&gt;&lt;div&gt;Welcome to the MariaDB monitor.&amp;nbsp; Commands end with ; or \g.&lt;/div&gt;&lt;div&gt;Your MySQL connection id is 3&lt;/div&gt;&lt;div&gt;Server version: 5.7.22 MySQL Community Server (GPL)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MySQL [sample]&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이와 같이 pod간 커뮤니케이션을 flannel을 통해 할 수 있다는 것을 확인했다.!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>apps/docker</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/17</guid>
      <comments>https://likefree.tistory.com/17#entry17comment</comments>
      <pubDate>Tue, 3 Jul 2018 21:38:36 +0900</pubDate>
    </item>
    <item>
      <title>도커에서 nodejs+mongodb 테스트</title>
      <link>https://likefree.tistory.com/16</link>
      <description>&lt;p&gt;최근 도커를 공부하다가 다른 컨테이너에 있는 프로세스끼리 어떤 식으로 통신하는지 궁금해져서 테스트를 해봤다.&amp;nbsp;&lt;/p&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;도커를 통해 두 개의 컨테이너를 만들 건데 하나는 nodejs 하나는 mongodb을 띄울 거다.&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;움 완성하고 보니 대충 이런 그림?&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; width: 500px; height: 354px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99729E345B38DD6F08&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99729E345B38DD6F08&quot; width=&quot;500&quot; height=&quot;354&quot; filename=&quot;스크린샷 2018-07-01 오후 10.07.52.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 500px; height: 354px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;코드는 아래와 같이 진행하면 된다. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;완성하고 보니 link로 연결하면 컨테이너의 /etc/hosts&amp;nbsp; 에 다른 컨테이너 아이디가 등록된 것을 확인할 수 있었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;도커프록시를 통해 내부에서 할당받은 아이피대역대끼리는 통신이 되기 때문에 이런 식으로 가능한 듯 ..&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;문득 궁금한게 k8s에서는 pod간 통신이 궁금해진.. ( 다음 포스팅에 올려볼예정 ) &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;** 이 포스팅에 잘못 된 내용이 있으면 지적해주세요&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;box-sizing: border-box; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; margin-top: 0px !important;&quot;&gt;nodejs-mongo-test&lt;/h1&gt;&lt;h1 style=&quot;box-sizing: border-box; margin: 24px 0px 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;;&quot;&gt;&lt;a id=&quot;user-content-first--mongodb을-시작한다--여기선-docker를-이용하여-시작-&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; href=&quot;https://github.com/yangjeehan/nodejs-mongo-test#first--mongodb%EC%9D%84-%EC%8B%9C%EC%9E%91%ED%95%9C%EB%8B%A4--%EC%97%AC%EA%B8%B0%EC%84%A0-docker%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-%EC%8B%9C%EC%9E%91-&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); float: left; padding-right: 4px; margin-left: -20px; line-height: 1;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;First : mongodb을 시작한다. ( 여기선 docker를 이용하여 시작 ).&lt;/h1&gt;&lt;hr style=&quot;box-sizing: content-box; height: 0.25em; margin: 24px 0px; background: rgb(225, 228, 232); border: 0px; padding: 0px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;몽고디비 컨테이너에 생성&lt;/em&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;$ docker run --name mongo -p 27017:27017 -d mongo&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;도커 프로세스 확인&lt;/em&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
b2482f6a58be        mongo               &quot;docker-entrypoint.s…&quot;   5 minutes ago       Up 5 minutes        0.0.0.0:27017-&amp;gt;27017/tcp   mongo&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;컨테이너에 접속&lt;/em&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;$ docker exec -it mongo /bin/bash&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;mongo를 입력하여 제대로 동작하는지 확인&lt;/em&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;root@b2482f6a58be:/# mongo

MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
Server has startup warnings:
2018-06-30T04:51:49.681+0000 I STORAGE  [initandlisten]
2018-06-30T04:51:49.681+0000 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2018-06-30T04:51:49.681+0000 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2018-06-30T04:51:50.154+0000 I CONTROL  [initandlisten]
2018-06-30T04:51:50.154+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-06-30T04:51:50.154+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2018-06-30T04:51:50.154+0000 I CONTROL  [initandlisten]
---
Enable MongoDB's free cloud-based monitoring service to collect and display
metrics about your deployment (disk utilization, CPU, operation statistics,
etc).

The monitoring data will be available on a MongoDB website with a unique
URL created for you. Anyone you share the URL with will also be able to
view this page. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command:
db.enableFreeMonitoring()
&amp;gt;

&amp;gt;  db
test
&lt;/code&gt;&lt;/pre&gt;&lt;h1 style=&quot;box-sizing: border-box; margin: 24px 0px 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;;&quot;&gt;&lt;a id=&quot;user-content-second--nodejs-실행&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; href=&quot;https://github.com/yangjeehan/nodejs-mongo-test#second--nodejs-%EC%8B%A4%ED%96%89&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); float: left; padding-right: 4px; margin-left: -20px; line-height: 1;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;Second : nodejs 실행&lt;/h1&gt;&lt;hr style=&quot;box-sizing: content-box; height: 0.25em; margin: 24px 0px; background: rgb(225, 228, 232); border: 0px; padding: 0px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;우선 해당 git에 프로젝트 다운&lt;/em&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;$ git clone https://github.com/yangjeehan/nodejs-mongo-test.git &lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;해당 도커파일을 통해 이미지를&amp;nbsp;만든다.&lt;/em&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;$ docker build -t nodejs-mongodb-test:yang&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;*만든 이미지를 실행한다. ( 전에 만든 mongo container을 link을 통해 연결 ) *&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;$ docker run -i --link mongo &lt;/code&gt;--name test&lt;span style=&quot;font-size: 13.6px;&quot;&gt; -t nodejs-mongodb-test:yang /bin/bash &lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;만든 컨테이너에 접속하여 아래명령어 수행&lt;/em&gt;&lt;/p&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;$ docker exec -it test /bin/bash 
root@ee137a79dd4e:/usr/src/app# node demo_mongo_insert.js &lt;/code&gt;&lt;/pre&gt;&lt;h1 style=&quot;box-sizing: border-box; margin: 24px 0px 16px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;;&quot;&gt;&lt;a id=&quot;user-content-몽고디비에-접속해서-데이터-입력-체크&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; href=&quot;https://github.com/yangjeehan/nodejs-mongo-test#%EB%AA%BD%EA%B3%A0%EB%94%94%EB%B9%84%EC%97%90-%EC%A0%91%EC%86%8D%ED%95%B4%EC%84%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9E%85%EB%A0%A5-%EC%B2%B4%ED%81%AC&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); float: left; padding-right: 4px; margin-left: -20px; line-height: 1;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;몽고디비에 접속해서 데이터 입력 체크&lt;/h1&gt;&lt;pre style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; margin-top: 0px; margin-bottom: 16px; word-wrap: normal; padding: 16px; overflow: auto; line-height: 1.45; background-color: rgb(246, 248, 250); border-radius: 3px; color: rgb(36, 41, 46);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; padding: 0px; margin: 0px; background: transparent; border-radius: 3px; word-break: normal; border: 0px; display: inline; overflow: visible; line-height: inherit; word-wrap: normal;&quot;&gt;root@b2482f6a58be:/# mongo

&amp;gt; show databases;
admin   0.000GB
config  0.000GB
local   0.000GB
mydb    0.000GB

&amp;gt; use mydb
switched to db mydb
&amp;gt;
&amp;gt; show collections;
customers

&amp;gt; db.customers.find()
{ &quot;_id&quot; : ObjectId(&quot;5b371eb7d8daba00078e2fdf&quot;), &quot;name&quot; : &quot;Company Inc&quot;, &quot;address&quot; : &quot;Highway 37&quot; }

&lt;/code&gt;&lt;/pre&gt;&lt;h1 style=&quot;box-sizing: border-box; margin-top: 24px; margin-right: 0px; margin-left: 0px; line-height: 1.25; padding-bottom: 0.3em; border-bottom: 1px solid rgb(234, 236, 239); color: rgb(36, 41, 46); font-family: -apple-system, system-ui, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; margin-bottom: 0px !important;&quot;&gt;&lt;a id=&quot;user-content-end&quot; class=&quot;anchor&quot; aria-hidden=&quot;true&quot; href=&quot;https://github.com/yangjeehan/nodejs-mongo-test#end&quot; style=&quot;box-sizing: border-box; background-color: transparent; color: rgb(3, 102, 214); float: left; padding-right: 4px; margin-left: -20px; line-height: 1;&quot;&gt;&lt;svg class=&quot;octicon octicon-link&quot; viewBox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;&lt;path fill-rule=&quot;evenodd&quot; d=&quot;M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;End&lt;/h1&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>apps/docker</category>
      <author>고오</author>
      <guid isPermaLink="true">https://likefree.tistory.com/16</guid>
      <comments>https://likefree.tistory.com/16#entry16comment</comments>
      <pubDate>Sun, 1 Jul 2018 22:13:40 +0900</pubDate>
    </item>
  </channel>
</rss>