● Fundamentals
● Key Components
● Best practices
● Spring Boot REST API Deployment
● CI with Ansible
● Ansible for AWS
● Provisioning a Docker Host
● Docker&Ansible
https://github.com/maaydin/ansible-tutorial
EFK Stack이란 ElasticSearch, Fluentd, Kibana라는 오픈소스의 조합으로, 방대한 양의 데이터를 신속하고 실시간으로 수집/저장/분석/시각화 할 수 있는 솔루션입니다. 특히 컨테이너 환경에서 로그 수집을 위해 주로 사용되는 기술 스택입니다.
Elasitc Stack에 대한 소개와 EFK Stack 설치 방법에 대해 설명합니다.
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...Amazon Web Services Korea
쿠버네티스에 어플리케이션을 손쉽게 배포하는 방법은 무엇일까요? 복잡하게 배포된 어플리케이션의 파드들은 어떻게 디버깅하고 로깅해야 할까요? 또한 요즘 자주 이야기 되는 클라우드 네이티브 아키텍처로 설계된 어플리케이션은 어떻게 만들고 배포해야하는 걸까요?삼성전자 무선사업부에서 삼성헬스를 EKS 에 배포한 사례를 살펴보며, 이러한 문제를 어떻게 해결했는지 알아봅니다. 또한 복잡하게만 느껴졌던 쿠버네티스의 어플리케이션 배포와 클라우드 네이티브 아키텍처의 베스트 프렉티스를 EKS 에 어플리케이션을 배포하고, 관리하는 예제를 통하여 간편하게 이해할 수 있게 도와드립니다.
● Fundamentals
● Key Components
● Best practices
● Spring Boot REST API Deployment
● CI with Ansible
● Ansible for AWS
● Provisioning a Docker Host
● Docker&Ansible
https://github.com/maaydin/ansible-tutorial
EFK Stack이란 ElasticSearch, Fluentd, Kibana라는 오픈소스의 조합으로, 방대한 양의 데이터를 신속하고 실시간으로 수집/저장/분석/시각화 할 수 있는 솔루션입니다. 특히 컨테이너 환경에서 로그 수집을 위해 주로 사용되는 기술 스택입니다.
Elasitc Stack에 대한 소개와 EFK Stack 설치 방법에 대해 설명합니다.
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...Amazon Web Services Korea
쿠버네티스에 어플리케이션을 손쉽게 배포하는 방법은 무엇일까요? 복잡하게 배포된 어플리케이션의 파드들은 어떻게 디버깅하고 로깅해야 할까요? 또한 요즘 자주 이야기 되는 클라우드 네이티브 아키텍처로 설계된 어플리케이션은 어떻게 만들고 배포해야하는 걸까요?삼성전자 무선사업부에서 삼성헬스를 EKS 에 배포한 사례를 살펴보며, 이러한 문제를 어떻게 해결했는지 알아봅니다. 또한 복잡하게만 느껴졌던 쿠버네티스의 어플리케이션 배포와 클라우드 네이티브 아키텍처의 베스트 프렉티스를 EKS 에 어플리케이션을 배포하고, 관리하는 예제를 통하여 간편하게 이해할 수 있게 도와드립니다.
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...Simplilearn
This presentation on Ansible will help you understand why Ansible is needed, what is Ansible, Ansible as a pull configuration tool, Ansible architecture, Ansible playbook, Ansible inventory, how Ansible works, Ansible tower and you will also see a use case on how Hootsuite used Ansible. Increasing team productivity and improving business outcomes have now become easy with Ansible. Ansible is a simple, popular, agent-free tool in the automation domain. Ansible is a tool that allows you to create and control three key areas within the operations environment of software development lifecycle. The first one is IT automation which allows you to write instructions to automate the IT professional's work that you would typically do manually in the past, the second is configuration management which allows you to maintain consistency of all systems in the infrastructure and the third is automatic deployment which allows you to deploy applications automatically on a variety of environments. Now let us get started and understand Ansible and it's architecture.
Below topics are explained in this Ansible presentation:
1. Why Ansible?
2. What is Ansible?
3. Ansible - Pull configuration tool
4. Ansible architecture
5. Playbook
6. Inventory
7. Working of Ansible
8. Ansible tower
9. Use case by Hootsuite
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become en expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
High Availability Content Caching with NGINXNGINX, Inc.
On-Demand Recording:
https://www.nginx.com/resources/webinars/high-availability-content-caching-nginx/
You trust NGINX to be your web server, but did you know it’s also a high-performance content cache? In fact, the world’s most popular CDNs – CloudFlare, MaxCDN, and Level 3 among them – are built on top of the open source NGINX software.
NGINX content caching can drastically improve the performance of your applications. We’ll start with basic configuration, then move on to advanced concepts and best practices for architecting high availability and capacity in your application infrastructure.
Join this webinar to:
* Enable content caching with the key configuration directives
* Use micro caching with NGINX Plus to cache dynamic content while maintaining low CPU utilization
* Partition your cache across multiple servers for high availability and increased capacity
* Log transactions and troubleshoot your NGINX content cache
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon Web Services Korea
Amazon Elastic Kubernetes Service (Amazon EKS)를 통하여 오픈소스 컨테이너 오케이스트레이션 도구인 Kubernetes를 신규 도입하고자 하는 고객들이 폭발적으로 늘어나고 있습니다. AWS Cloud Development Kit (AWS CDK) 그리고 CDK8s 를 활용하여 개발자에게 친숙한 프로그래밍 언어로 Amazon EKS를 정의하고 Kubernetes 어플리케이션을 정의하는 데에 활용하는 방법을 소개하여, 새롭게 Amazon EKS를 사용해보고자 하는 고객들이 도입을 가속화할 수 있는 방법을 제시합니다.
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌BESPIN GLOBAL
지난 11월 Bespin Gaming Day 행사의 발표 자료를 통해 AWS에서 컨테이너를 활용하는 방법을 알아보겠습니다.
AWS에서는 사용 목적에 따라 다양한 컨테이너 서비스를 제공합니다.
- Management 스케쥴링, 스케일링, 배포, 전략: Amazon ECS, Amazon EKS
- Hosting 컨테이너가 수행되는 곳: Amazon EC2, AWS Fargate
- Image Registry 컨테이너 이미지 저장소: Amazon ECR
컨테이너 및 쿠버네티스 관련 서비스 중 Amazon EKS, Amazon ECS, AWS Fargate에 대해 보다 자세히 살펴보실 수 있습니다.
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
Amazon Elastic Kubernetes Service (EKS)는 표준 Kubernetes 환경에서 실행되는 어플리케이션과 완벽히 호환됩니다. AWS상에서 Kubernetes 클러스터를 생성하고, 컨테이너 어플리케이션을 배포, 관리, 확장 및 로깅, 모니터링에 대한 실습과 함께, 최근 릴리즈된 AWS IAM 권한을 Pod에 할당하는 방법 등을 Amazon EKS에서 구현하는 과정을 진행합니다.
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...Amazon Web Services Korea
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자!
신은수 솔루션즈 아키텍트, AWS
IAM 서비스는 AWS 에서 계정을 생성하고 서비스를 사용하고 위해서는 반드시 사용하여야 하는 서비스 중에 하나입니다. 본 세션에서는 IAM에서 기본적으로 제공하는 기능의 구조와 동작 원리, 각 IAM 정책(Policy) 별 상호 관계 등에 대해 이해함으로써 보다 단순화되고 관리가 편한 IAM 정책을 작성하고 실무에 적용할 수 있는 방법 등에 대해 살펴보고자 합니다.
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...Simplilearn
This presentation on Ansible will help you understand why Ansible is needed, what is Ansible, Ansible as a pull configuration tool, Ansible architecture, Ansible playbook, Ansible inventory, how Ansible works, Ansible tower and you will also see a use case on how Hootsuite used Ansible. Increasing team productivity and improving business outcomes have now become easy with Ansible. Ansible is a simple, popular, agent-free tool in the automation domain. Ansible is a tool that allows you to create and control three key areas within the operations environment of software development lifecycle. The first one is IT automation which allows you to write instructions to automate the IT professional's work that you would typically do manually in the past, the second is configuration management which allows you to maintain consistency of all systems in the infrastructure and the third is automatic deployment which allows you to deploy applications automatically on a variety of environments. Now let us get started and understand Ansible and it's architecture.
Below topics are explained in this Ansible presentation:
1. Why Ansible?
2. What is Ansible?
3. Ansible - Pull configuration tool
4. Ansible architecture
5. Playbook
6. Inventory
7. Working of Ansible
8. Ansible tower
9. Use case by Hootsuite
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become en expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
High Availability Content Caching with NGINXNGINX, Inc.
On-Demand Recording:
https://www.nginx.com/resources/webinars/high-availability-content-caching-nginx/
You trust NGINX to be your web server, but did you know it’s also a high-performance content cache? In fact, the world’s most popular CDNs – CloudFlare, MaxCDN, and Level 3 among them – are built on top of the open source NGINX software.
NGINX content caching can drastically improve the performance of your applications. We’ll start with basic configuration, then move on to advanced concepts and best practices for architecting high availability and capacity in your application infrastructure.
Join this webinar to:
* Enable content caching with the key configuration directives
* Use micro caching with NGINX Plus to cache dynamic content while maintaining low CPU utilization
* Partition your cache across multiple servers for high availability and increased capacity
* Log transactions and troubleshoot your NGINX content cache
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon Web Services Korea
Amazon Elastic Kubernetes Service (Amazon EKS)를 통하여 오픈소스 컨테이너 오케이스트레이션 도구인 Kubernetes를 신규 도입하고자 하는 고객들이 폭발적으로 늘어나고 있습니다. AWS Cloud Development Kit (AWS CDK) 그리고 CDK8s 를 활용하여 개발자에게 친숙한 프로그래밍 언어로 Amazon EKS를 정의하고 Kubernetes 어플리케이션을 정의하는 데에 활용하는 방법을 소개하여, 새롭게 Amazon EKS를 사용해보고자 하는 고객들이 도입을 가속화할 수 있는 방법을 제시합니다.
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌BESPIN GLOBAL
지난 11월 Bespin Gaming Day 행사의 발표 자료를 통해 AWS에서 컨테이너를 활용하는 방법을 알아보겠습니다.
AWS에서는 사용 목적에 따라 다양한 컨테이너 서비스를 제공합니다.
- Management 스케쥴링, 스케일링, 배포, 전략: Amazon ECS, Amazon EKS
- Hosting 컨테이너가 수행되는 곳: Amazon EC2, AWS Fargate
- Image Registry 컨테이너 이미지 저장소: Amazon ECR
컨테이너 및 쿠버네티스 관련 서비스 중 Amazon EKS, Amazon ECS, AWS Fargate에 대해 보다 자세히 살펴보실 수 있습니다.
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
Amazon Elastic Kubernetes Service (EKS)는 표준 Kubernetes 환경에서 실행되는 어플리케이션과 완벽히 호환됩니다. AWS상에서 Kubernetes 클러스터를 생성하고, 컨테이너 어플리케이션을 배포, 관리, 확장 및 로깅, 모니터링에 대한 실습과 함께, 최근 릴리즈된 AWS IAM 권한을 Pod에 할당하는 방법 등을 Amazon EKS에서 구현하는 과정을 진행합니다.
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...Amazon Web Services Korea
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자!
신은수 솔루션즈 아키텍트, AWS
IAM 서비스는 AWS 에서 계정을 생성하고 서비스를 사용하고 위해서는 반드시 사용하여야 하는 서비스 중에 하나입니다. 본 세션에서는 IAM에서 기본적으로 제공하는 기능의 구조와 동작 원리, 각 IAM 정책(Policy) 별 상호 관계 등에 대해 이해함으로써 보다 단순화되고 관리가 편한 IAM 정책을 작성하고 실무에 적용할 수 있는 방법 등에 대해 살펴보고자 합니다.
네이버 클라우드 플랫폼의 init script는 서버 생성 후, 최초 1회 실행되는 스크립트입니다. 해당 스크립트를 서버 생성 후 실행하도록 구성을 하면, 서버 생성 후 추가 설치가 필요한 패키지들을 서버 생성 시에 자동으로 설치되도록 설정이 가능합니다. 해당 init script가 어떻게 동작하는지, 그리고 실무에서 어떻게 적용하여 이 가능한지 설명해드립니다 | 네이버 클라우드 플랫폼의 init script는 서버 생성 후, 최초 1회 실행되는 스크립트입니다. 해당 스크립트를 서버 생성 후 실행하도록 구성을 하면, 서버 생성 후 추가 설치가 필요한 패키지들을 서버 생성 시에 자동으로 설치되도록 설정이 가능합니다. 해당 init script가 어떻게 동작하는지, 그리고 실무에서 어떻게 적용하여 이 가능한지 설명해드립니다
9xD Django Study
파이썬 웹프로그래밍 - Django로 배우는 쉽고 빠른 웹개발 Charter 2
발표자 - 김한성
ppt 내용 : 실습 예제 및 내용 요약
개발툴 : pycharm
개발환경 : python 3.5 이용(일부 예제의 경우 동작안함 - 주석 참고)
소스코드 : 2 page github 링크이용
오픈소스컨설팅의 오픈소스 기반 IaaS 및 PaaS 클라우드 솔루션 소개 4p 브로슈어입니다.
At Open Source Consulting, we are dedicated to providing robust, scalable, and cost-effective cloud solutions that harness the power of open-source technology. Our Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) offerings are designed to meet the diverse needs of businesses in today’s fast-paced digital landscape.
디지털 시대에 기업들은 빠르게 변화하는 시장과 환경에 발 빠르게 대처하기 위하여 점점 조직을 작게 만들어 민첩성을 확보하고자 노력하고 있습니다. 이를 위한 기술의 하나로 '클라우드 네이티브'의 도입이 가속화 되고 있는데요, 이는 클라우드 컴퓨팅 모델의 장점을 모두 활용하여 애플리케이션을 개발하고 실행하기 위한 접근 방식을 일컫습니다. 아키텍처 관점에서는 분산을 통한 유연성 확보, 운영 관점에서는 애플리케이션도 분산시켜야 하는데요, 이를 위해서는 다양한 클라우드 환경에서 자유롭게 이식하기 위한 '컨테이너' 구현이 필수적입니다.
글로벌 IT리서치 기업 가트너에서는 매년 ‘10대 전략 기술’을 선정하여 발표하고 있습니다. 본 리포트를 통해 IT기술 개발의 흐름을 파악할 수 있는데요, 올해는 최적화(Optimize), 확장(Scale), 개척(Pioneer) 등 세 가지를 테마로 기반으로 10가지 키워드가 공개되었습니다.
2023년의 주요 기술 트렌드를 살펴보고, 이러한 흐름 속에서 기업들은 어떤 문제를 안게 되고 어떻게 해결할 수 있을지.. 오픈소스컨설팅의 최고 기술 책임자인 최지웅 CTO님의 One Pick 트렌드를 소개합니다!
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
최근 금융권이나 공공기관에서는 차세대 프로젝트에 PaaS 기반 시스템을 구축하고 그 위에 마이크로서비스아키텍처(MSA)를 구현하기 위해 많은 투자를 하고 있는데요, 많은 기업들이 오픈소스 기반의 인프라를 고려할 때 기술지원이나 버전 업그레이드 등에 대한 애로사항을 겪게 됩니다. 이런 문제에 대한 해결 방안 중 하나가 바로 커뮤니티 기반의 오픈소스 재단을 활용하는 것인데요!
본 자료에서 커뮤니티 오픈소스 기반 인프라 구축의 장점과 실제 사례에 대해 확인해 보실 수 있습니다.
Kubernetes는 전세계 조직의 96%가 이미 사용 중이거나 검토 중인 오픈소스 기술입니다. 클라우드 시장은 IaaS에서 PaaS로 그 중심이 이동하고 있으며, PaaS 시장은 2026년까지 연평균 19.6% 성장률을 기록할 것으로 전망되고 있습니다.
Kubernetes를 기반으로 애플리케이션을 손쉽게 배포하고 자동화된 운영 관리는 제공하는 PaaS 솔루션, Playce Kube를 소개합니다.
다양한 컴포넌트를 유기적으로 결합한 최적의 플랫폼으로 유연한 클라우드 네이티브 애플리케이션을 위한 환경을 제공합니다.
Life science에서 k-agile으로 일하기 : with SAFe(Scaled Agile) & Atlassian Open Source Consulting
애자일을 아는 것과 기업 조직에 반영하는 것에는 어떤 차이가 있을까요? 애자일 프레임워크와 프랙티스를 그대로 따라만 하는 것보다는 본질을 이해하고 산업과 기업의 환경을 반영하는 것이 필요합니다.
Life Science 산업의 경우 엄격한 컴플라이언스 적용 분야이면서도 팬데믹과 같은 상황에서 하루라도 빨리 백신이나 치료제를 개발해야 하는 두가지 도전을 동시에 마주하고 있습니다. 게다가 글로벌 연구성과와 임상 등에서는 더 이상 폐쇄형 구조로는 대응이 어려우며 오픈 이노베이션을 적극적으로 추진하고 있습니다. 이동이 불가능한 상황에서 서류심사도 늘어났고 데이터 일관성은 더 엄격하게 관리해야 하며 본사, 연구소, 공장 등 Multi Functional Team으로 협업해야 합니다.
이와 같은 도전상황을 대응하는 하나의 방법으로 글로벌 애자일 협업 및 문서도구인 Atlassian의 Jira Align, Jira Software, Confluence 등의 제품으로 구성하는 방안을 소개해 드리겠습니다.
지금 전문가에게 문의하기 : https://osci.kr/contact/contact.php
#Agile #애자일 #SAFe #ScaledAgile #Atlassian #아틀라시안
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket CloudOpen Source Consulting
Digital Transformation 시대의 개발 프로세스의 변화와 개선의 필요성이 대두되면서, DevOps에 대한 관심도 점차 높아지고 있는데요. DevOps 툴로서 아틀라시안(Atlassian)의 도입과 활용이 IT 업종을 비롯한 다양한 회사에서 다방면으로 이루어지고 있습니다. 특히 Atlassian Cloud 버전을 출시하고, 많은 회사들이 Cloud 버전을 사용하면서 DevOps로의 쓰임새가 더욱 확장되고 있습니다.
성공적인 디지털 트랜스포메이션을 위해서는 클라우드 전환이 필수적인데요, 많은 기업에서 막상 클라우드를 도입할 때 여러가지 장벽에 맞닥뜨리게 됩니다.
클라우드 마이그레이션에 관한 여러분의 고민을 시원하게 해결해주기 위해 Global Public Cloud의 독보적인 선두 AWS(Amazone Web Services)와 클라우드 마이그레이션 전문기업 오픈소스컨설팅이 만났습니다!
많은 기업들이 마이그레이션 수행할 때 가장 많이 하는 질문 Top 10에 대한 기술 전문가의 노하우가 담긴 답변을 공유합니다.
SELinux(Security-Enhanced Linux)는 미국 국가 안보국(NSA)에서 개발한 것으로,
관리자가 시스템 엑세스 권한을 효과적으로 제어할 수 있게 하는 Linux 시스템용 보안 아키텍처입니다.
특정 서비스의 구동이 원활하지 않거나 혹은 관리의 번거로움 등으로 인해 SELinux를 Disable 하는 경우가 많은데요,
SELinux를 사용해야 하는 이유와 작동 방식에 대해 설명합니다,
클라우드 네이티브로의 전환이 확산되면서 애플리케이션을 상호 독립적인 최소 구성 요소로 쪼개는 마이크로서비스(microservices) 아키텍쳐가 각광받고 있는데요.
MSA는 애플리케이션의 확장이 쉽고 새로운 기능의 출시 기간을 단축시킬 수 있다는 장점이 있지만,
반면에 애플리케이션이 커지고 동일한 서비스의 여러 인스턴스가 동시에 실행되면 MSA간 통신이 복잡해 진다는 단점이 있습니다.
서비스 메쉬(Service Mesh)는 이러한 MSA의 트래픽 문제를 보완하기 위해 탄생한 기술로,
서비스 간의 네트워크 트래픽 관리에 초점을 맞춘 네트워킹 모델입니다.
서로 다른 애플리케이션이 얼마나 원활하게 상호작용하는지를 기록함으로써 커뮤니케이션을 최적화하고 애플리케이션 확장에 따른 다운 타임을 방지할 수 있습니다.
서비스 메쉬의 탄생 배경과 기능, 그리고 현재 오픈소스로 배포되어 있는 서비스 메쉬 솔루션에 대해 소개합니다.
Step1. Cloud Native Trail Map
Step2. Service Proxy, Discover, & Mesh
Step3. Service Mesh 솔루션
Step4. Service Mesh 구현화면 - Istio / linkerd
Step5. Multi-cluster (linkerd)
ARM과 AMD64의 차이에 대해 설명하고
오픈스택에 ARM을 도입하기 위한 커뮤니티 활동을 소개합니다.
1. ARM vs AMD64
2. CISC/RISC 차이
3. 커뮤니티에서 ARM위에 오픈스택을 올리기 위한 노력
- SIG (Special Interest Groups)
- PTG(Project Team Gathering)
Kubernetes와 Kubernetes on OpenStack 환경의 비교와 그 구축방법에 대해서 알아봅니다.
1. 클라우드 동향
2. Kubernetes vs Kubernetes on OpenStack
3. Kubernetes on OpenStack 구축 방벙
4. Kubernetes on OpenStack 운영 방법
[Container 기반의 DevOps] Cloud Native
열린기술공방에서 처음으로 런칭한 교육 프로그램의 트렌드 세션 자료입니다. 급변하는 환경에 맞춘 SW를 개발하고 배포하기 위해, 빠른 의사결정을 할 수 있는 환경과 프로세스가 더욱 중요해지고 있는데요. 기업들에게 왜 클라우드 네이티브 전략이 필수적인지에 대해 소개한 자료입니다.
열린기술공방의 교육 과정을 통해 Kubernetes위에서 동작하는 Application의 빌드부터 배포까지의 과정을 한 눈에 확인하실 수 있습니다.
[Open Infrastructure & Cloud Native Days Korea 2019]
커뮤니티 버전의 OpenStack 과 Ceph를 활용하여 대고객서비스를 구축한 사례를 공유합니다. 유연성을 확보한 기업용 클라우드 서비스 구축 사례와 높은 수준의 보안을 요구하는 거래소 서비스를 구축, 운영한 사례를 소개합니다. 또한 이 프로젝트에 사용된 기술 스택 및 장애 해결사례와 최적화 방안을 소개합니다. 오픈스택은 역시 오픈소스컨설팅입니다.
#openstack #ceph #openinfraday #cloudnative #opensourceconsulting
3. - Internal Use Only -
Configuration Management System
• Provision
• Orchestration
• System 설정을 code로 관리
• 멱등성(indempotency) - 여러 번 적용해도 결과는 항상 동일
• chef, puppet, salt, ansible
4. - Internal Use Only -
Ansible 개요
• Configuration management tool
• Open Source
• Python 기반
• Michael DeHaan 개발(Cobbler 개발자)
• Ansible. Inc는 Redhat에 인수됨
• ssh 연결
• 순차 적용
• 수백개의 모듈 제공
• Template - jinja2
• Playbook은 yaml 사용하여, syntax 이해가 쉬움
• Agentlee 방식으로 관리 호스트에 별도 작업이
필요하지 않음
• Pull-based 방식도 지원(ansible-pull - 상용)
• Twitter가 ansible로 전환
• Web 관리 UI인 ansible-tower(상용)
5. - Internal Use Only -
Not support
• 최초 OS 설치에 관여할 수 없음.
• 구성 변화는 멱동으로 관리할 수 있으나, 모니터링은 할 수 없음.
• 파일 변경 추적 X
6. Pull-based(chef, puppet) Push-based(ansible)
Agent Agentless
1. Admin : Configuration management script 변경
2. Admin : 변경 파일을 서버로 업로드
3. Agent : 일정 시간마다 서버로 접속하여 변경이력 확인
4. Agent : 새롭게 변경된 파일 다운로드
5. Agent : 변경된 파일 실행
1. Admin : playbook(Configuration Management script) 변경
2. Admin : 새로운 playbook 실행
3. Ansible on Control : 서버로 접속하여 변경된 playbook 실행
Pull-based & Push-based
Pull-based 방식이 큰 규모의 서버 관리 및 신규 서버 추가에 더 적합하다고
하지만, ansible을 이용하여 수천대 서버를 관리하고 있으며, 서버 추가 및 삭제도 용의
8. - Internal Use Only -
구성요소
• Inventory : 관리 대상 서버 리스트
• Modules : host에 특정 action을 수행하는 패키지화된 sctips
• play-book : 변수 및 task를 관리 호스트에 수행하기 위해 yaml 문법으로 정의된 파일
• plug-in : 확장 기능(email, logging etc)
• Custom module : 사용자가 직접 작성한 모듈
9. - Internal Use Only -
Modules
• Package mgmt : apt-get, yum, package
• Commands : shell, command
• File 관련 : file, copy
• Template 관련 : template
• Download : get_url, git, subversion
• Server info : setup
• Service 관리 : service
• Cloud 관리 : aws, openstack
10. - Internal Use Only -
연결 플러그인
• ssh, paramiko – ssh 연결
• local – localhost 연결
• winrm – windows 연결
• docker – docker에 연결
11. - Internal Use Only -
설치
[설치방법 1 - 패키지]
# yum install epel-release
# yum install ansible
[설치방법 2 – pip]
# yum install autoconf gcc python-devel libffi-devel openssl-devel
# pip install ansible
[update]
# yum update ansible
# pip install ansible --upgrade
관리 호스트 : python 2.6 or 2.7 이상
* 관리 대상 호스트 : python 2.4은 python-simplejson python 2.5 이상은 필요 없음
12. - Internal Use Only -
디렉토리 구성
/usr/lib/python2.7/site-packages/ansible/modules
Core Modules 위치
/usr/lib/python2.7/site-packages/ansible
설치 디렉토리 PATH – CentOS7 기준
/usr/lib/python2.7/site-packages/ansible/modules/system/ping.py
Ping Module 위치
/usr/lib/python2.7/site-packages/ansible/modules/commands/shell.py
Shell Module 위치
13. - Internal Use Only -
설정 – ansible.cfg
# vi ansible.cfg
[defaults]
inventory = hosts
host_key_checking = False
remote_user = ansible
log_path=~/ansible.log
no_log=False
no_target_syslog=False
forks = 20
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
• inventory : inveroty 파일 or 디렉토리 경로
• host_key_checking : Host_key(~/.ssh/known_host) 체크
• remote_user : ssh 접속 시 사용할 user
• log_path : ansible 실행 로그 파일 경로
• no_log :
• no_target_syslog : 관리 host의 syslog에 ansible 로그 여부
• forks : 동시 접속 노드 수(default : 5)
• privilege_escalation : sudo 관련 설정
14. - Internal Use Only -
ansible.cfg 순서
ANSIBLE_CONFIG=<ansible.cfg PATH>
기본 경로
홈 디렉토리
현재 디렉토리
환경 변수
15. - Internal Use Only -
설정 - Inventory file
• Ansible에서 관리하는 호스트 정의
• 호스트 인벤토리 기본 위치 : /etc/ansible/hosts
• --inventory PATH
위 옵션으로 임의 경로의 파일을 지정
호스트 그룹 이름
연결 방법, ssh 접속 유저, ssh 패스워드 설정
특정 호스트 그룹의 변수 설정
호스트 그룹을 서브그룹으로 다시 그룹핑
19. - Internal Use Only -
ansible 실행
Ansible 수행 시, 실행 프로세스
/usr/bin/ssh
-o ForwardX11 no
-o ForwardAgent no
-o PermitLocalCommand no
-o ClearAllForwardings yes
-o batchmode yes -C
-o ControlMaster=auto
-o ControlPersist=60s
-o StrictHostKeyChecking=no
-o KbdInteractiveAuthentication=no
-o PreferredAuthentications=gssapi-with-
mic,gssapi-keyex,hostbased,publickey
-o PasswordAuthentication=no
-o User=centos
-o ConnectTimeout=10
-o ControlPath=/root/.ansible/cp/d8ac695b15
-o Protocol 2
-s -- 192.168.2.131 sftp
ansible_ssh_user
ansible_connection
ansible.cfg 및 inventory 설정에 따라 ‘–o ‘에 설정되는
ssh-client 옵션들이 변경됨.
- ansible_connection : ssh 세션 재활용
- ansible_python_interpreter : host의 python path가
/usr/bin/python이 아닌 경우 설정 필요
20. - Internal Use Only -
YAML
Json과 비슷한 포맷
--- : dash 3개는 document의 시작을 알림
# : 주석
String : 따음표를 사용하지 않아도 됨.
단, 변수를 표현할 때 사용
ex) {{ 변수 }}
YAML JSON
List - Value1
- Value2
[
“Value1”,
“Value2”
]
Dictionary key1: value1
key2: value2
{
“key1”: “value1”,
“key2”: “value2”
}
Line Folding key1: >
long values1 go on,
long values2 go on
Key2: short value
{
“key1: “long values1 go on,
long value2 go on”,
“key2”: “short value”
}
22. - Internal Use Only -
Playbook
• ansible 배포에 내용(plays)을 정의한 파일
• yaml 문법
* Play : host에 접속하여 action을 수행하는 것
---: yaml 문법 처음
name: 해당 play에 대한 설명(주석), optional
become: sudo 사용 지정
hosts: Inventory의 ‘loadbalancer’ group을 대상으로 지정
tasks: host에 접속하여 해당 module 및 arg에 맞게 실제 action 수행하는
play를 list로 정의
- yum을 사용하여 패키지 설정, yum cache 업데이트
- service: systemd로 서비스 시작, enabled
- copy: 설정 파일 복사, permission 644
- template: jinja2 작성된 tempate 파일 복사, permission 644
- file: file 삭제
handlers: tasks에 정의된 play 중, notify에 의해 호출될 service 모듈로 정의된
handler, 서비스 재시작 등
service : nginx 재시작 handler
23. ansible 동작 순서
1. Playbook에 정의된 task를 수행하기 위한 python script 생성
2. 해당 script를 대상서버로 복사
3. 해당 script 실행
4. 모든 host에서 script 실행이 완료될 때까지 기다림
24. - Internal Use Only -
Playbook & Shell
playbook
- name: Ensure NTP is installed.
yum: name=ntp state=present
Shell script
if ! rpm -qa | grep -qw ntp; then
yum install ntp
fi
playbook Shell script
- name: Ensure NTP is running
service: name=ntpd state=started enabled=yes
if ps aux | grep -v grep | grep "[n]tpd" > /dev/null
then
echo "ntpd is running." > /dev/null
else systemctl start ntpd.service > /dev/null
echo "Started ntpd.”
fi
systemctl enable ntpd.service
출처 : “ansible for devops” by Jeff Geerling, 2015
25. - Internal Use Only -
Jinja2
Jinja2
- Python Template 언어
- 템플릿 적용을 위해 사용
- 참고 : http://jinja.pocoo.org/docs/dev/templates/
- loop statement
- If statement(조건이 만족할 때만 내부 로직 수행)
26. - Internal Use Only -
명령어
# ansible-playbook
Ex) # ansible-playbook <play-book file>
[Task 리스팅]
# ansible-playbook --list-tasks <play-book file>
27. - Internal Use Only -
실행
ansible-playbook Options :
-i --invertory=host-file
-v --verbose
-e --extra-vars=VARS
-f --forks=NUM
-c --connection=TYPE
--check : run in Check Mode
[Syntax check]
# ansible-playbook –syntax-check <playbook.yml>
[dry run]
# ansible-playbook –C <playbook.yml>
28. - Internal Use Only -
ansible-facts
• Tasks 수행 전, 서버의 정보
수집(hostname, IP, Mac etc)
• 변수로 사용 가능
• gather_facts 사용 X
# vi playbook.yml
자주 사용되는 facts
ansible_os_family
ansible_hostname
ansible_memtotal_mb
- hosts: test
gather_facts: no
29. - Internal Use Only -
setup
• Cache enable
[defaults]
gathering = smart
fact_caching_timeout = 86400
fact_caching = jsonfile
fact_caching_connection = /tmp/ansible_fact_cache
# redis 사용 설정
#fact_caching = redis
# memcached 사용 설정
#fact_caching = memcached
30. - Internal Use Only -
file
• 파일, 디렉토리, 링크 파일 생성
• path: 파일 및 디렉토리 PATH
• state: 대상 PATH의 타입
- link : 링크 파일
- directory : 디렉토리
- absent : 삭제
• mode: 파일 퍼미션(8진수 표현을 위하 ‘0’을 앞에 붙여야 함
31. - Internal Use Only -
copy
• remote 서버로 복사를 위한 파일
• src: 소스 파일 위치
• dest: 대상 서버의 복사될 위치
• mode: 파일 퍼미션(8진수 표현을 위하 ‘0’을 앞에 붙여야 함
32. - Internal Use Only -
templates
• Jinja2 작성
• File Contents 변경이 내부 로직에 따라 자동으로 이루어지는 파일
33. - Internal Use Only -
with_items
• Iteration
• 2개 이상의 변수를 리스트로 선언, 반복문으로 사용 가능
35. - Internal Use Only -
handlers
• notify 지시자를 사용하는 task에서 해당 module을 실행을 완료한 후,
notification 발생(notify에 지정된 handler 호출)
• notify에 지정된 ‘handler 이름’으로 handlers에 정의된 handler를 찾아
task(restarting services) 수행
36. - Internal Use Only -
vars
• playbook or template에서 사용한 변수 정의
vars 지시자
Playbook 내부의 vars 지시자에 설정
ex)
vars_files 변수가 설정된 개별 파일을 include하는 설정
roles의 defaults
Role별 변수 설정
- 설정 위치 :
roles/<role name>/defaults/main.yml
- roles/<role name>/vars/main.yml
inventory에 설정
Host 및 host group별 변수 설정
- 설정 위치 :
Inventory 파일
group_vars
Host group별 변수 설정
- 설정 위치 :
file - group_vars/<group name>
directory - group_vars/<group name>/xxx
host_vars
Host 별 변수 설정
- 설정 위치 :
file - host_vars/<host name>
directory - host_vars/<host name>/yyy
38. - Internal Use Only -
wait_for
• 특정 서비스 데몬의 실행 후에 해당 play을 진행하기 위한 지시자
• host: 서비스 확인할 host 정보
• port: open 상태를 확인할 Port
• search_regex : 파일이나 soket의 문자 매칭에 사용
39. - Internal Use Only -
local_action
• control host 자신에서 모듈 실행하기 위함
• delegate_to : play를 다른 host에서 실행
40. - Internal Use Only -
기타
• ignore_errors : error로 playbook 중단 회피
• serial: 동시에 접속 및 play 수행할 host 수 지정 설정
• max_fail_percentage: 최대 실패 비율 초과일 경우, playbook 실행 중단
• run_once: 1회만 실행
• changed_when, failed_when: 특정 조건일 때 상태
• set_facts : playbook 내에 새로운 변수 설정(register로 받은 결과를 변수 저장)
• hostvars: 특정 호스트만 사용할 변수 선언
{{ hostvars['db.osci.kr'].ansible_eth1.ipv4.address }}
41. - Internal Use Only -
roles
• playbook을 여러개의 작은 단위로 분리
• Directory 별로 구분
• playbook 재사용 가능
• playbook 중복 사용 제거
• 특정 기능 구현을 위한 playbook의 묶음
[Create roles]
# mkdir -p nodejs-app/roles/nodejs/{meta,tasks,defaults,vars}
# vi nodejs-app/roles/nodejs/meta/main.yml
--------------------
---
dependencies: []
--------------------
• role skeleton directory 생성
42. - Internal Use Only -
Single playbook to role
playbook Role 변경
Playbook – role 사용
43. - Internal Use Only -
기타
• pre-tasks: role 실행 시작 전 수행할 play 정의
• post-tasks: role 실행 완료 후 수행할 play 정의
• dependencies: 해당 role이 함께 실행될 role 정의