<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>devops Archives - Apostolidis Cloud Corner</title>
	<atom:link href="https://www.cloudcorner.gr/tag/devops/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cloudcorner.gr/tag/devops/</link>
	<description>Remarks from a Cloud Architect encounters</description>
	<lastBuildDate>Tue, 24 Oct 2023 08:44:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.cloudcorner.gr/wp-content/uploads/2021/04/cropped-cloudcorner2-32x32.png</url>
	<title>devops Archives - Apostolidis Cloud Corner</title>
	<link>https://www.cloudcorner.gr/tag/devops/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Infrastructure as Code &#124; Deploy a VNET &#038; NSG &#038; UDR</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Wed, 11 Mar 2020 22:45:35 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[IaC]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure template]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[iac]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[network security group]]></category>
		<category><![CDATA[nsg]]></category>
		<category><![CDATA[route table]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[udr]]></category>
		<category><![CDATA[virtual network]]></category>
		<category><![CDATA[vnet]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=3297</guid>

					<description><![CDATA[<p>Infrastructure as Code &#124; Deploy a VNET with NSG and UDRs Infrastructure as Code, or just IaC, provides three three</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/">Infrastructure as Code | Deploy a VNET &#038; NSG &#038; UDR</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Infrastructure as Code | Deploy a VNET with NSG and UDRs</h2>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-3312" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/03/IaC.png" alt="IaC" width="1095" height="838" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC.png 1095w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC-300x230.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC-1024x784.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC-768x588.png 768w" sizes="(max-width: 1095px) 100vw, 1095px" /></p>
<p>Infrastructure as Code, or just IaC, provides three three main advantages: cost reduction, faster execution and risk reduction, the attributes of the DevOps culture.</p>
<p style="text-align: justify;">Microsoft Azure Resource Manager allows the managing and provisioning of Azure Resources, that can be Virtual Machines, Virtual Networks, Storage Accounts, Apps, SQL Databases and everything that a computer data center includes, through machine-readable definition files, known as JSON templates, without the need of physical hardware configuration or interactive configuration tools.</p>
<p style="text-align: justify;">I am starting a series of posts about building infrastructure with JSON templates.</p>
<p style="text-align: justify;">The tool I use to build my Azure Json templates is the Visual Studio Code. You can download it from <a href="https://code.visualstudio.com/">https://code.visualstudio.com/</a> for every platform.</p>
<p style="text-align: justify;">To work with Azure Resource Manager you need the Azure Resource Manager Tools extension. Open the VS Code, go to the Extensions Section, search and install the Azure Resource Manager Tools extension.</p>
<p id="SEhVTIV"><img decoding="async" class="alignnone wp-image-3306 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/03/img_5e695dd565ae7.png" alt="infrastructure as code" width="488" height="353" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e695dd565ae7.png 488w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e695dd565ae7-300x217.png 300w" sizes="(max-width: 488px) 100vw, 488px" /></p>
<p>The extension is very helpful since it highlights the code, it provides references and intellisense.</p>
<p>At this post I am sharing &amp; explaining my Azure json template for deploying a Virtual Network, a Network Security Group and a Route Table.</p>
<p>You can find and download my working template at <a href="https://github.com/proximagr" target="_blank" rel="noopener noreferrer">my Git account</a> :</p>
<p><a href="https://github.com/proximagr/ARMTemplates/tree/master/VNET-2sub-NSG-UDR" target="_blank" rel="noopener noreferrer">https://github.com/proximagr/ARMTemplates/tree/master/VNET-2sub-NSG-UDR</a></p>
<h3>Json Template Guide</h3>
<p>Below you can find my template with comments, for better understanding.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="json" data-enlighter-theme="droide">{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
//** Define the Virtual Network Name */
    "vnetName": {
      "type": "string",
      "defaultValue": "Cloud-Corner-VNET",
      "metadata": {
        "description": "Cloud Corner VNET"
      }
//** Define the Address Space of the Virtual Network */
    },
      "vnetAddressPrefix": {
        "type": "string",
        "defaultValue": "10.0.0.0/24",
        "metadata": {
          "description": "Address prefix"
        }
//** Define the Address Space of the the First Subnet */
      },
      "subnet1Prefix": {
        "type": "string",
        "defaultValue": "10.0.0.0/27",
        "metadata": {
          "description": "Subnet 1 Prefix"
        }
//** Define the Name of the the First Subnet */
      },
      "subnet1Name": {
        "type": "string",
        "defaultValue": "Subnet1",
        "metadata": {
          "description": "Subnet 1 Name"
        }
//** Define the Address Space of the the Second Subnet */
      },
      "subnet2Prefix": {
        "type": "string",
        "defaultValue": "10.0.0.32/27",
        "metadata": {
          "description": "Subnet 2 Prefix"
        }
//** Define the Name of the the First Subnet */
      },
      "subnet2Name": {
        "type": "string",
        "defaultValue": "Subnet2",
        "metadata": {
          "description": "Subnet 2 Name"
        }
      },
//** Define the Name of the the Network Security Group */
      "networkSecurityGroup01Name": {
        "type": "string",
        "defaultValue": "Cloud-Corner-NSG-01",
        "metadata": {
          "description": "This is the name of the network security group"
        }
      },
//** Define the Name of the the First Route Table */
      "RouteTable01Name": {
        "type": "string",
        "defaultValue": "Cloud-Corner-UDR-01",
        "metadata": {
        "description": "Route Table 01 Name."
        }
      },
//** Define the Name of the the First Route of the First Route Table */
      "Route01Name": {
        "type": "string",
        "defaultValue": "To-internet",
        "metadata": {
          "description": "Route 01 Name."
        }
      },
//** Define the Next Hop Type of the the First Route of the First Route Table */
      "Route01NextHopType": {
        "type": "string",
        "allowedValues": [
        "VirtualNetworkGateway",
        "VnetLocal",
        "Internet",
        "VirtualAppliance",
        "None"
      ],
      "defaultValue": "VirtualAppliance",
        "metadata": {
          "description": "Route 01 Next Hop Type."
        }
      },
//** Define the Address Prefix of the First Route of the First Route Table */
      "Route01AddressPrefix": {
        "type": "string",
        "defaultValue": "0.0.0.0/0",
        "metadata": {
          "description": "Route 01 Address Prefix."
        }
      },
//** If you set "Virtyal Appliance for Next Hop Type, then you need to define the Next Hop IP Address, */
//** meaning the appliance's IP address. Here you define it for the First Route of the First Route Table */
        "RT01Route01NextHopIPAddress": {
        "type": "string",
        "defaultValue": "10.0.0.40",
        "metadata": {
          "description": "Next Hop IP Addess."
        }
      },
//** Define the Name of the Second Route Table */
      "RouteTable02Name": {
        "type": "string",
        "defaultValue": "Cloud-Corner-UDR-02",
        "metadata": {
          "description": "Route Table 02 Name."
        }
      },
//** Define the Name of the the First Route of the Second Route Table */
      "RT02Route01Name": {
        "type": "string",
        "defaultValue": "Local-Subnet",
        "metadata": {
        "description": "Route Table 02 Route 01 Name."
        }
      },
//** Define the Next Hop Type of the the First Route of the Second Route Table */
      "RT02Route01NextHopType": {
        "type": "string",
        "allowedValues": [
        "VirtualNetworkGateway",
        "VnetLocal",
        "Internet",
        "VirtualAppliance",
        "None"
      ],
      "defaultValue": "VnetLocal",
        "metadata": {
          "description": "Route 02 Next Hop Type."
        }
      },
//** Define the Address Prefix of the the First Route of the Second Route Table */
      "RT02Route01AddressPrefix": {
        "type": "string",
        "defaultValue": "10.0.0.0/27",
        "metadata": {
          "description": "Route Table 02 Route 01 Address Prefix."
        }
      },
//** Define the Name of the the Second Route of the Second Route Table */
        "RT02Route02Name": {
          "type": "string",
          "defaultValue": "To-subnet-1",
          "metadata": {
            "description": "Route Table 02 Route 01 Name."
          }
        },
//** Define the Next Hop Type of the the Second Route of the Second Route Table */
        "RT02Route02NextHopType": {
          "type": "string",
          "allowedValues": [
          "VirtualNetworkGateway",
          "VnetLocal",
          "Internet",
          "VirtualAppliance",
          "None"
        ],
        "defaultValue": "VirtualAppliance",
          "metadata": {
            "description": "Route 02 Next Hop Type."
          }
        },
//** Define the address prefix of the the Second Route of the Second Route Table */
        "RT02Route02AddressPrefix": {
          "type": "string",
          "defaultValue": "10.0.0.32/27",
          "metadata": {
            "description": "Route Table 02 Route 01 Address Prefix."
          }
      },
//** Define the next hop IP address (the virtual appliance's address) of the the Second Route of the Second Route Table */
        "RT02Route02NextHopIPAddress": {
          "type": "string",
          "defaultValue": "10.0.0.40",
          "metadata": {
            "description": "Next Hop IP Addess."
          }
        }
    },
//** I dont use any variables, you can exclude this section*/
  "variables": {},
  "resources": [
//* create the First Route Table &amp; Route*/
    {
    "apiVersion": "2017-10-01",
    "type": "Microsoft.Network/routeTables",
    "name": "[parameters('RouteTable01Name')]",
    "location": "[resourceGroup().location]",
    "properties": {
    "disableBgpRoutePropagation": true,
    "routes": [
      {
        "name": "[parameters('Route01Name')]",
        "properties": {
          "addressPrefix": "[parameters('Route01AddressPrefix')]",
          "nextHopType": "[parameters('Route01NextHopType')]",
          "nextHopIpAddress": "[parameters('RT01Route01NextHopIPAddress')]"
          }
        }
      ]
    }
  },
//* create the Second Route Table &amp; Routes*/
    {
    "apiVersion": "2017-10-01",
    "type": "Microsoft.Network/routeTables",
    "name": "[parameters('RouteTable02Name')]",
    "location": "[resourceGroup().location]",
    "properties": {
    "disableBgpRoutePropagation": true,
    "routes": [
      {
        "name": "[parameters('RT02Route01Name')]",
        "properties": {
          "addressPrefix": "[parameters('RT02Route01AddressPrefix')]",
          "nextHopType": "[parameters('RT02Route01NextHopType')]"
        }
      },
          {
        "name": "[parameters('RT02Route02Name')]",
        "properties": {
          "addressPrefix": "[parameters('RT02Route02AddressPrefix')]",
          "nextHopType": "[parameters('RT02Route02NextHopType')]",
          "nextHopIpAddress": "[parameters('RT02Route02NextHopIPAddress')]"
          }
        }
      ]
    }
  },
//* create teh Network Security Group */
    {
    "apiVersion": "2019-02-01",
    "type": "Microsoft.Network/networkSecurityGroups",
    "name": "[parameters('networkSecurityGroup01Name')]",
    "location": "[resourceGroup().location]",
    "properties": {
      "securityRules": [
        {
          "name": "HTTPS",
          "properties": {
            "description": "Open HTTPS to Public",
            "protocol": "Tcp",
            "sourcePortRange": "443",
            "destinationPortRange": "443",
            "sourceAddressPrefix": "*",
            "destinationAddressPrefix": "*",
            "access": "Allow",
            "priority": 101,
            "direction": "Inbound"
            }
          }
        ]
      }
    },
//* create the Virtual Network */
    {
      "apiVersion": "2018-10-01",
      "type": "Microsoft.Network/virtualNetworks",
      "name": "[parameters('vnetName')]",
      "location": "[resourceGroup().location]",
//*add a dependency in order to ensure that the NSG is created before the VNET, in order to be able to attach it*/
      "dependsOn": [
        "[parameters('networkSecurityGroup01Name')]"
      ],
      "properties": {
        "AddressSpace": {
          "AddressPrefixes": [
            "[parameters('vnetAddressPrefix')]"
          ]
        }
      },
      "resources": [
//* create the first subnet */
        {
        "apiVersion": "2018-10-01",
        "type": "subnets",
        "location": "[resourceGroup().location]",
        "name": "[parameters('subnet1Name')]",
//* add dependencies to create the resources with an order, because you need to ensure that the VNET is ready before creating the Subnet and also the Route Table*/
        "dependsOn": [
          "[parameters('vnetName')]",
          "[resourceId('Microsoft.Network/routeTables', parameters('RouteTable01Name'))]"
        ],
        "properties": {
        "AddressPrefix": "[parameters('subnet1Prefix')]",
//*attach the Newtork Securoty Group to the Subnet*/
        "networkSecurityGroup": {
        "id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroup01Name'))]"},
//*attacht the First route table to the Subnet*/
        "routeTable": {
        "id": "[resourceId('Microsoft.Network/routeTables', parameters('RouteTable01Name'))]"
          }
         }
        },
//*create the second subnet*/
        {
        "apiVersion": "2018-10-01",
        "type": "subnets",
        "location": "[resourceGroup().location]",
        "name": "[parameters('subnet2Name')]",
        "dependsOn": [
          "[parameters('vnetName')]",
          "[parameters('subnet1Name')]",
          "[parameters('RouteTable02Name')]"
        ],
        "properties": {
          "AddressPrefix": "[parameters('subnet2Prefix')]",
//*attach the Newtork Securoty Group to the Subnet*/
          "networkSecurityGroup": {
          "id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroup01Name'))]"},
//*attacht the second route table to the Subnet*/
          "routeTable": {
          "id": "[resourceId('Microsoft.Network/routeTables', parameters('RouteTable02Name'))]"
            }
          }
        }
      ]
    }
  ]
}</pre>
<p>&nbsp;</p>
<h3>Deploy the template</h3>
<p><strong>Deploy the template directly from here:</strong></p>
<p><a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fproximagr%2FARMTemplates%2Fmaster%2FVNET-2sub-NSG-UDR%2Fazuredeploy.json" target="_blank" rel="noopener noreferrer"> <img decoding="async" src="https://aka.ms/deploytoazurebutton" /> </a></p>
<p>&nbsp;</p>
<p>More Azure Resource Manager Templates: <a href="https://www.e-apostolidis.gr/microsoft/create-azure-file-shares-using-arm-template-powershell/">https://www.e-apostolidis.gr/microsoft/azure/create-azure-file-shares-using-arm-template-powershell/</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;rox&#105;m&#097;g&#114;&#064;h&#111;&#116;&#109;&#097;il&#046;co&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Finfrastructure-as-code-deploy-a-vnet-nsg-udr%2F&amp;linkname=Infrastructure%20as%20Code%20%7C%20Deploy%20a%20VNET%20%26%20NSG%20%26%20UDR" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Finfrastructure-as-code-deploy-a-vnet-nsg-udr%2F&amp;linkname=Infrastructure%20as%20Code%20%7C%20Deploy%20a%20VNET%20%26%20NSG%20%26%20UDR" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Finfrastructure-as-code-deploy-a-vnet-nsg-udr%2F&#038;title=Infrastructure%20as%20Code%20%7C%20Deploy%20a%20VNET%20%26%20NSG%20%26%20UDR" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/" data-a2a-title="Infrastructure as Code | Deploy a VNET &amp; NSG &amp; UDR"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/">Infrastructure as Code | Deploy a VNET &#038; NSG &#038; UDR</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Puppet On Azure &#124; Βήμα 5, FOREMAN</title>
		<link>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-%ce%b2%ce%ae%ce%bc%ce%b1-5-foreman/</link>
					<comments>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-%ce%b2%ce%ae%ce%bc%ce%b1-5-foreman/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Mon, 19 Oct 2015 15:39:31 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Ελληνικά]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[virtual network]]></category>
		<guid isPermaLink="false">http://www.e-apostolidis.gr/?p=760</guid>

					<description><![CDATA[<p>Puppet On Azure Εγκατάσταση &#38; Παραμετροποίηση του FOREMAN για να έχουμε γραφικό περιβάλλον μέσω WEB Το Open Puppet δεν έχει</p>
<p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-%ce%b2%ce%ae%ce%bc%ce%b1-5-foreman/">Puppet On Azure | Βήμα 5, FOREMAN</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">Puppet On Azure</h1>
<h2 style="text-align: justify;">Εγκατάσταση &amp; Παραμετροποίηση του FOREMAN για να έχουμε γραφικό περιβάλλον μέσω WEB</h2>
<p style="text-align: justify;">Το Open Puppet δεν έχει γραφικό περιβάλλον στην βασική του εγκατάσταση. Υπάρχουν μερικά open source προγράμματα τα οποία μπορούν να προτεθούν στο Puppet Master και να μας προσφέρουν γραφικό περιβάλλον. Ένα από τα καλύτερα είναι το Foreman. Με το Foreman μπορούμε να διαχειριστούμε το Puppet πλήρως.</p>
<p style="text-align: justify;">Το Dashboard του Foreman:</p>
<p style="text-align: justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb50.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-608 size-large" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb50.jpg?w=625" alt="mopb50" width="625" height="500" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb50.jpg 871w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb50-300x240.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb50-624x499.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<p>Εγκατάσταση:</p>
<ol>
<li>Συνδεόμαστε στο Puppet Master με SSH, κάνουμε login και τρέχουμε την εντολή “sudo su -“ για να γυρίσουμε σε root<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb51.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-609" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb51.jpg" alt="mopb51" width="251" height="19" /></a></li>
<li>Ενεργοποιούμε τα repositories για το Foreman<br />
echo &#8220;deb http://deb.theforeman.org/ trusty 1.9&#8221; &gt; /etc/apt/sources.list.d/foreman.list echo &#8220;deb http://deb.theforeman.org/ plugins 1.9&#8221; &gt;&gt; /etc/apt/sources.list.d/foreman.list wget -q http://deb.theforeman.org/pubkey.gpg -O- | apt-key add –</li>
<li>Τρέχουμε την εγκατάσταση με foreman-installer<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb52.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-610" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb52.jpg?w=300" alt="mopb52" width="300" height="21" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb52.jpg 337w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb52-300x21.jpg 300w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></li>
<li>Μόλις τελειώσει η εγκατάσταση μας ενημερώνει για το link του Web interface και τα credentials.<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb53.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-621 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb53.jpg?w=300" alt="mopb53" width="300" height="167" /></a></li>
<li>Μπορούμε να ανοίξουμε την πόρτα 443 από το Endpoint του Azure ώστε να έχουμε την κονσόλα και απ’ έξω.<br />
Από το Azure Management Portal διαλέγουμε το VM του Master Puppet και πηγαίνουμε στα Endpoints<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb54.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-612" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb54.jpg?w=300" alt="mopb54" width="300" height="205" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb54.jpg 911w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb54-300x205.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb54-624x427.jpg 624w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Στη συνέχεια πατάμε ADD και διαλέγουμε &#8220;Add a stand-alone endpoint&#8221;</p>
<p><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb552.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-782" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb552-300x271.jpg" alt="mopb55" width="300" height="271" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb552-300x271.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb552-624x563.jpg 624w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mopb552.jpg 698w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Στο πεδίο Name διαλέγουμε από το Drop down menu το HTTPS</p>
<p>p<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb56.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-614" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb56.jpg?w=300" alt="mopb56" width="300" height="255" /></a>Βλέπουμε στα Endpoints έχει προστεθεί το HTTPS</p>
<p><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb57.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-615" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb57.jpg?w=300" alt="mopb57" width="300" height="88" /></a></p>
<p>και πλέον μπορούμε να κάνουμε browse στο link του Cloud Service</li>
<li>Ανοίγουμε τον browser και κάνουμε login στο Foreman από την public διεύθυνση, στα certificate prompts πατάμε και στα δύο cancel.<br />
<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-616" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb58.jpg?w=300" alt="mopb58" width="300" height="225" /></li>
<li>Μπαίνουμε στο Dashboard<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb59.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-617" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb59.jpg?w=300" alt="mopb59" width="300" height="240" /></a></li>
<li>Πάμε στο Hosts και πατάμε All Hosts για να δούμε το Status των Agents<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb60.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-618" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb60.jpg?w=300" alt="mopb60" width="300" height="117" /></a></li>
<li>Πατώντας στο όνομα ενός host μπορούμε να δούμε περισσότερα στοιχεία<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb61.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-619" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb61.jpg?w=300" alt="mopb61" width="300" height="231" /></a></li>
<li>Statistics<br />
<a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb62.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-620" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb62.jpg?w=290" alt="mopb62" width="290" height="300" /></a></li>
</ol>
<p>&nbsp;</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:p&#114;&#111;x&#105;magr&#064;&#104;otmai&#108;&#046;&#099;om" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-%25ce%25b2%25ce%25ae%25ce%25bc%25ce%25b1-5-foreman%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%205%2C%20FOREMAN" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-%25ce%25b2%25ce%25ae%25ce%25bc%25ce%25b1-5-foreman%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%205%2C%20FOREMAN" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-%25ce%25b2%25ce%25ae%25ce%25bc%25ce%25b1-5-foreman%2F&#038;title=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%205%2C%20FOREMAN" data-a2a-url="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-%ce%b2%ce%ae%ce%bc%ce%b1-5-foreman/" data-a2a-title="Puppet On Azure | Βήμα 5, FOREMAN"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-%ce%b2%ce%ae%ce%bc%ce%b1-5-foreman/">Puppet On Azure | Βήμα 5, FOREMAN</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-%ce%b2%ce%ae%ce%bc%ce%b1-5-foreman/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Puppet On Azure &#124; Βήμα 3, Προσθήκη Windows Agent</title>
		<link>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step3-add-windows-agent/</link>
					<comments>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step3-add-windows-agent/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Sun, 18 Oct 2015 11:00:52 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Ελληνικά]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[puppet]]></category>
		<guid isPermaLink="false">https://proximagr.wordpress.com/?p=566</guid>

					<description><![CDATA[<p>Puppet On Azure Προσθήκη Windows Agent Βήμα 1 Δημιουργία Windows VM Δημιουργούμε ένα Virtual Machine, από το Azure Management Portal</p>
<p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step3-add-windows-agent/">Puppet On Azure | Βήμα 3, Προσθήκη Windows Agent</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align:justify;">Puppet On Azure</h1>
<h2 style="text-align:justify;">Προσθήκη Windows Agent</h2>
<h2 style="text-align:justify;">Βήμα 1 Δημιουργία Windows VM</h2>
<p style="text-align:justify;">Δημιουργούμε ένα Virtual Machine, από το Azure Management Portal πάμε στα Virtual Machines, πατάμε New και πατάμε «From Gallery”</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop04.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-461" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop04.jpg?w=625" alt="mop04" width="625" height="151" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop04.jpg 732w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop04-300x73.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop04-624x151.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<p style="text-align:justify;">Διαλέγουμε Windows Server 2012 R2 Datacenter</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb18.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-568" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb18.jpg" alt="mopb18" width="571" height="207" /></a></p>
<p style="text-align:justify;">Δίνουμε όνομα, για το Lab: “puppetslave03”, size ένα A0, username &amp; password</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb19.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-569" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb19.jpg?w=239" alt="mopb19" width="239" height="300" /></a></p>
<p style="text-align:justify;">Στην επόμενη οθόνη επιλέγουμε το ίδιο Cloud Service, Virtual Network &amp; Storage Account, τέλος αλλάζουμε τις public Ports του RDP &amp; PowerShell (για ασφάλεια) και πατάμε το βελάκι δεξιά</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb20.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-570" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb20.jpg?w=300" alt="mopb20" width="300" height="295" /></a></p>
<p style="text-align:justify;">Στην επόμενη οθόνη αφήνουμε μόνο το “Install VM Agent” και πατάμε το check για να δημιουργήσουμε το VM.</p>
<h2 style="text-align:justify;">Βήμα 2 Private IP</h2>
<p style="text-align:justify;">Αφού δημιουργηθεί το VM δίνουμε Private IP από νέο Azure Portal<br />
Πηγαίνουμε στο “Virtual Machines (classic)” και επιλέγουμε το VM</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop08.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-467 size-large" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop08.jpg?w=625" alt="mop08" width="625" height="113" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop08.jpg 850w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop08-300x54.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop08-624x113.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<p style="text-align:justify;">Στην καρτέλα Settings πατάμε IP Addresses</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop09.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-468" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop09.jpg?w=167" alt="mop09" width="167" height="300" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop09.jpg 281w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop09-167x300.jpg 167w" sizes="auto, (max-width: 167px) 100vw, 167px" /></a></p>
<p style="text-align:justify;">αλλάζουμε το IP address assignment κάτω από το Private IP address σε Static, δίνουμε την στατική IP που θέλουμε και πατάμε save</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop10.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-469" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop10.jpg?w=209" alt="mop10" width="209" height="300" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop10.jpg 384w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop10-209x300.jpg 209w" sizes="auto, (max-width: 209px) 100vw, 209px" /></a></p>
<h2 style="text-align:justify;">Βήμα 3 Puppet Agent</h2>
<p style="text-align:justify;">Ανοίγουμε το Remote Desktop Connection και για Computer βάζουμε το Public Address του VM και την πόρτα που ορίσαμε. Στην συγκεκριμένη περίπτωση “openpuppetlab.cloudapp.net:33389”</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb21.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-571" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb21.jpg?w=300" alt="mopb21" width="300" height="178" /></a></p>
<p style="text-align:justify;">Δίνουμε το username &amp; το Password που ορίσαμε κατά την δημιουργία του VM και συνδεόμαστε</p>
<h4 style="text-align:justify;">Firewall</h4>
<p style="text-align:justify;">Ο Puppet Agent επικοινωνεί στην πόρτα 8140 οπότε πρέπει πρώτα να την ανοίξουμε στο Windows Firewall. Από το Server Manager πάμε στο Local Server και πατάμε στο Windows Firewall για να ανοίξει η καρτέλα του Windows Firewall. Εκεί πατάμε “Advanced settings”</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb22.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-572" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb22.jpg" alt="mopb22" width="234" height="205" /></a></p>
<p style="text-align:justify;">Στην καρτέλα του Windows Firewall with Advanced Security πατάμε New Rule και ανοίγει ο New Inbound Rule Wizard</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb23.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-573 size-large" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb23.jpg?w=625" alt="mopb23" width="625" height="73" /></a></p>
<p style="text-align:justify;">Στην πρώτη καρτέλα διαλέγουμε το Port και πατάμε Next</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb24.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-574" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb24.jpg?w=300" alt="mopb24" width="300" height="238" /></a></p>
<p style="text-align:justify;">Στην επόμενη καρτέλα διαλέγουμε το Specific local ports και βάζουμε την 8140 και πατάμε Next</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb25.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-575" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb25.jpg?w=300" alt="mopb25" width="300" height="262" /></a></p>
<p style="text-align:justify;">Στην επόμενη καρτέλα αφήνουμε το Allow the connection και πατάμε Next</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb26.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-576" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb26.jpg?w=300" alt="mopb26" width="300" height="141" /></a></p>
<p style="text-align:justify;">Στην επόμενη καρτέλα αφήνουμε τα apply rules όπως είναι και πατάμε Next</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb27.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-577" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb27.jpg?w=300" alt="mopb27" width="300" height="126" /></a></p>
<p style="text-align:justify;">Και τέλος δίνουμε ένα όνομα, π.χ. Puppet Agent, και πατάμε Finish για να δημιουργηθεί ο κανόνας.</p>
<h4 style="text-align:justify;">Host File</h4>
<p style="text-align:justify;">Ο Agent πρέπει να επικοινωνεί με τον Master στο FQDN που ορίσαμε στον Master. Οπότε εφόσον δεν έχουμε DNS πρέπει να παραμετροποιήσουμε το host file του Windows Server.<br />
Ανοίγουμε ένα Notepad με Administrator Rights</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb28.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-578" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb28.jpg?w=287" alt="mopb28" width="287" height="300" /></a></p>
<p style="text-align:justify;">Πάμε στο file/open και ανοίγουμε το αρχείο “ C:WindowsSystem32driversetchosts”<br />
Προσθέτουμε στο τέλος το entry με τα στοιχεία του Master<br />
10.0.0.4 puppetmaster.puppet.lab</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb29.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-579" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb29.jpg?w=300" alt="mopb29" width="300" height="59" /></a></p>
<p style="text-align:justify;">Και κάνουμε save και κλείνουμε το Notepad</p>
<p style="text-align:justify;">Ανοίγουμε ένα Command Prompt και κάνουμε ένα ping στο FQDN του Master για να δούμε ότι απαντάει</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb30.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-580" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb30.jpg?w=300" alt="mopb30" width="300" height="56" /></a></p>
<h4 style="text-align:justify;">Hostname</h4>
<p style="text-align:justify;">Πρέπει το certificate που θα εκδοθεί να είναι της μορφής puppetmaster.puppet.lab οπότε πρέπει να πούμε στον server να έχει αυτό το FQDN. Εφόσον ο Server δεν είναι σε Domain πρέπει να δώσουμε το DNS suffix χειροκίνητα.</p>
<p style="text-align:justify;">Ανοίγουμε τα properties της κάρτας δικτύου και πατάμε Properties</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb31.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-581" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb31.jpg?w=243" alt="mopb31" width="243" height="300" /></a></p>
<p style="text-align:justify;">Επιλέγουμε το IPv4 και πατάμε Properties</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb32.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-582" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb32.jpg?w=300" alt="mopb32" width="300" height="195" /></a></p>
<p style="text-align:justify;">Πατάμε Advanced</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb33.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-583" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb33.jpg?w=268" alt="mopb33" width="268" height="300" /></a></p>
<p style="text-align:justify;">Και στο πεδίο DNS Suffix δίνουμε το puppet.lab</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb34.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-584" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb34.jpg?w=260" alt="mopb34" width="260" height="300" /></a></p>
<p style="text-align:justify;">Πατάμε ΟΚ σε όλες τις καρτέλες μέχρι να κλείσουν. Σε αυτό το σημείο θα χάσουμε το RDP για 2-3 λεπτά. Μετά μπορούμε να ξανασνδεθούμε.</p>
<h4 style="text-align:justify;">Εγκατάσταση Puppet Agent</h4>
<p style="text-align:justify;">Για να μας αφήσει ο Server να κατεβάσουμε τον agent πρέπει πρώτα να κλείσουμε το IE Enhanced Security Configuration. Από το Server Manager πάμε στο Local Server και πατάμε στο IE Enhanced Security Configuration και το κάνουμε Off μόνο για τους Administrators.</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb35.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-585" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb35.jpg?w=300" alt="mopb35" width="300" height="73" /></a> <a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb36.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-586" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb36.jpg?w=300" alt="mopb36" width="300" height="268" /></a></p>
<p style="text-align:justify;">Ανοίγουμε Internet Explorer και πάμε στη διεύθυνση https://downloads.puppetlabs.com/windows και κατεβάσουμε το “puppet-3.8.3-x64.msi”. Σε περίπτωση 32bit λειτουργικού κατεβάζουμε το “ puppet-3.8.3.msi”<br />
Αφού κατέβει τρέχουμε το msi, ανοίγει ο Wizard και πατάμε Next</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb37.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-587" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb37.jpg?w=300" alt="mopb37" width="300" height="226" /></a></p>
<p style="text-align:justify;">Αποδεχόμαστε το agreement και πατάμε Next</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb38.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-588" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb38.jpg?w=300" alt="mopb38" width="300" height="237" /></a></p>
<p style="text-align:justify;">Στην επόμενη καρτέλα διαλέγουμε το path όπου θα εγκατασταθεί το Puppet Agent και δίνουμε το FQDN του Puppet Master</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb39.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-589" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb39.jpg?w=300" alt="mopb39" width="300" height="237" /></a></p>
<p style="text-align:justify;">Στην επόμενη καρτέλα πατάμε install για να ξεκινήσει η εγκατάσταση</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb40.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-590" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb40.jpg?w=300" alt="mopb40" width="300" height="234" /></a></p>
<p style="text-align:justify;">Αφού τελείωσε η εγκατάσταση πατάμε Finish</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb41.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-591" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb41.jpg?w=300" alt="mopb41" width="300" height="232" /></a></p>
<p style="text-align:justify;">Ανοίγουμε τα Services και ελέγχουμε ότι το Puppet Agent service είναι Running και Automatic</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb42.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-592 size-large" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb42.jpg?w=625" alt="mopb42" width="625" height="128" /></a></p>
<p style="text-align:justify;">Τώρα πηγαίνουμε στον Puppet Master για να δούμε αν ο Agent έχει κάνει certificate request ώστε να το κάνουμε sign. Τρέχουμε στον Puppet Master το command “puppet cert list”<br />
Ελέγχουμε να μας έχει φέρει certificate με όνομα “puppetslave03.puppet.lab”</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb43.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-593 size-full" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb43.jpg" alt="mopb43" width="643" height="48" /></a></p>
<p style="text-align:justify;">Και κάνουμε sign με puppet cert sign puppetslave03.puppet.lab</p>
<p style="text-align:justify;">Τέλος πηγαίνουμε στον Windows Server και κάνουμε restart το Puppet Agent service</p>
<p style="text-align:justify;">Για να δούμε ότι ο Agent μιλάει και δέχεται εντολές από τον Master ανοίγουμε το “Start Command Prompt with Puppet”</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb44.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-594" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb44.jpg" alt="mopb44" width="290" height="54" /></a></p>
<p style="text-align:justify;">Και τρέχουμε την εντολή “puppet agent –test”</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb45.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-595 size-full" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb45.jpg" alt="mopb45" width="521" height="55" /></a></p>
<p style="text-align:justify;">Εφόσον φέρει σε πράσινο τα Cashing certificate είναι ΟΚ</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:p&#114;oximag&#114;&#064;&#104;o&#116;&#109;&#097;&#105;&#108;&#046;&#099;&#111;&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step3-add-windows-agent%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%203%2C%20%CE%A0%CF%81%CE%BF%CF%83%CE%B8%CE%AE%CE%BA%CE%B7%20Windows%20Agent" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step3-add-windows-agent%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%203%2C%20%CE%A0%CF%81%CE%BF%CF%83%CE%B8%CE%AE%CE%BA%CE%B7%20Windows%20Agent" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step3-add-windows-agent%2F&#038;title=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%203%2C%20%CE%A0%CF%81%CE%BF%CF%83%CE%B8%CE%AE%CE%BA%CE%B7%20Windows%20Agent" data-a2a-url="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step3-add-windows-agent/" data-a2a-title="Puppet On Azure | Βήμα 3, Προσθήκη Windows Agent"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step3-add-windows-agent/">Puppet On Azure | Βήμα 3, Προσθήκη Windows Agent</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step3-add-windows-agent/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Puppet On Azure &#124; Βήμα 2, Εγκατάσταση Open Source Puppet</title>
		<link>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step2-open-source-puppet-setup/</link>
					<comments>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step2-open-source-puppet-setup/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Sat, 17 Oct 2015 11:00:46 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Ελληνικά]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[puppet]]></category>
		<guid isPermaLink="false">https://proximagr.wordpress.com/?p=538</guid>

					<description><![CDATA[<p>Puppet On Azure Εγκατάσταση Open Source Puppet Βήμα 1 Σύνδεση στο Ubuntu ανοίγουμε έναν SSH client, στην προκειμένη περίπτωση PuTTY</p>
<p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step2-open-source-puppet-setup/">Puppet On Azure | Βήμα 2, Εγκατάσταση Open Source Puppet</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align:justify;">Puppet On Azure</h1>
<h2 style="text-align:justify;">Εγκατάσταση Open Source Puppet</h2>
<h3 style="text-align:justify;">Βήμα 1 Σύνδεση στο Ubuntu</h3>
<p style="text-align:justify;">ανοίγουμε έναν SSH client, στην προκειμένη περίπτωση PuTTY και δίνουμε για Host Name το Public όνομα του Cloud Service, στην προκειμένη περίπτωση openpuppetlab.cloudapp.net, δίνουμε την πόρτα 30021 που έχουμε ορίσει για το puppetmaster και πατάμε Open</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb1.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-539" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb1.jpg" alt="mopb1" width="286" height="386" /></a></p>
<p style="text-align:justify;">Κάνουμε login με το username &amp; password που ορίσαμε στην δημιουργία του VΜ. Για να μην βάζουμε “sudo” σε κάθε εντολή, τρέχουμε “sudo su –“ και ενεργοποιούμε το root mode μέχρι να κάνουμε “exit”</p>
<h3 style="text-align:justify;">Βήμα 2 Προαπαιτούμενα</h3>
<h4 style="text-align:justify;">Στατική IP</h4>
<p style="text-align:justify;">Το Puppet χρειάζεται στατική IP &amp; σταθερό hostname. Τη στατική IP την έχουμε ήδη ορίσει στο Azure, οπότε τρέχουμε ένα “ifconfig” για να δούμε ότι όντος το Ubuntu έχει αυτήν την IP</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb2.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-541" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb2.jpg" alt="mopb2" width="543" height="63" /></a></p>
<h4 style="text-align:justify;">Hostname</h4>
<p style="text-align:justify;">Μετά ανοίγουμε το hosts file για να δώσουμε hostnames. Για τις ανάγκες του Lab θα χρησιμοποιήσω για domain name το puppet.lab. Η ίδια διαδικασία πρέπει να γίνει στο Master &amp; στα Slaves με τις ίδιες εγγραφές.</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb3.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-542" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb3.jpg" alt="mopb3" width="500" height="107" /></a></p>
<p style="text-align:justify;">Αφού τελειώσουμε με τις εγγραφές πατάμε Ctrl-X, απαντάμε Y για να σώσει τις αλλαγές και Enter για έξοδο.</p>
<h4 style="text-align:justify;">Time Sync</h4>
<p style="text-align:justify;">Το Puppet Master &amp; τα Slaves πρέπει να έχουν συγχρονισμένη ώρα. Για να γίνει αυτό τρέχουμε την παρακάτω εντολή σε όλα τα μηχανήματα.<br />
<code>ntpdate pool.ntp.org ; apt-get update &amp;&amp; sudo apt-get -y install ntp ; service ntp restart</code></p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb4.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-544 size-full" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb4.jpg" alt="mopb4" width="640" height="64" /></a></p>
<h4 style="text-align:justify;">Βήμα 3 Εγκατάσταση Puppet Master</h4>
<p style="text-align:justify;">Ενεργοποιούμε το Puppet Laps repository και κάνουμε την εγκατάσταση με τις παρακάτω εντολές</p>
<p style="text-align:justify;"><code>wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb<br />
dpkg -i puppetlabs-release-trusty.deb<br />
apt-get update<br />
apt-get install puppetmaster</code></p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb5.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-547 size-full" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb5.jpg" alt="mopb5" width="526" height="102" /></a></p>
<p style="text-align:justify;">Τέλος τρέχουμε “puppet –V” για να σιγουρευτούμε ότι το Puppet τρέχει και τι version έχει εγκατασταθεί</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb6.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-548 size-full" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb6.jpg" alt="mopb6" width="247" height="31" /></a></p>
<p style="text-align:justify;">Είναι καλό σε αυτό το σημείο να κλειδώσουμε το Puppet Auto Update γιατί σε περίπτωση automatic update θα χαλάσει το configuration. Για να γίνει αυτό δημιουργούμε ένα αρχείο μέσα στο apt/preferences.d με όνομα 00-puppet.pref και βάζουμε τα παρακάτω δεδομένα:<br />
Δημιουργία αρχείου:<br />
# /etc/apt/preferences.d/00-puppet.pref<br />
nano /etc/apt/preferences.d/00-puppet.pref<br />
Δεδομένα:<br />
Package: puppet puppet-common puppetmaster-passenger<br />
Pin: version 3.8*<br />
Pin-Priority: 501<br />
Αφού τελειώσουμε με τις εγγραφές πατάμε Ctrl-X, απαντάμε Y για να σώσει τις αλλαγές και Enter για έξοδο.<br />
Ανοίγουμε με nano το αρχείο /etc/puppet/puppet.conf<br />
nano /etc/puppet/puppet.conf<br />
Και βάζουμε comment στο templatedir</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb7.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-549 size-full" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb7.jpg" alt="mopb7" width="509" height="251" /></a></p>
<p style="text-align:justify;">Αν δεν το κάνουμε αυτό θα πάρουμε αργότερα μήνυμα ότι το templatedir is deprecated</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb8.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-550" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb8.jpg" alt="mopb8" width="645" height="67" /></a></p>
<p style="text-align:justify;">Κάνουμε restart το pupetmaster service και είναι έτοιμο</p>
<p style="text-align:justify;"><code>service puppetmaster restart</code></p>
<h4 style="text-align:justify;">Βήμα 4 Εγκατάσταση Puppet Slave</h4>
<p style="text-align:justify;">ανοίγουμε έναν SSH client, στην προκειμένη περίπτωση PuTTY και δίνουμε για Host Name το Public όνομα του Cloud Service, στην προκειμένη περίπτωση openpuppetlab.cloudapp.net, δίνουμε την πόρτα 30022 που έχουμε ορίσει για το puppetslave01 και πατάμε Open</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb9.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-553" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb9.jpg" alt="mopb9" width="282" height="355" /></a></p>
<p style="text-align:justify;">Κάνουμε login με το username &amp; password που ορίσαμε στην δημιουργία του VΜ<br />
Τρέχουμε τα προαπαιτούμενα από το Βήμα2<br />
Ενεργοποιούμε το Puppet Laps repository και κάνουμε την εγκατάσταση με τις παρακάτω εντολές<br />
cd /tmp<br />
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb<br />
dpkg -i puppetlabs-release-trusty.deb<br />
apt-get update<br />
apt-get install puppet<br />
Τέλος τρέχουμε “puppet –V” για να σιγουρευτούμε ότι το Puppet τρέχει και τι version έχει εγκατασταθεί και ότι είναι ίδια με το version του Puppet Master</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb10.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-554" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb10.jpg" alt="mopb10" width="260" height="34" /></a></p>
<p style="text-align:justify;">κλειδώνουμε το Puppet Auto Update γιατί σε περίπτωση automatic update θα χαλάσει το configuration. Για να γίνει αυτό δημιουργούμε ένα αρχείο μέσα στο apt/preferences.d με όνομα 00-puppet.pref και βάζουμε τα παρακάτω δεδομένα:<br />
Δημιουργία αρχείου:<br />
nano /etc/apt/preferences.d/00-puppet.pref<br />
Δεδομένα:<br />
Package: puppet puppet-common puppetmaster-passenger<br />
Pin: version 3.8*<br />
Pin-Priority: 501</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb11.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-555" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb11.jpg" alt="mopb11" width="527" height="134" /></a></p>
<p style="text-align:justify;">Αφού τελειώσουμε με τις εγγραφές πατάμε Ctrl-X, απαντάμε Y για να σώσει τις αλλαγές και Enter για έξοδο<br />
Το επόμενο βήμα για τους Slaves είναι να αλλάξουμε το configuration<br />
Ανοίγουμε με nano το αρχείο /etc/puppet/puppet.conf<br />
nano /etc/puppet/puppet.conf<br />
Και αλλάζουμε ως εξής:<br />
Βάζουμε comment στο templatedir &amp; σε όλο το [master] section και δημιουργούμε ένα [agent] section όπου ορίζουμε τον Puppet Master server</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb12.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-556" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb12.jpg" alt="mopb12" width="541" height="337" /></a></p>
<p style="text-align:justify;">Τέλος ενεργοποιούμε το Puppet Agent να ξεκινάει σαν service<br />
nano /etc/default/puppet<br />
και αλλάζουμε το START=no σε yes</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb13.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-557" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb13.jpg" alt="mopb13" width="542" height="169" /></a></p>
<p style="text-align:justify;">Και ξεκινάμε το service με<br />
service puppet start</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb14.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-558" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb14.jpg" alt="mopb14" width="406" height="35" /></a></p>
<h4 style="text-align:justify;">Βήμα 5 Certificates</h4>
<p style="text-align:justify;">Σε αυτό το βήμα ήδη οι agents έχουν αρχίσει να ψάχνουν τον Puppet Master και του ζητάνε certificate exchange για να ξεκινήσουν να δέχονται οδηγίες. Οπότε το επόμενο βήμα είναι να κάνουμε sign τα certificates που έχουν έρθει από τους agents.<br />
Τρέχουμε στον Puppet Master το command “puppet cert list” για να δούμε τα certificates που έχουν έρθει για να γίνουν sign.</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb15.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-560" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb15.jpg?w=625" alt="mopb15" width="625" height="80" /></a></p>
<p style="text-align:justify;">Βλέπουμε ότι οι δύο Puppet Slaves έχουν εμφανιστεί και ζητάνε για certificate sign. Για να κάνει ο Puppet Master sign τα certificates τρέχουμε:<br />
puppet cert sign puppetslave01.puppet.lab &amp; puppet cert sign puppetslave02.puppet.lab</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb16.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-561" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb16.jpg?w=625" alt="mopb16" width="625" height="121" /></a></p>
<p>Τώρα αν ξανατρέξουμε το “puppet cert list” πρέπει να μην φέρνει κανένα request<br />
Και τρέχοντας το “puppet cert list -all” θα πρέπει να φέρει το certificate του Master και τα 2 certificates των slaves και το + μπροστά από την κάθε εγγραφή υποδεικνύει ότι έχει γίνει sign επιτυχώς και είναι ενεργό.</p>
<p><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb17.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-562" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mopb17.jpg?w=625" alt="mopb17" width="625" height="143" /></a></p>
<p>Εδώ τελειώνει η βασική εγκατάσταση &amp; παραμετροποίηση Puppet Master &amp; 2 Slaves</p>
<p>&nbsp;</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:p&#114;&#111;&#120;i&#109;&#097;g&#114;&#064;&#104;otm&#097;il.&#099;om" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step2-open-source-puppet-setup%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%202%2C%20%CE%95%CE%B3%CE%BA%CE%B1%CF%84%CE%AC%CF%83%CF%84%CE%B1%CF%83%CE%B7%20Open%20Source%20Puppet" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step2-open-source-puppet-setup%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%202%2C%20%CE%95%CE%B3%CE%BA%CE%B1%CF%84%CE%AC%CF%83%CF%84%CE%B1%CF%83%CE%B7%20Open%20Source%20Puppet" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step2-open-source-puppet-setup%2F&#038;title=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%202%2C%20%CE%95%CE%B3%CE%BA%CE%B1%CF%84%CE%AC%CF%83%CF%84%CE%B1%CF%83%CE%B7%20Open%20Source%20Puppet" data-a2a-url="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step2-open-source-puppet-setup/" data-a2a-title="Puppet On Azure | Βήμα 2, Εγκατάσταση Open Source Puppet"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step2-open-source-puppet-setup/">Puppet On Azure | Βήμα 2, Εγκατάσταση Open Source Puppet</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step2-open-source-puppet-setup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Puppet On Azure &#124; Βήμα 1, Προετοιμασία Azure</title>
		<link>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step1-azure-preparation/</link>
					<comments>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step1-azure-preparation/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Fri, 16 Oct 2015 16:18:19 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Ελληνικά]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[virtual network]]></category>
		<guid isPermaLink="false">https://proximagr.wordpress.com/?p=533</guid>

					<description><![CDATA[<p>Puppet On Azure Επειδή η τεχνολογία είναι ένα ποτάμι που ποτέ δεν σταματάει… και το μικρόβιο μας δεν έχει θεραπεία,</p>
<p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step1-azure-preparation/">Puppet On Azure | Βήμα 1, Προετοιμασία Azure</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align:justify;">Puppet On Azure</h1>
<p style="text-align:justify;">Επειδή η τεχνολογία είναι ένα ποτάμι που ποτέ δεν σταματάει… και το μικρόβιο μας δεν έχει θεραπεία, ο Παντελής Αποστολίδης (IT Pro) από την Office Line και ο Μάνος Πέπης (DEV) από την Innovative Ideas με αρκετά χρόνια εμπειρίας στην αγορά και αρκετές πιστοποιήσεις σε τεχνολογίες Microsoft, Cisco, Azure, κλπ. σκεφτήκαμε να μοιραστούμε ένα οδηγό για DevOps στο Azure! Παρουσιάζοντας το Puppet, το πώς στήνετε στο Azure καθώς και μερικές από τις δυνατότητές του.<br />
Έτσι το Lab μας στο Azure έτρεχε με 1000 και το αποτέλεσμα παρακάτω…</p>
<h1 style="text-align:justify;">Τι είναι το Puppet και πως μπορούμε να το εκμεταλλευτούμε στο Azure</h1>
<p style="text-align:justify;"><strong>Αυτοματοποιούμε τις διαδικασίες. Κινούμαστε γρήγορα. Αυξάνουμε της αξιοπιστίας και την ασφάλεια.</strong><br />
Ο όγκος και η πολυπλοκότητα των υποδομών σε μια δομημένη μηχανογραφημένη εταιρεία ολοένα και αυξάνετε και γίνεται ποιο “smart”. Οι απαιτήσεις για ταχύτητα, αξιοπιστία, σταθερότητα, ασφάλεια ολοένα και αυξάνονται.<br />
Πώς μπορούμε να επιτύχουμε αυτή την ισορροπία; Σκοπός μας είναι να κάνουμε περισσότερα σε λιγότερο χρόνο! Και αυτό μπορούμε να το επιτύχουμε με DevOps…<br />
Η Υποδομή του Microsoft Azure προσφέρει ότι ακριβώς χρειαζόμαστε για να χτίσουμε όσα απαιτεί η επιχείρησή μας. Παρακάτω θα δούμε πως μπορούμε να ελέγχουμε και να κάνουμε Manage την υποδομή μας στο Azure με την χρήση του Puppet.<br />
To Puppet είναι μια Cross Platform ανοιχτού κώδικα (Open Source) που υποστηρίζει λειτουργικά Linux (CentOS, Debian, Fedora, Mandriva, Oracle Linux, RHEL, Scientific Linux, SUSE and Ubuntu), όπως επίσης multiple Unix systems (Solaris, BSD, Mac OS X, AIX, HP-UX), Mac OS X, καθώς και τα λειτουργικά της Microsoft.<br />
To<strong> Puppet στο Azure Lab</strong> μας αποτελείται από τα παρακάτω:<br />
<strong>1)  Puppet Master</strong> – Ο κεντρικός server όπου διαχειρίζεται τα Puppet nodes (agents)<br />
<strong>2) Puppet Agent</strong> &#8211; o client που τρέχει στα managed Puppet nodes και επικοινωνεί – συγχρονίζει με τον Puppet master<br />
<strong>3) Foreman</strong> &#8211; ένα web περιβάλουν που απεικονίζει τα reports και ελέγχει τα resources της υποδομής μας</p>
<h2 style="text-align:justify;">Προετοιμασία Azure</h2>
<h3 style="text-align:justify;">Βήμα 1 Azure network</h3>
<p style="text-align:justify;">Δημιουργούμε ένα Virtual Network. Αυτό μας δίνει τρία πλεονεκτήματα, ένα είναι το isolation, δεύτερον είναι οι Local στατικές IP και τρίτον είναι η δυνατότητα για Site-2-Site &amp; Point-2-Site VPN.<br />
Για να δημιουργήσουμε ένα Virtual network, από το Azure Management Portal πατάμε New, διαλέγουμε Networking, Virtual Network, δίνουμε όνομα, Location και πατάμε create a virtual network</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop01.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-457 size-large" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop01.jpg?w=625" alt="mop01" width="625" height="190" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop01.jpg 1093w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop01-300x91.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop01-1024x311.jpg 1024w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop01-624x190.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<h3 style="text-align:justify;">Βήμα 2 Azure Cloud service</h3>
<p style="text-align:justify;">Δημιουργούμε ένα Cloud Service, από το Azure Management Portal πατάμε New, διαλέγουμε Compute, Cloud Service και πατάμε Quick Create. Τέλος δίνουμε όνομα στο URL και διαλέγουμε το Region ίδιο με του Virtual Network</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop02.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-458" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop02.jpg?w=625" alt="mop02" width="625" height="185" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop02.jpg 1087w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop02-300x89.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop02-1024x302.jpg 1024w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop02-624x184.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<h3 style="text-align:justify;">Βήμα 3 Azure Storage account</h3>
<p style="text-align:justify;">Δημιουργούμε ένα Storage account, από το Azure Management portal πατάμε New, Storage και πατάμε Quick Create. Δίνουμε όνομα, στην συγκεκριμένη περίπτωση openpuppetlab, διαλέγουμε το location που είναι και το Virtual Network, τέλος διαλέγουμε redundancy και πατάμε Create Storage Account</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop03.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-460" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop03.jpg?w=625" alt="mop03" width="625" height="168" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop03.jpg 1097w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop03-300x80.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop03-1024x274.jpg 1024w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop03-624x167.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<h3 style="text-align:justify;">Βήμα 4 Azure VM | Puppet Master</h3>
<p style="text-align:justify;">Δημιουργούμε ένα Virtual Machine, από το Azure Management Portal πάμε στα Virtual Machines, πατάμε New και πατάμε «From Gallery”</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop04.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-461" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop04.jpg?w=625" alt="mop04" width="625" height="151" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop04.jpg 732w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop04-300x73.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop04-624x151.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<p style="text-align:justify;">Για το Puppet διαλέγουμε το Ubuntu Server 14.04 LTS και πατάμε το βελάκι δεξιά</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop05.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-463 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop05.jpg?w=300" alt="mop05" width="300" height="199" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop05.jpg 897w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop05-300x199.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop05-624x415.jpg 624w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align:justify;">Δίνουμε όνομα, για Size ένας Puppet Muster θέλει τουλάχιστον ένα A2 (2 cores, 3.5 GB memory), δίνουμε username και επιλέγουμε το πεδίο “Provide a password” και δίνουμε password και πατάμε το βελάκι δεξιά</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop06.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-464 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop06.jpg?w=226" alt="mop06" width="226" height="300" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop06.jpg 423w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop06-226x300.jpg 226w" sizes="auto, (max-width: 226px) 100vw, 226px" /></a></p>
<p style="text-align:justify;">Στην επόμενη εικόνα διαλέγουμε το cloud service, το Virtual Network Που δημιουργήσαμε στο Βήμα 1 (στο πεδίο Region/Affinity group/Virtual network) και το storage account που δημιουργήσαμε στα προηγούμενα βήματα. Στο Endpoint αλλάζουμε την Public πόρτα του SSH, για λόγους ασφάλειας, και πατάμε το βελάκι δεξιά</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop07.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-465 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop07.jpg?w=300" alt="mop07" width="300" height="289" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop07.jpg 580w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop07-300x289.jpg 300w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align:justify;">Στην επόμενη εικόνα πατάμε το check για να δημιουργηθεί το VM.</p>
<h3 style="text-align:justify;">Βήμα 5 | Στατική IP</h3>
<p style="text-align:justify;">Για να δώσουμε στατική IP πρέπει να μεταβούμε στο νέο Azure Portal<br />
Πηγαίνουμε στο “Virtual Machines (classic)” και επιλέγουμε το VM</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop08.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-467" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop08.jpg?w=625" alt="mop08" width="625" height="113" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop08.jpg 850w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop08-300x54.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop08-624x113.jpg 624w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a></p>
<p style="text-align:justify;">Στην καρτέλα Settings πατάμε IP Addresses</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop09.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-468 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop09.jpg?w=167" alt="mop09" width="167" height="300" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop09.jpg 281w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop09-167x300.jpg 167w" sizes="auto, (max-width: 167px) 100vw, 167px" /></a></p>
<p style="text-align:justify;">αλλάζουμε το IP address assignment κάτω από το Private IP address σε Static, δίνουμε την στατική IP που θέλουμε και πατάμε save</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop10.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-469 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop10.jpg?w=209" alt="mop10" width="209" height="300" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop10.jpg 384w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop10-209x300.jpg 209w" sizes="auto, (max-width: 209px) 100vw, 209px" /></a></p>
<h3 style="text-align:justify;">Βήμα 5 Azure VM | Puppet Slaves</h3>
<p style="text-align:justify;">Για τις ανάγκες του Lab θα δημιουργήσουμε δύο ακόμα Ubuntu Server 14.04 LTS αλλά θα χρησιμοποιήσουμε μικρότερου μεγέθους Virtual Machine.<br />
Ακολουθούμε την ίδια διαδικασία όπως στο βήμα 4 μόνο που στην οθόνη 2 του “Virtual machine configuration” δίνουμε όνομα “ puppetslave01” και διαλέγουμε ένα A0 (shared core, 768 memory)</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop11.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-470 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop11.jpg?w=224" alt="mop11" width="224" height="300" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop11.jpg 420w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop11-224x300.jpg 224w" sizes="auto, (max-width: 224px) 100vw, 224px" /></a></p>
<p style="text-align:justify;">Στην επόμενη οθόνη, δίνουμε τα ίδια για cloud service, virtual network &amp; storage account, αλλά στο Endpoint πρέπει να δώσουμε διαφορετικό Public Port διότι η εξωτερική IP είναι ίδια. Για το lab δίνουμε την πόρτα 30022</p>
<p style="text-align:justify;"><a href="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop07.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-465 size-medium" src="http://www.e-apostolidis.gr/wp-content/uploads/2015/10/mop07.jpg?w=300" alt="mop07" width="300" height="289" srcset="https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop07.jpg 580w, https://www.cloudcorner.gr/wp-content/uploads/2015/10/mop07-300x289.jpg 300w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p style="text-align:justify;">Κάνουμε την ίδια διαδικασία και για να φτιάξουμε και δεύτερο Puppet Slave, αλλάζοντας μόνο το όνομα και το Public Port. Για το Lab έφτιαξα το puppetslave02 με πόρτα 30023<br />
Αφού δημιουργηθούν τα VMs ακολουθούμε το Βήμα 5 για να δώσουμε στατικές IP, στο Lab έδωσα 10.0.0.5 &amp; 10.0.0.6 αντίστοιχα</p>
<p style="text-align:justify;">
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;&#114;o&#120;i&#109;&#097;&#103;&#114;&#064;&#104;&#111;&#116;&#109;ai&#108;.com" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step1-azure-preparation%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%201%2C%20%CE%A0%CF%81%CE%BF%CE%B5%CF%84%CE%BF%CE%B9%CE%BC%CE%B1%CF%83%CE%AF%CE%B1%20Azure" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step1-azure-preparation%2F&amp;linkname=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%201%2C%20%CE%A0%CF%81%CE%BF%CE%B5%CF%84%CE%BF%CE%B9%CE%BC%CE%B1%CF%83%CE%AF%CE%B1%20Azure" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2F%25ce%25b5%25ce%25bb%25ce%25bb%25ce%25b7%25ce%25bd%25ce%25b9%25ce%25ba%25ce%25ac%2Fpuppet-on-azure-step1-azure-preparation%2F&#038;title=Puppet%20On%20Azure%20%7C%20%CE%92%CE%AE%CE%BC%CE%B1%201%2C%20%CE%A0%CF%81%CE%BF%CE%B5%CF%84%CE%BF%CE%B9%CE%BC%CE%B1%CF%83%CE%AF%CE%B1%20Azure" data-a2a-url="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step1-azure-preparation/" data-a2a-title="Puppet On Azure | Βήμα 1, Προετοιμασία Azure"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step1-azure-preparation/">Puppet On Azure | Βήμα 1, Προετοιμασία Azure</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/puppet-on-azure-step1-azure-preparation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
