SlideShare a Scribd company logo
Kanagaraj.Manickam@huawei.com
huangtianhua@huawei.com
OpenStack Summit, Austin, TX
April 27th 2016
Heat Orchestration Template
(HOT) Learning
About Authors
Kanagaraj Manickam
Sr. System Architect @ Huawei, Bangalore, India.
• Core-reviewer @ Heat, OpenStack.
• Active participant @ Open-O an Global SDN & NFV-Orchestrator .
• Expert in Data-center Server, Storage management and automation.
• Founder of namos – OpenStack Manager)
Huang Tianhua
Software engineer @ Huawei, Xi’an, China
Core-reviewer @ Heat, Openstack.
Having 3+ years of experience in Openstack Cloud.
2
Start to prepare setup
• Download https://goo.gl/ne29yO
• Install devstack with https://github.com/mkr1481/hot-
tutorials/blob/master/localrc (devstack with heat, ceilometer, aodh)
• Upload the image to glace
• (Ctrl+C from https://etherpad.openstack.org/p/austin-heat)
3
Agenda
• Heat
• HOT schematics
• Validation & Pre-view
• Heat features
– Auto-scaling
– Software deployment
4
Heat
• An orchestration service to create and manage the
lifecycle of OpenStack cloud application i.e,
anything-as-a-service (XaaS)
• Uses JSON/YAML based parameterized HOT
template to model the customizable cloud application made of
software, configurations and infrastructure.
• Represent each provisioned cloud application as
Stack
• Similar to AWS cloud-formation (CFN) service
5
HOT schematic
• Sections
• Parameter constraints
• Pseudo parameters
• Intrinsic functions
• Resource Type
• Environment
• Provider template
6
HOT schematic : Sections
7
HOT schematic : Parameter Constraints
length: (String)
{ min: <lower limit>, max: <upper limit> }
range: (number)
{ min: <lower limit>, max: <upper limit> }
allowed_values:
[ <value>, <value>, ... ]
allowed_pattern:
<regular expression>
custom_constraint: <constraint name>
8
HOT schematic : Pseudo parameters
Available by default
- OS::Stack_id : Id of Stack , the template belongs to
- OS::stack_name: Name of Stack , the template belongs to
-OS::project_id: User project Id
How to get the value of these parameters?
-Use ‘openstack stack show <stack name>’ and refer from the
parameters in the output
9
HOT schematic : Intrinsic functions
10
get_file
files: {
“file:///path/to/userdata.sh”:
<file content of userdata.sh>
}
resources:
my_instance:
type: OS::Nova::Server
properties:
user_data: {get_file: userdata.sh }
user_data: <file content of userdata.sh>
NOTE:
- OpenStack heat CLI or REST API provides the ‘files’ map used here
- file path could either in absolute file path or url format
Data Reference Intrinsic functions
11
Data Reference Intrinsic functions
get_param
instance_type : "m1.tiny",
server_data : {
"metadata": { "foo": "bar"},
"keys": ["a_key","other_key"]}
}
parameters:
instance_type:
type: string
server_data:
type: json
resources:
my_instance:
type: OS::Nova::Server
properties:
flavor: { get_param: instance_type}
metadata: { get_param: [ server_data, metadata ] }
key_name: { get_param: [ server_data, keys, 0 ] }
flavor: “m1.tiny “
metadata: {"foo": "bar"}
key_name: "a_key"
12
Data Manipulation Intrinsic functions
str_split: [',', 'string,to,split', 0] ‘string’
list_join: [‘- ', [‘a', b‘, c'], [‘d’, ‘e’]] a-b-c-d-e
str_replace:
template: http://host:port/v1
params:
host: 192.168.10.1
port: 8088
http://192.168.10.1:8088/v1
map_merge: [{'k1': 'v1', 'k2': 'v2'}, {'k1': 'v2'}] {'k1': 'v2', 'k2': 'v2‘}
Data Manipulation functions
repeat:
for_each:
<%port%>: [80, 443]
<%protocol%>: [‘udp’, ‘tcp’]
template:
protocol: <%protocol%>
port_range_min: <%port%>
protocol:udp port_range_min:80
protocol:tcp port_range_min:80
protocol:udb port_range_min:443
protocol:tcp port_range_min:80
Utility functions
digest: ['sha512‘, ‘password’]
(supports md5, sha1, sha224, sha256, Sha384 also)
B109f3bbbc244eb82441917ed06d618b9008dd0
9b3befd1b5e07394c706……
13
get_resource
Dependency reference Intrinsic functions
resources:
instance_port:
type: OS::Neutron::Port
properties:
...
instance:
type: OS::Nova::Server
properties:
networks:
port: { get_resource: instance_port }
resources:
server:
type: OS::Nova::Server
properties:
…
member:
type: OS::Neutron::PoolMember
properties:
address: {get_attr: [server, first_address]}
outputs:
ip:
value: {get_attr: [server, networks, private, 0] }
get_attr
resource_fecade
Child.yaml
------------------
resources:
instance:
type: OS::Nova::Server
properties:
…
metadata: {resource_facade: metadata}
update_policy: {resource_facade: update_policy}
deletion_policy: {resource_facade: deletion_policy}
depends_on(Not an intrinsic function)
resources:
instance1:
type: OS::Nova::Server
depends_on: [instance2, instance3]
instance2:
type: OS::Nova::Server
instance3:
type: OS::Nova::Server
parent.yaml
------------------
resources:
parent:
type: child.yaml
metadata: …
update_policy: …
deletion_policy: …
14
Resource type
• Helps to model OpenStack elements such as nova instance, cinder volume, neutron network, etc in
template
• Represented by namespace Cloud Provider :: Service :: Resource (Examples: OS::Nova::Server,
OS::Cinder::Volume)
• Supported with Life cycle operations
(inline with stack life cycle operations)
– Create / Update / Delete
– Snapshot / restore
– Abandon / adopt
– Check
• Has Typed Properties with built-in constraints
– Types: Integer, String, Number, Boolean, Map, List
– Updatable (y/n, default:yes)
– Required (y/n, default: no)
– Metadata
– deletion_policy
– update_policy
• Provides Typed Output
– Types: Integer, String, Boolean, Map, List
– Special one ‘show’
– get_attr() helps
OS::Nova::Server
properties:
image:
type:String
constraints: glance.image
attributes:
first_address:
type: String
description: first IP
resources:
sample:
type: OS::Nova::Server
image: cirros
outputs:
ip:
value: {get_attr: [sample_doamin, serial]}15
Environment
• Global (/etc/heat/heat.conf:environment_dir)
• User env (heat stack-create –e env.yaml)
• Parameters
• resource_registry
– Resource mapping
– Override resource
– restricted_actions
– hooks
• event_sinks
parameters
flavor: m1.large
image: cirros
resource_registry
“OS::Quantaum*”: “OS::neutron*”
"AWS::EC2::Instance": file:///path/to/my_instance.yaml
“db_server”
"OS::DBInstance": file:///path/to/db.yaml
restricted_actions : [update, replace]
hooks : [ pre-create, pre-update, pre-delete,
post-create, post-update, post-delete]
event_sinks
-type: zaqar-queue
-target: myqueue
-ttl: 1200
*
16
Provider template
heat_template_version: 2015-04-30
resources:
my_server:
type: my_nova.yaml
properties:
key_name: my_key
resource_registry:
"OS::Nova::Server": my_nova.yaml
heat_template_version: 2015-04-30
resources:
my_server:
type: OS::Nova::Server
properties:
key_name: my_key
outputs:
test_out:
value: {get_attr: [ my_server, resource.server, first_address]}
OS::stack_id:
value: {get_resource: my_server}
heat_template_version: 2015-04-30
parameters:
key_name:
type: string
description: Name of a KeyPair
resources:
server:
type: OS::Nova::Server
properties:
key_name: {get_param: key_name}
flavor: m1.small
image: ubuntu-trusty-x86_64
my_nova.yaml•Bifurcate complex template into easy-manageable-small template
• New Resourc e type
• Direct reference
• using environment
• Access the provider template’s resource attributes
• Make provider template based resources as transparent
17
Validation & Preview
Validation
heat template-validate –template-file <template file>
openstack orchestration template validate -t <template file>
- Produces list of input parameters for this template.
Pre-view
heat stack-preview –template-file <template file> <stack_name>
openstack stack create -t <template file> --dry-run <stack_name>
- Produces the pre-view of all resources in the template
18
Heat features: by means of HOT
• Using Resource Type
– auto-scaling
– software configuration & deployment
– resource grouping
– remote stack
– none resource
– random string
– wait condition
• Using Environment
– hook/breakpoint
19
Auto-scaling
• Scale up/down compute/storage/network
capabilities of cloud application based on the
pre-defined threshold level, which is
monitored continuously
• For defining threshold and monitoring, user
could choose either Ceilometer or Monasca
20
Auto-scaling: based on Monasca
OS::Heat::AutoScalingGroup
 Properties
 resource (scaling element)
 desired_capacity (initial count)
 max_size
 min_szie
 Outputs
 current_size
 outputs/output_list
• Scale Group
• Scaling policy
• Alarm Notification
• Alarm definition
• Metadata-Dimension
OS::Heat::AutoScalingGroupOS::Heat::ScalingPolicy
 Properties
 auto_scaling_group_id
 cooldown (timing-window for scaling)
 adjustement_type
 Scaling_adjustment (+/- 1, n, x%)
 Outputs
 alarm_url ( CFN signal type)
 signal_url (HOT signal type)
OS::Heat::ScalingPolicy
OS::Monasca::Notification
 Properties
 type (webhook, email)
 address
signal / alarm url
OS::Monasca::Notification
signal / alarm url
OS::Monasca::AlarmDefinition
 Properties
 name
 expression
 match_by=scale_group
 alarm_actions
OS::Monasca::AlarmDefinition
OS::Heat::AutoScalingGroup
resource:
type: OS::Nova::Server
properties:
metadata: {"scale_group": <stack-id>}
OS::Monasca::AlarmDefinition
expression: avg(vm.cpu.utilization_perc{scale_group=<stack-id>}) > 90
Monasca alarm definition wiki
Presented an demo @ OpenStack Summit, Tokyo, JP
21
Auto-scaling: based on Ceilometer
OS::Heat::AutoScalingGroup
 Properties
 resource (scaling element)
 desired_capacity (initial count)
 max_size
 min_szie
 Outputs
 current_size
 outputs/output_list
• Scale Group
• Scaling policy
• Alarm
• Metadata-Dimension
OS::Heat::AutoScalingGroupOS::Heat::ScalingPolicy
 Properties
 auto_scaling_group_id
 cooldown (timing-window for scaling)
 adjustement_type
 Scaling_adjustment (+/- 1, n, x%)
 Outputs
 alarm_url ( CFN signal type)
 signal_url (HOT signal type)
OS::Heat::ScalingPolicy
signal / alarm url
OS::Ceilometer::Alarm
signal / alarm url
OS::Monasca::Alarm
 Properties
 meter_name
 statistic
 period
 evalutation_periods
 threshold
 Comparision_operator
 alarm_actions
OS::Heat::AutoScalingGroup
resource:
type: OS::Nova::Server
properties:
metadata: {"metering.stack": {get_param: "OS::stack_id"}}
OS::Monasca::Alarm
Maticing_metadata: {'metadata.user_metadata.stack': {get_param:
"OS::stack_id"}}
Ceilometer alarm definition wiki
22
Auto-scaling :work-flow
Heat
Monasca/
Ceilometer
VMVMVM
heat_template_version: 2015-10-15
resources:
group:
type: OS::Heat::AutoScalingGroup
scaleup_policy:
type: OS::Heat::ScalingPolicy
notification:
type: OS::Monasca::Notification
cpu_alarm_high:
type: OS::Monasca::AlarmDefinition
1
3
4
5
6
2 7
1. Call Heat with a cloud application HOT template
2. Heat creates cloud application stack with scale group and
scale policy
3. Heat creates alarm definitions and scaling notifications in
Ceilometer/Monasca
4. Ceilometer/Monasca starts to monitor the scale group
elements
[[CLOUD APPLICATION AUTO-SCALING SETUP IS DONE]]
5. When Scale group reaches the alarm threshold,
Ceilometer/Monasca detects and generates alarm
6. Ceilometer/Monasca signals cloud application stack in heat
7. Heat either scale up or scale down based on the signal
(here, increment scale group elements by 1)
5-7 runs for ever ! (auto-scale)
5
23
• Custom image building
• User-data boot scripts and cloud-init
• Software deployment resources
24
Software Config & Deployment
25
Software Config & Deployment
Custom image building
• Boot speed
• Boot reliability
• Test verification
• Configuration dependencies
Tool: diskimage-builder
26
Software Config & Deployment
User-data boot scripts and cloud-init
resources:
my_instance:
type: OS::Nova::Server
properties:
user data: |
#!/bin/bash
echo “Running boot script”
# ...
user_data_format: RAW
user_data:
str_replace:
template: {get_file:the_server_boot.sh}
params:
$FOO: {get_param: foo}
user_data:
str_replace:
template: |
#!/bin/bash
echo “Script with $FOO"
# ...
params:
$FOO: {get_param: foo}
#!
#cloud-config
#part-handler
#cloud-boothook
……
HEAT_CFNTOOLS
RAW
SOFTWARE_CONFIG
my_server:
type: OS::Nova::Server
properties:
user_data_format: RAW
user_data: {get_resource: xxx}
boot_script:
type: OS::Heat::SoftwareConfig
properties:
group: ungrouped
config: |
#!/bin/bash
echo "Running boot script“
# ...
OS::Heat::SoftwareConfig
OS::Heat::CloudConfig
boot_config:
type: OS::Heat::CloudConfig
properties:
cloud_config:
write_files:
- path: /tmp/file
content: {get_param: file_content}
OS::Heat::MultipartMime
server_init:
type: OS::Heat::MultipartMime
properties:
parts:
- config: {get_resource:boot_config}
- config: {get_resource: boot_script}
- config: {get_param: other_config}
Software Config & Deployment
Software deployment resources
deployment:
type: OS::Heat::SoftwareDeployment
properties:
config:
get_resource: config
server:
get_resource: server
input_values:
foo: fooooo
bar: baaaaa
actions: [CREATE, UPDATE, DELETE…]
signal_transport: HEAT_SIGNAL/
ZAQAR_SIGNAL/
TEMP_URL_SIGNAL…
OS::Heat::SoftwareDeployment
boot_script:
type: OS::Heat::SoftwareConfig
properties:
group: ungrouped
config: |
#!/bin/bash
echo "Running boot script“
# ...
OS::Heat::SoftwareConfig
OS::Nova::Server
my_server:
type: OS::Nova::Server
properties:
user_data_format: SOFTWARE_CONFIG
Software Config & Deployment
Software deployment – build custom image
pip install git+https://git.openstack.org/openstack/diskimage-builder
git clone https://git.openstack.org/openstack/tripleo-image-elements
git clone https://git.openstack.org/openstack/heat-templates
export ELEMENTS_PATH=tripleo-image-elements/elements:heat-
templates/hot/software-config/elements
disk-image-create vm 
fedora selinux-permissive 
heat-config 
os-collect-config 
os-refresh-config 
os-apply-config 
heat-config-cfn-init 
heat-config-puppet 
heat-config-script 
-o fedora-software-config.qcow2
29
Software Deployment :work-flow
Heat
heat_template_version: 2015-10-15
resources:
server:
type: OS::Nova::Server
config:
type: OS::Heat::SoftwareConfig
deployment:
type: OS::Heat::SoftwareDeployment
1
1. Call Heat with a cloud application HOT template
2. Heat creates cloud application stack with
software config, software deployment and server
3. VM is booting, cloud-init consumes the user-data
4. os-collect-config starts to pull the configuration
metadata to vm
5. Corresponding hooks to perform configuration
6. Heat config tools signals software deployment
resource to tell the result
7. Call Heat update-stack to update the
configuration
8. Step 4-6 repeats
2
os-collect-config
os-apply-config
os-refresh-config
Hooks…
VM
4
6
heat_template_version: 2015-10-15
resources:
server:
type: OS::Nova::Server
config_update:
type: OS::Heat::SoftwareConfig
deployment:
type: OS::Heat::SoftwareDeployment
5
THANK YOU
Useful references:
http://docs.openstack.org/developer/heat/template_guide/index.html
http://docs.openstack.org/developer/heat/template_guide/software_deployment.htm
https://github.com/mkr1481/hot-tutorials
https://github.com/openstack/heat-templates
Kanagaraj Manickam
@mrkanag
IRC: KanagarajM
Huang Tianhua
IRC: tiantian
30

More Related Content

What's hot

[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
NHN FORWARD
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
Mirantis
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
OpenStack Korea Community
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
Eueung Mulyana
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
Ji-Woong Choi
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
Opennaru, inc.
 
Neutron packet logging framework
Neutron packet logging frameworkNeutron packet logging framework
Neutron packet logging framework
Vietnam Open Infrastructure User Group
 
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
ssuserf8b8bd1
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
Krishna-Kumar
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
Open Source Consulting
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
Ji-Woong Choi
 
Autoscale a self-healing cluster in OpenStack with Heat
Autoscale a self-healing cluster in OpenStack with HeatAutoscale a self-healing cluster in OpenStack with Heat
Autoscale a self-healing cluster in OpenStack with Heat
Rico Lin
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Crevise Technologies
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/NeutronOverview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
vivekkonnect
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
rockplace
 

What's hot (20)

[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
 
Neutron packet logging framework
Neutron packet logging frameworkNeutron packet logging framework
Neutron packet logging framework
 
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
(발표자료) CentOS EOL에 따른 대응 OS 검토 및 적용 방안.pdf
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
Autoscale a self-healing cluster in OpenStack with Heat
Autoscale a self-healing cluster in OpenStack with HeatAutoscale a self-healing cluster in OpenStack with Heat
Autoscale a self-healing cluster in OpenStack with Heat
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/NeutronOverview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 

Viewers also liked

An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack Heat
Mirantis
 
Openstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksOpenstack heat & How Autoscaling works
Openstack heat & How Autoscaling works
CoreStack
 
Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-manager
Kanagaraj M
 
OpenStack and nfvo
OpenStack and nfvoOpenStack and nfvo
OpenStack and nfvo
Kanagaraj M
 
OpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbag
OpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbagOpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbag
OpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbag
me_slideshare_2
 
Introduction to open stack
Introduction to open stackIntroduction to open stack
Introduction to open stack
Kanagaraj M
 
Heat monasca auto scale
Heat monasca auto scaleHeat monasca auto scale
Heat monasca auto scale
Kanagaraj M
 
From Ceilometer to Telemetry: not so alarming!
From Ceilometer to Telemetry: not so alarming!From Ceilometer to Telemetry: not so alarming!
From Ceilometer to Telemetry: not so alarming!
Nicolas (Nick) Barcet
 
Application and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & ToscaApplication and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & Tosca
Nati Shalom
 
Deployment Automation on OpenStack with TOSCA and Cloudify
Deployment Automation on OpenStack with  TOSCA and CloudifyDeployment Automation on OpenStack with  TOSCA and Cloudify
Deployment Automation on OpenStack with TOSCA and Cloudify
Cloudify Community
 
Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編
irix_jp
 
Newdrug
NewdrugNewdrug
Newdrug
cqpate
 
Sleeping with the enemy Konrad Häfeli
Sleeping with the enemy Konrad HäfeliSleeping with the enemy Konrad Häfeli
Sleeping with the enemy Konrad Häfeli
Désirée Pfister
 
130124 michigan assn of realtors generation now national association of rea...
130124 michigan assn of realtors   generation now national association of rea...130124 michigan assn of realtors   generation now national association of rea...
130124 michigan assn of realtors generation now national association of rea...
Holly Duckworth
 
Ejec comprom dic110001
Ejec comprom dic110001Ejec comprom dic110001
Ejec comprom dic110001
MarKCreative
 
Fotos de laurent_schwebel1
Fotos de laurent_schwebel1Fotos de laurent_schwebel1
Fotos de laurent_schwebel1
UniworldVW
 
Dvd Digipak
Dvd DigipakDvd Digipak
Dvd Digipak
daisy92
 
nouri @ heshami
  nouri @ heshami  nouri @ heshami
nouri @ heshami
Dheeraj Vasu
 
Refuse Specialists Overview
Refuse Specialists OverviewRefuse Specialists Overview
Refuse Specialists Overview
Refuse Specialists
 
Toán 2 ab 2012 thpt công nghiệp hòa bình
Toán 2 ab 2012 thpt công nghiệp   hòa bìnhToán 2 ab 2012 thpt công nghiệp   hòa bình
Toán 2 ab 2012 thpt công nghiệp hòa bình
Việt Nam Tổ Quốc
 

Viewers also liked (20)

An Introduction to OpenStack Heat
An Introduction to OpenStack HeatAn Introduction to OpenStack Heat
An Introduction to OpenStack Heat
 
Openstack heat & How Autoscaling works
Openstack heat & How Autoscaling worksOpenstack heat & How Autoscaling works
Openstack heat & How Autoscaling works
 
Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-manager
 
OpenStack and nfvo
OpenStack and nfvoOpenStack and nfvo
OpenStack and nfvo
 
OpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbag
OpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbagOpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbag
OpenStack Summit 2015 Tokyo Heat-Translator and TOSCA vbrownbag
 
Introduction to open stack
Introduction to open stackIntroduction to open stack
Introduction to open stack
 
Heat monasca auto scale
Heat monasca auto scaleHeat monasca auto scale
Heat monasca auto scale
 
From Ceilometer to Telemetry: not so alarming!
From Ceilometer to Telemetry: not so alarming!From Ceilometer to Telemetry: not so alarming!
From Ceilometer to Telemetry: not so alarming!
 
Application and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & ToscaApplication and Network Orchestration using Heat & Tosca
Application and Network Orchestration using Heat & Tosca
 
Deployment Automation on OpenStack with TOSCA and Cloudify
Deployment Automation on OpenStack with  TOSCA and CloudifyDeployment Automation on OpenStack with  TOSCA and Cloudify
Deployment Automation on OpenStack with TOSCA and Cloudify
 
Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編Hot の書き方(Template Version 2015-04-30) 前編
Hot の書き方(Template Version 2015-04-30) 前編
 
Newdrug
NewdrugNewdrug
Newdrug
 
Sleeping with the enemy Konrad Häfeli
Sleeping with the enemy Konrad HäfeliSleeping with the enemy Konrad Häfeli
Sleeping with the enemy Konrad Häfeli
 
130124 michigan assn of realtors generation now national association of rea...
130124 michigan assn of realtors   generation now national association of rea...130124 michigan assn of realtors   generation now national association of rea...
130124 michigan assn of realtors generation now national association of rea...
 
Ejec comprom dic110001
Ejec comprom dic110001Ejec comprom dic110001
Ejec comprom dic110001
 
Fotos de laurent_schwebel1
Fotos de laurent_schwebel1Fotos de laurent_schwebel1
Fotos de laurent_schwebel1
 
Dvd Digipak
Dvd DigipakDvd Digipak
Dvd Digipak
 
nouri @ heshami
  nouri @ heshami  nouri @ heshami
nouri @ heshami
 
Refuse Specialists Overview
Refuse Specialists OverviewRefuse Specialists Overview
Refuse Specialists Overview
 
Toán 2 ab 2012 thpt công nghiệp hòa bình
Toán 2 ab 2012 thpt công nghiệp   hòa bìnhToán 2 ab 2012 thpt công nghiệp   hòa bình
Toán 2 ab 2012 thpt công nghiệp hòa bình
 

Similar to Hot tutorials

Openstack Heat
Openstack HeatOpenstack Heat
Openstack Heat
Arun prasath
 
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackLinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
OpenShift Origin
 
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Databricks
 
Best Practice for Deploying Application with Heat
Best Practice for Deploying Application with HeatBest Practice for Deploying Application with Heat
Best Practice for Deploying Application with Heat
Ethan Lynn
 
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Vietnam Open Infrastructure User Group
 
Apache Eagle at Hadoop Summit 2016 San Jose
Apache Eagle at Hadoop Summit 2016 San JoseApache Eagle at Hadoop Summit 2016 San Jose
Apache Eagle at Hadoop Summit 2016 San Jose
Hao Chen
 
Apache Eagle: Secure Hadoop in Real Time
Apache Eagle: Secure Hadoop in Real TimeApache Eagle: Secure Hadoop in Real Time
Apache Eagle: Secure Hadoop in Real Time
DataWorks Summit/Hadoop Summit
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
Rich Lee
 
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsOrchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Cloud Native Day Tel Aviv
 
Powering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphPowering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraph
ScyllaDB
 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning service
Ruth Yakubu
 
Heat and its resources
Heat and its resourcesHeat and its resources
Heat and its resources
Sangeeth Kumar
 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profiler
Ihor Bobak
 
Achieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloudAchieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloud
Scott Miao
 
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
Dimitar Damyanov
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data Mesh
Sion Smith
 
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
 Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov... Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
Databricks
 
Public private hybrid - cmdb challenge
Public private hybrid - cmdb challengePublic private hybrid - cmdb challenge
Public private hybrid - cmdb challenge
ryszardsshare
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthrough
Sangwon Lee
 

Similar to Hot tutorials (20)

Openstack Heat
Openstack HeatOpenstack Heat
Openstack Heat
 
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackLinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
 
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
 
Best Practice for Deploying Application with Heat
Best Practice for Deploying Application with HeatBest Practice for Deploying Application with Heat
Best Practice for Deploying Application with Heat
 
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
 
Apache Eagle at Hadoop Summit 2016 San Jose
Apache Eagle at Hadoop Summit 2016 San JoseApache Eagle at Hadoop Summit 2016 San Jose
Apache Eagle at Hadoop Summit 2016 San Jose
 
Apache Eagle: Secure Hadoop in Real Time
Apache Eagle: Secure Hadoop in Real TimeApache Eagle: Secure Hadoop in Real Time
Apache Eagle: Secure Hadoop in Real Time
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
 
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsOrchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
 
Powering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphPowering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraph
 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning service
 
Heat and its resources
Heat and its resourcesHeat and its resources
Heat and its resources
 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profiler
 
Achieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloudAchieve big data analytic platform with lambda architecture on cloud
Achieve big data analytic platform with lambda architecture on cloud
 
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
Nagios Conference 2014 - Konstantin Benz - Monitoring Openstack The Relations...
 
Iac d.damyanov 4.pptx
Iac d.damyanov 4.pptxIac d.damyanov 4.pptx
Iac d.damyanov 4.pptx
 
Enterprise guide to building a Data Mesh
Enterprise guide to building a Data MeshEnterprise guide to building a Data Mesh
Enterprise guide to building a Data Mesh
 
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
 Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov... Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
 
Public private hybrid - cmdb challenge
Public private hybrid - cmdb challengePublic private hybrid - cmdb challenge
Public private hybrid - cmdb challenge
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthrough
 

Recently uploaded

INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 

Recently uploaded (20)

INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 

Hot tutorials

  • 1. Kanagaraj.Manickam@huawei.com huangtianhua@huawei.com OpenStack Summit, Austin, TX April 27th 2016 Heat Orchestration Template (HOT) Learning
  • 2. About Authors Kanagaraj Manickam Sr. System Architect @ Huawei, Bangalore, India. • Core-reviewer @ Heat, OpenStack. • Active participant @ Open-O an Global SDN & NFV-Orchestrator . • Expert in Data-center Server, Storage management and automation. • Founder of namos – OpenStack Manager) Huang Tianhua Software engineer @ Huawei, Xi’an, China Core-reviewer @ Heat, Openstack. Having 3+ years of experience in Openstack Cloud. 2
  • 3. Start to prepare setup • Download https://goo.gl/ne29yO • Install devstack with https://github.com/mkr1481/hot- tutorials/blob/master/localrc (devstack with heat, ceilometer, aodh) • Upload the image to glace • (Ctrl+C from https://etherpad.openstack.org/p/austin-heat) 3
  • 4. Agenda • Heat • HOT schematics • Validation & Pre-view • Heat features – Auto-scaling – Software deployment 4
  • 5. Heat • An orchestration service to create and manage the lifecycle of OpenStack cloud application i.e, anything-as-a-service (XaaS) • Uses JSON/YAML based parameterized HOT template to model the customizable cloud application made of software, configurations and infrastructure. • Represent each provisioned cloud application as Stack • Similar to AWS cloud-formation (CFN) service 5
  • 6. HOT schematic • Sections • Parameter constraints • Pseudo parameters • Intrinsic functions • Resource Type • Environment • Provider template 6
  • 7. HOT schematic : Sections 7
  • 8. HOT schematic : Parameter Constraints length: (String) { min: <lower limit>, max: <upper limit> } range: (number) { min: <lower limit>, max: <upper limit> } allowed_values: [ <value>, <value>, ... ] allowed_pattern: <regular expression> custom_constraint: <constraint name> 8
  • 9. HOT schematic : Pseudo parameters Available by default - OS::Stack_id : Id of Stack , the template belongs to - OS::stack_name: Name of Stack , the template belongs to -OS::project_id: User project Id How to get the value of these parameters? -Use ‘openstack stack show <stack name>’ and refer from the parameters in the output 9
  • 10. HOT schematic : Intrinsic functions 10
  • 11. get_file files: { “file:///path/to/userdata.sh”: <file content of userdata.sh> } resources: my_instance: type: OS::Nova::Server properties: user_data: {get_file: userdata.sh } user_data: <file content of userdata.sh> NOTE: - OpenStack heat CLI or REST API provides the ‘files’ map used here - file path could either in absolute file path or url format Data Reference Intrinsic functions 11
  • 12. Data Reference Intrinsic functions get_param instance_type : "m1.tiny", server_data : { "metadata": { "foo": "bar"}, "keys": ["a_key","other_key"]} } parameters: instance_type: type: string server_data: type: json resources: my_instance: type: OS::Nova::Server properties: flavor: { get_param: instance_type} metadata: { get_param: [ server_data, metadata ] } key_name: { get_param: [ server_data, keys, 0 ] } flavor: “m1.tiny “ metadata: {"foo": "bar"} key_name: "a_key" 12
  • 13. Data Manipulation Intrinsic functions str_split: [',', 'string,to,split', 0] ‘string’ list_join: [‘- ', [‘a', b‘, c'], [‘d’, ‘e’]] a-b-c-d-e str_replace: template: http://host:port/v1 params: host: 192.168.10.1 port: 8088 http://192.168.10.1:8088/v1 map_merge: [{'k1': 'v1', 'k2': 'v2'}, {'k1': 'v2'}] {'k1': 'v2', 'k2': 'v2‘} Data Manipulation functions repeat: for_each: <%port%>: [80, 443] <%protocol%>: [‘udp’, ‘tcp’] template: protocol: <%protocol%> port_range_min: <%port%> protocol:udp port_range_min:80 protocol:tcp port_range_min:80 protocol:udb port_range_min:443 protocol:tcp port_range_min:80 Utility functions digest: ['sha512‘, ‘password’] (supports md5, sha1, sha224, sha256, Sha384 also) B109f3bbbc244eb82441917ed06d618b9008dd0 9b3befd1b5e07394c706…… 13
  • 14. get_resource Dependency reference Intrinsic functions resources: instance_port: type: OS::Neutron::Port properties: ... instance: type: OS::Nova::Server properties: networks: port: { get_resource: instance_port } resources: server: type: OS::Nova::Server properties: … member: type: OS::Neutron::PoolMember properties: address: {get_attr: [server, first_address]} outputs: ip: value: {get_attr: [server, networks, private, 0] } get_attr resource_fecade Child.yaml ------------------ resources: instance: type: OS::Nova::Server properties: … metadata: {resource_facade: metadata} update_policy: {resource_facade: update_policy} deletion_policy: {resource_facade: deletion_policy} depends_on(Not an intrinsic function) resources: instance1: type: OS::Nova::Server depends_on: [instance2, instance3] instance2: type: OS::Nova::Server instance3: type: OS::Nova::Server parent.yaml ------------------ resources: parent: type: child.yaml metadata: … update_policy: … deletion_policy: … 14
  • 15. Resource type • Helps to model OpenStack elements such as nova instance, cinder volume, neutron network, etc in template • Represented by namespace Cloud Provider :: Service :: Resource (Examples: OS::Nova::Server, OS::Cinder::Volume) • Supported with Life cycle operations (inline with stack life cycle operations) – Create / Update / Delete – Snapshot / restore – Abandon / adopt – Check • Has Typed Properties with built-in constraints – Types: Integer, String, Number, Boolean, Map, List – Updatable (y/n, default:yes) – Required (y/n, default: no) – Metadata – deletion_policy – update_policy • Provides Typed Output – Types: Integer, String, Boolean, Map, List – Special one ‘show’ – get_attr() helps OS::Nova::Server properties: image: type:String constraints: glance.image attributes: first_address: type: String description: first IP resources: sample: type: OS::Nova::Server image: cirros outputs: ip: value: {get_attr: [sample_doamin, serial]}15
  • 16. Environment • Global (/etc/heat/heat.conf:environment_dir) • User env (heat stack-create –e env.yaml) • Parameters • resource_registry – Resource mapping – Override resource – restricted_actions – hooks • event_sinks parameters flavor: m1.large image: cirros resource_registry “OS::Quantaum*”: “OS::neutron*” "AWS::EC2::Instance": file:///path/to/my_instance.yaml “db_server” "OS::DBInstance": file:///path/to/db.yaml restricted_actions : [update, replace] hooks : [ pre-create, pre-update, pre-delete, post-create, post-update, post-delete] event_sinks -type: zaqar-queue -target: myqueue -ttl: 1200 * 16
  • 17. Provider template heat_template_version: 2015-04-30 resources: my_server: type: my_nova.yaml properties: key_name: my_key resource_registry: "OS::Nova::Server": my_nova.yaml heat_template_version: 2015-04-30 resources: my_server: type: OS::Nova::Server properties: key_name: my_key outputs: test_out: value: {get_attr: [ my_server, resource.server, first_address]} OS::stack_id: value: {get_resource: my_server} heat_template_version: 2015-04-30 parameters: key_name: type: string description: Name of a KeyPair resources: server: type: OS::Nova::Server properties: key_name: {get_param: key_name} flavor: m1.small image: ubuntu-trusty-x86_64 my_nova.yaml•Bifurcate complex template into easy-manageable-small template • New Resourc e type • Direct reference • using environment • Access the provider template’s resource attributes • Make provider template based resources as transparent 17
  • 18. Validation & Preview Validation heat template-validate –template-file <template file> openstack orchestration template validate -t <template file> - Produces list of input parameters for this template. Pre-view heat stack-preview –template-file <template file> <stack_name> openstack stack create -t <template file> --dry-run <stack_name> - Produces the pre-view of all resources in the template 18
  • 19. Heat features: by means of HOT • Using Resource Type – auto-scaling – software configuration & deployment – resource grouping – remote stack – none resource – random string – wait condition • Using Environment – hook/breakpoint 19
  • 20. Auto-scaling • Scale up/down compute/storage/network capabilities of cloud application based on the pre-defined threshold level, which is monitored continuously • For defining threshold and monitoring, user could choose either Ceilometer or Monasca 20
  • 21. Auto-scaling: based on Monasca OS::Heat::AutoScalingGroup  Properties  resource (scaling element)  desired_capacity (initial count)  max_size  min_szie  Outputs  current_size  outputs/output_list • Scale Group • Scaling policy • Alarm Notification • Alarm definition • Metadata-Dimension OS::Heat::AutoScalingGroupOS::Heat::ScalingPolicy  Properties  auto_scaling_group_id  cooldown (timing-window for scaling)  adjustement_type  Scaling_adjustment (+/- 1, n, x%)  Outputs  alarm_url ( CFN signal type)  signal_url (HOT signal type) OS::Heat::ScalingPolicy OS::Monasca::Notification  Properties  type (webhook, email)  address signal / alarm url OS::Monasca::Notification signal / alarm url OS::Monasca::AlarmDefinition  Properties  name  expression  match_by=scale_group  alarm_actions OS::Monasca::AlarmDefinition OS::Heat::AutoScalingGroup resource: type: OS::Nova::Server properties: metadata: {"scale_group": <stack-id>} OS::Monasca::AlarmDefinition expression: avg(vm.cpu.utilization_perc{scale_group=<stack-id>}) > 90 Monasca alarm definition wiki Presented an demo @ OpenStack Summit, Tokyo, JP 21
  • 22. Auto-scaling: based on Ceilometer OS::Heat::AutoScalingGroup  Properties  resource (scaling element)  desired_capacity (initial count)  max_size  min_szie  Outputs  current_size  outputs/output_list • Scale Group • Scaling policy • Alarm • Metadata-Dimension OS::Heat::AutoScalingGroupOS::Heat::ScalingPolicy  Properties  auto_scaling_group_id  cooldown (timing-window for scaling)  adjustement_type  Scaling_adjustment (+/- 1, n, x%)  Outputs  alarm_url ( CFN signal type)  signal_url (HOT signal type) OS::Heat::ScalingPolicy signal / alarm url OS::Ceilometer::Alarm signal / alarm url OS::Monasca::Alarm  Properties  meter_name  statistic  period  evalutation_periods  threshold  Comparision_operator  alarm_actions OS::Heat::AutoScalingGroup resource: type: OS::Nova::Server properties: metadata: {"metering.stack": {get_param: "OS::stack_id"}} OS::Monasca::Alarm Maticing_metadata: {'metadata.user_metadata.stack': {get_param: "OS::stack_id"}} Ceilometer alarm definition wiki 22
  • 23. Auto-scaling :work-flow Heat Monasca/ Ceilometer VMVMVM heat_template_version: 2015-10-15 resources: group: type: OS::Heat::AutoScalingGroup scaleup_policy: type: OS::Heat::ScalingPolicy notification: type: OS::Monasca::Notification cpu_alarm_high: type: OS::Monasca::AlarmDefinition 1 3 4 5 6 2 7 1. Call Heat with a cloud application HOT template 2. Heat creates cloud application stack with scale group and scale policy 3. Heat creates alarm definitions and scaling notifications in Ceilometer/Monasca 4. Ceilometer/Monasca starts to monitor the scale group elements [[CLOUD APPLICATION AUTO-SCALING SETUP IS DONE]] 5. When Scale group reaches the alarm threshold, Ceilometer/Monasca detects and generates alarm 6. Ceilometer/Monasca signals cloud application stack in heat 7. Heat either scale up or scale down based on the signal (here, increment scale group elements by 1) 5-7 runs for ever ! (auto-scale) 5 23
  • 24. • Custom image building • User-data boot scripts and cloud-init • Software deployment resources 24 Software Config & Deployment
  • 25. 25 Software Config & Deployment Custom image building • Boot speed • Boot reliability • Test verification • Configuration dependencies Tool: diskimage-builder
  • 26. 26 Software Config & Deployment User-data boot scripts and cloud-init resources: my_instance: type: OS::Nova::Server properties: user data: | #!/bin/bash echo “Running boot script” # ... user_data_format: RAW user_data: str_replace: template: {get_file:the_server_boot.sh} params: $FOO: {get_param: foo} user_data: str_replace: template: | #!/bin/bash echo “Script with $FOO" # ... params: $FOO: {get_param: foo} #! #cloud-config #part-handler #cloud-boothook …… HEAT_CFNTOOLS RAW SOFTWARE_CONFIG my_server: type: OS::Nova::Server properties: user_data_format: RAW user_data: {get_resource: xxx} boot_script: type: OS::Heat::SoftwareConfig properties: group: ungrouped config: | #!/bin/bash echo "Running boot script“ # ... OS::Heat::SoftwareConfig OS::Heat::CloudConfig boot_config: type: OS::Heat::CloudConfig properties: cloud_config: write_files: - path: /tmp/file content: {get_param: file_content} OS::Heat::MultipartMime server_init: type: OS::Heat::MultipartMime properties: parts: - config: {get_resource:boot_config} - config: {get_resource: boot_script} - config: {get_param: other_config}
  • 27. Software Config & Deployment Software deployment resources deployment: type: OS::Heat::SoftwareDeployment properties: config: get_resource: config server: get_resource: server input_values: foo: fooooo bar: baaaaa actions: [CREATE, UPDATE, DELETE…] signal_transport: HEAT_SIGNAL/ ZAQAR_SIGNAL/ TEMP_URL_SIGNAL… OS::Heat::SoftwareDeployment boot_script: type: OS::Heat::SoftwareConfig properties: group: ungrouped config: | #!/bin/bash echo "Running boot script“ # ... OS::Heat::SoftwareConfig OS::Nova::Server my_server: type: OS::Nova::Server properties: user_data_format: SOFTWARE_CONFIG
  • 28. Software Config & Deployment Software deployment – build custom image pip install git+https://git.openstack.org/openstack/diskimage-builder git clone https://git.openstack.org/openstack/tripleo-image-elements git clone https://git.openstack.org/openstack/heat-templates export ELEMENTS_PATH=tripleo-image-elements/elements:heat- templates/hot/software-config/elements disk-image-create vm fedora selinux-permissive heat-config os-collect-config os-refresh-config os-apply-config heat-config-cfn-init heat-config-puppet heat-config-script -o fedora-software-config.qcow2
  • 29. 29 Software Deployment :work-flow Heat heat_template_version: 2015-10-15 resources: server: type: OS::Nova::Server config: type: OS::Heat::SoftwareConfig deployment: type: OS::Heat::SoftwareDeployment 1 1. Call Heat with a cloud application HOT template 2. Heat creates cloud application stack with software config, software deployment and server 3. VM is booting, cloud-init consumes the user-data 4. os-collect-config starts to pull the configuration metadata to vm 5. Corresponding hooks to perform configuration 6. Heat config tools signals software deployment resource to tell the result 7. Call Heat update-stack to update the configuration 8. Step 4-6 repeats 2 os-collect-config os-apply-config os-refresh-config Hooks… VM 4 6 heat_template_version: 2015-10-15 resources: server: type: OS::Nova::Server config_update: type: OS::Heat::SoftwareConfig deployment: type: OS::Heat::SoftwareDeployment 5

Editor's Notes

  1. Helps to keep the files such as scripts, config, provider template out of the template and these files could be referenced in multiple places in template Maintain the template become easy
  2. Only Part of resources->properties and outputs->value
  3. These fn are only Part of resources->properties and outputs->value
  4. (Explain about resource type (next slide) and come back here) Get_attr similar to get_param, it can have indexing as well Get_attr returns all in case key is not given
  5. Deletion_policy: 'Delete', 'Retain', 'Snapshot‘ Update_policy: depends on the resource type
  6. The template file extension must be .yaml or .template, or it will not be treated as a custom template resource.
  7. In Ceilometer based auto-scaling, the notification and the alarm definition are combined into one heat resource type OS::Ceilometer::Alarm OS::Ceilometer::CombinationAlarm: Helps to create Alarm from existing alarm with and/or (type: combination) OS::Ceilometer::GnocchiResourcesAlarm: Helps to create Alarm for a specific resources (type: gnocchi_resources_threshold) OS::Ceilometer::GnocchiAggregationByMetricsAlarm: (type: gnocchi_aggregation_by_metrics_threshold) OS::Ceilometer::GnocchiAggregationByResourcesAlarm: (type: gnocchi_aggregation_by_resources_threshold)