Home
%3CLINGO-SUB%20id%3D%22lingo-sub-513042%22%20slang%3D%22en-US%22%3EDeploy%20Micro%20Focus%20Enterprise%20Server%204.0%20to%20AKS%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-513042%22%20slang%3D%22en-US%22%3E%3CP%3EIn%20a%20previous%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2FAzureCAT%2FRunning-Micro-Focus-Enterprise-Server-4-0-in-a-Docker-Container%2Fba-p%2F358622%22%20target%3D%22_blank%22%20rel%3D%22noopener%22%3Eblog%20post%3C%2FA%3E%20I%20outlined%20the%20steps%20to%20run%20Micro%20Focus%20Enterprise%20Server%204.0%20in%20a%20Docker%20Container.%26nbsp%3B%20As%20a%20follow%20up%20to%20that%2C%20I%E2%80%99d%20like%20to%20show%20you%20how%20to%20take%20it%20one%20step%20further%20and%20deploy%20that%20Docker%20image%20you%20created%20to%20Azure%20Kubernetes%20Service%20(AKS).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAzure%20Kubernetes%20service%20is%20a%20managed%20orchestration%20service%20based%20on%20Kubernetes.%20It%20allows%20you%20to%20deploy%2C%20scale%20and%20managed%20Docker%20Containers%20(and%20other%20container-based%20applications)%20across%20a%20cluster%20of%20container%20host.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20will%20be%20a%203-step%20process.%20You%20will%20need%20to%3A%3C%2FP%3E%3COL%3E%3CLI%3ECreate%20an%20Azure%20Container%20Registry%20to%20store%20your%20Docker%20image%3C%2FLI%3E%3CLI%3ECreate%20an%20Azure%20Kubernetes%20cluster%20to%20run%20the%20Docker%20image.%3C%2FLI%3E%3CLI%3ERun%20the%20application%3C%2FLI%3E%3C%2FOL%3E%3CP%3EThis%20will%20allow%20you%20to%20scale-out%20(and%20scale-down)%20your%20Mainframe%20Modernization%20workloads%20in%20Azure%20taking%20true%20advantage%20of%20the%20Cloud%20platform.%3C%2FP%3E%3CP%3EReady%2C%20let%E2%80%99s%20get%20started.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3ECreate%20the%20Azure%20Container%20Registry%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EFrom%20the%20Azure%20Portal%2C%20select%20%3CSTRONG%3ECreate%20a%20Resource%3C%2FSTRONG%3E%20in%20the%20top%20left%20corner.%20From%20the%20Marketplace%20Dashboard%2C%20select%20%3CSTRONG%3EContainers%3C%2FSTRONG%3E%20then%20%3CSTRONG%3EContainer%20Registry%3C%2FSTRONG%3E.%20This%20will%20take%20you%20to%20the%20Create%20container%20registry%20pane%20where%20you%20will%20need%20to%20fill%20in%20the%20%3CSTRONG%3ERegistry%20Name%3C%2FSTRONG%3E%2C%20%3CSTRONG%3EAzure%20Subscription%3C%2FSTRONG%3E%2C%20%3CSTRONG%3EResource%20Group%3C%2FSTRONG%3E%20and%20%3CSTRONG%3EAzure%20Region%3C%2FSTRONG%3E.%20The%20Registry%20Name%20needs%20resolve%20so%20it%20should%20be%20unique.%20Select%20the%20Resource%20Group%20you%20used%20from%20the%20previous%20blog%20and%20the%20same%20corresponding%20Region.%20Select%20%3CSTRONG%3EEnable%3C%2FSTRONG%3E%20for%20%3CSTRONG%3EAdmin%20User%3C%2FSTRONG%3E%20and%20%3CSTRONG%3EBasic%3C%2FSTRONG%3E%20for%20the%20%3CSTRONG%3ESKU%3C%2FSTRONG%3E.%20Once%20you%20have%20everything%20filled%20in%20click%20the%20%3CSTRONG%3ECreate%3C%2FSTRONG%3E%20button%20the%20bottom.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20347px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111734iF263ACDE19898FED%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF1.png%22%20title%3D%22AKS-MF1.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAfter%20the%20Registry%20has%20been%20deployed%2C%20click%20the%20%3CSTRONG%3EGo%20to%20Resource%3C%2FSTRONG%3E%20button.%20This%20will%20take%20you%20to%20the%20main%20blade%20for%20the%20Container%20Registry.%20A%20nice%20feature%20here%20is%20the%20%3CSTRONG%3EQuick%20Start%3C%2FSTRONG%3E%20menu%20option.%20Select%20it%20and%20you%20will%20see%20instructions%20for%20what%20needs%20to%20be%20done%20to%20Push%20and%20Pull%20images%20to%20and%20from%20the%20Registry.%20Let%E2%80%99s%20go%20though%20these%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3COL%3E%3CLI%3E%3CSTRONG%3EInstall%20Docker%3C%2FSTRONG%3E%20%E2%80%93%20You%20do%20not%20need%20to%20worry%20about%20this%20since%20it%20has%20already%20been%20done.%3C%2FLI%3E%3CLI%3E%3CSTRONG%3ERun%20the%20%E2%80%9Chello%20%E2%80%93%20world%E2%80%9D%20base%20image%3C%2FSTRONG%3E%20%E2%80%93%20Again%2C%20not%20necessary%2C%20but%20feel%20free%20to%20try%20it%20out.%3C%2FLI%3E%3CLI%3E%3CSTRONG%3ELogin%20to%20your%20container%20registry%3C%2FSTRONG%3E%20%E2%80%93%20this%20you%20will%20need%20to%20do%20from%20the%20VM.%20Copy%20the%20command%20to%20the%20clipboard%20or%20notepad.%3COL%3E%3CLI%3EFor%20the%20registry%20I%20created%2C%20the%20command%20is%3A%20%3CSTRONG%3Edocker%20login%20acrmf40.azurecr.io%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FOL%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3EPush%20to%20your%20registry%3C%2FSTRONG%3E%20%E2%80%93%20You%20will%20need%20to%20do%20this%20as%20well%20for%20the%20Micro%20Focus%20image%20once%20we%20have%20logged%20into%20the%20VM%3C%2FLI%3E%3CLI%3E%3CSTRONG%3EPull%20from%20your%20registry%3C%2FSTRONG%3E%20%E2%80%93%20Not%20relevant%20for%20this%20walk-through%2C%20but%20good%20to%20know%20if%20you%20need%20to%20run%20another%20Docker%20image.%3C%2FLI%3E%3C%2FOL%3E%3CP%3EBefore%20we%20leave%20the%20portal%2C%20we%20need%20to%20get%20the%20credentials%20for%20the%20registry%20so%20we%20can%20log%20in.%20Exit%20out%20of%20the%20Quick%20Start%20blade%20and%20select%20%3CSTRONG%3EAccess%20Keys%20%3C%2FSTRONG%3Efrom%20the%20Registry%20Menu.%20Copy%20the%20%3CSTRONG%3EUsername%3C%2FSTRONG%3E%20and%20one%20of%20the%20%3CSTRONG%3EPasswords%3C%2FSTRONG%3E%20(there%20are%202)%20to%20the%20clipboard%20or%20notepad.%20You%20will%20need%20them%20later%20to%20login.%3C%2FP%3E%3CP%3ENow%20that%20you%20know%20what%20needs%20to%20be%20done%2C%20log%20into%20the%20VM.%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3ERDP%20to%20the%20Virtual%20Machine%20you%20used%20to%20create%20the%20Docker%20image.%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3ESince%20you%20already%20created%20the%20Docker%20image%20on%20a%20Windows%202016%20Server%2C%20we%20need%20to%20log%20into%20that%20VM.%20From%20this%20VM%2C%20we%20will%20push%20the%20image%20to%20the%20Container%20Registry%20we%20just%20created.%20Navigate%20to%20the%20VM%20in%20the%20Azure%20Portal%20then%20select%20%3CSTRONG%3EOverview%3C%2FSTRONG%3E%20and%20then%20%3CSTRONG%3EConnect%3C%2FSTRONG%3E.%20This%20will%20allow%20you%20to%20connect%20to%20the%20VM%20via%20RDP.%20You%20will%20need%20to%20use%20the%20credentials%20from%20when%20you%20created%20the%20VM.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3ELogin%20and%20push%20the%20image%20to%20the%20registry%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EOnce%20you%20have%20logged%20in%2C%20open%20a%20Command%20Prompt%20and%20initiate%20the%20following%20Docker%20commands%3A%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSTRONG%3Edocker%20images%3C%2FSTRONG%3E%20%E2%80%93%20this%20will%20show%20a%20list%20of%20all%20the%20currently%20installed%20images%20on%20the%20VM.%20Take%20note%20of%20the%20%3CSTRONG%3Emicrofocus%2Fes-acctdemo%3C%2FSTRONG%3E%20since%20this%20is%20the%20one%2C%20we%20will%20be%20working%20with.%3C%2FLI%3E%3CLI%3E%3CSTRONG%3Edocker%20login%20acrmf40.azurecr.io%20%3C%2FSTRONG%3E%E2%80%93%20The%20correct%20format%20here%20is%20%3CEM%3Edocker%20login%20%3CREGISTRY%20name%3D%22%22%3E%3C%2FREGISTRY%3E%3C%2FEM%3E.%20Substitute%20whatever%20name%20you%20used%20when%20you%20created%20the%20registry.%3CUL%3E%3CLI%3EYou%20will%20need%20the%20%3CSTRONG%3EUsername%3C%2FSTRONG%3E%20and%20%3CSTRONG%3EPassword%3C%2FSTRONG%3E%20that%20you%20copied%20from%20the%20Azure%20Portal.%20You%20should%20see%20something%20like%20the%20image%20below.%3C%2FLI%3E%3C%2FUL%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20765px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111736iAB7DE605DA75B16B%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF2.png%22%20title%3D%22AKS-MF2.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSTRONG%3Edocker%20tag%20microfocus%2Fes-acctdemo%20acrmf40.azurecr.io%2Fes-acctdemo%3C%2FSTRONG%3E%20%E2%80%93%20This%20will%20tag%20the%20appropriate%20image%20with%20the%20name%20of%20the%20repository.%20%3CSTRONG%3ENOTE%3C%2FSTRONG%3E%3A%20If%20the%20name%20%3CMICROFOCUS%3E%20does%20not%20work%2C%20try%20using%20the%20full%20Image%20ID.%20After%20you%20have%20executed%20the%20command%2C%20type%20%3CSTRONG%3Edocker%20images%20%E2%80%93no-trunc%3C%2FSTRONG%3E.%20You%20should%20see%20something%20like%20the%20image%20below.%20Notice%20our%20image%20has%20been%20properly%20tagged.%3C%2FMICROFOCUS%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111738i2C2D36D9DAF4ADA0%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF3.png%22%20title%3D%22AKS-MF3.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSTRONG%3Edocker%20push%20acrmf40.azurecr.io%2Fes-acctdemo%3C%2FSTRONG%3E%20%E2%80%93%20This%20will%20kick%20off%20the%20actual%20push%20to%20your%20repository.%20Because%20the%20size%20is%2015GB%2C%20it%20will%20take%20a%20couple%20of%20minuets%20to%20run.%20If%20everything%20goes%20right%2C%20you%20should%20see%20something%20like%20the%20image%20below.%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111739iE89F02042F6DA984%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF4.png%22%20title%3D%22AKS-MF4.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENow%20go%20back%20to%20the%20Azure%20Portal%20%2C%20specifically%20to%20the%20Repository.%20In%20the%20menu%20for%20the%20Repository%20select%20%3CSTRONG%3ERepositories%3C%2FSTRONG%3E%20and%20you%20should%20see%20%3CSTRONG%3Ees-acctdemo%3C%2FSTRONG%3E%20listed.%20Now%20we%20need%20to%20create%20the%20AKS%20Cluster.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3ECreate%20the%20Azure%20Kubernetes%20(AKS)%20Cluster%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EFrom%20the%20Portal%2C%20select%20%3CSTRONG%3ECreate%20a%20resource%3C%2FSTRONG%3E%20and%20then%20%3CSTRONG%3EContainers%20%2F%20Kubernetes%20Service%3C%2FSTRONG%3E%20from%20the%20Marketplace%20menu.%20Next%2C%20you%20will%20need%20to%20fill%20out%20the%20%3CSTRONG%3ECreate%20Kubernetes%20cluster%3C%2FSTRONG%3E%20blade.%20Be%20sure%20to%20keep%20the%20cluster%20in%20the%20same%20region%20and%20Resource%20Group%20we%20have%20been%20using.%20You%20can%20accept%20the%20rest%20of%20the%20defaults%2C%20except%20for%20the%20%3CSTRONG%3ENode%20count%3C%2FSTRONG%3E%20which%20only%20needs%20to%20be%201.%20When%20you%20are%20done%20click%20the%20%3CSTRONG%3EReview%20%2B%20Create%3C%2FSTRONG%3E%20button.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20844px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111740i2F331058FBA5D8ED%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF5.png%22%20title%3D%22AKS-MF5.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhen%20complete%2C%20the%20deploy%20will%20place%20the%20%3CSTRONG%3EKubernetes%20Service%3C%2FSTRONG%3E%20artifacts%20in%20the%20Resource%20Group%20you%20selected%20on%20the%20blade.%20However%2C%20the%20actual%20Cluster%20will%20have%20its%20own%20resource%20group%26nbsp%3Bcreated%20during%20the%20deployment.%20If%20you%20select%20%3CSTRONG%3EResource%20groups%3C%2FSTRONG%3E%20from%20the%20menu%20on%20the%20left%2C%20you%20will%20be%20able%20to%20find%20it%20based%20on%20the%20naming%20convention.%26nbsp%3B%26nbsp%3B%20Here%E2%80%99s%20an%20image%20of%20mine%20%E2%80%93%20it%E2%80%99s%20the%20last%20one%20in%20the%20list.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20827px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111741i6E041121100DB51E%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF6.png%22%20title%3D%22AKS-MF6.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3ERun%20the%20Image%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3ENow%20it%E2%80%99s%20time%20to%20pull%20the%20image%20and%20run%20it%20in%20AKS.%20The%20easiest%20way%20to%20do%20this%20from%20the%20Azure%20Portal%20is%20to%20use%20the%20Cloud%20Shell.%20You%20will%20find%20the%20icon%20at%20the%20top%20right%20of%20the%20Portal.%26nbsp%3B%20Note%20for%20this%20walkthrough%2C%20I%20will%20be%20using%20the%20Bash%20shell.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20328px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111742i75511DB0B5B06618%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF7.png%22%20title%3D%22AKS-MF7.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EOnce%20the%20shell%20has%20loaded.%20Type%20the%20following%20command%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3Ekubectl%20run%20es-acctdemo%20--image%20acrmf40.azurecr.io%2Fes-acctdemo%20--port%3D9040%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EThis%20pulls%20the%20image%20from%20the%20%3C%2FSPAN%3E%3CSTRONG%3Eacrmf40.azurecr.io%3C%2FSTRONG%3E%3CSPAN%3E%20Repository%20and%20loads%20it%20into%20AKS.%20It%20then%20runs%20it%20with%20port%209040%20open.%20You%20may%20recall%20that%20that%20was%20the%20port%20we%20had%20open%20for%20our%20Docker%20image.%20We%20will%20need%20that%20to%20access%20Enterprise%20Server.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EKubernetes%20should%20respond%20with%20the%20message%20that%20the%20deployment%20was%20created.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F116532i0087EC80BD75EEDD%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22CaptureAKS6.JPG%22%20title%3D%22CaptureAKS6.JPG%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ETo%20see%20if%20the%20Container%20is%20actually%20running%20%2C%20type%20in.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3Ekubectl%20get%20pods%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EYou%20should%20see%20es-acctdemo%20as%20a%20running%20pod%20as%20in%20the%20image%20below.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F111743iC1DC63819D9669C3%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22AKS-MF8.png%22%20title%3D%22AKS-MF8.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ECongratulations%2C%20you%20are%20now%20running%20Enterprise%20Server%20in%20Azure%20Kubernetes%20Service.%26nbsp%3B%20In%20the%20next%20blog%20we%20will%20look%20at%20how%20to%20access%20the%20Enterprise%20Server%20Administrative%20Console%20and%20also%20how%20to%20we%20can%20leverage%20Kubernetes%20to%20scale%20out%20your%20deployment.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-513042%22%20slang%3D%22en-US%22%3E%3CP%3EIn%20a%20previous%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2FAzureCAT%2FRunning-Micro-Focus-Enterprise-Server-4-0-in-a-Docker-Container%2Fba-p%2F358622%22%20target%3D%22_blank%22%3Eblog%20post%3C%2FA%3E%20I%20outlined%20the%20steps%20to%20run%20Micro%20Focus%20Enterprise%20Server%204.0%20in%20a%20Docker%20Container.%26nbsp%3B%20As%20a%20follow%20up%20to%20that%2C%20I%E2%80%99d%20like%20to%20show%20you%20how%20to%20take%20it%20one%20step%20further%20and%20deploy%20that%20Docker%20image%20you%20created%20to%20Azure%20Kubernetes%20Service%20(AKS).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAzure%20Kubernetes%20service%20is%20a%20managed%20orchestration%20service%20based%20on%20Kubernetes.%20It%20allows%20you%20to%20deploy%2C%20scale%20and%20managed%20Docker%20Containers%20(and%20other%20container-based%20applications)%20across%20a%20cluster%20of%20container%20host.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20will%20be%20a%203-step%20process.%20You%20will%20need%20to%3A%3C%2FP%3E%3COL%3E%3CLI%3ECreate%20an%20Azure%20Container%20Registry%20to%20store%20your%20Docker%20image%3C%2FLI%3E%3CLI%3ECreate%20an%20Azure%20Kubernetes%20cluster%20to%20run%20the%20Docker%20image.%3C%2FLI%3E%3CLI%3ERun%20the%20application%3C%2FLI%3E%3C%2FOL%3E%3CP%3EThis%20will%20allow%20you%20to%20scale-out%20(and%20scale-down)%20your%20Mainframe%20Modernization%20workloads%20in%20Azure%20taking%20true%20advantage%20of%20the%20Cloud%20platform.%3C%2FP%3E%3CP%3EReady%2C%20let%E2%80%99s%20get%20started.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-513042%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3Emainframe%20migration%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Established Member

In a previous blog post I outlined the steps to run Micro Focus Enterprise Server 4.0 in a Docker Container.  As a follow up to that, I’d like to show you how to take it one step further and deploy that Docker image you created to Azure Kubernetes Service (AKS).

 

Azure Kubernetes service is a managed orchestration service based on Kubernetes. It allows you to deploy, scale and managed Docker Containers (and other container-based applications) across a cluster of container host.

 

This will be a 3-step process. You will need to:

  1. Create an Azure Container Registry to store your Docker image
  2. Create an Azure Kubernetes cluster to run the Docker image.
  3. Run the application

This will allow you to scale-out (and scale-down) your Mainframe Modernization workloads in Azure taking true advantage of the Cloud platform.

Ready, let’s get started.

 

Create the Azure Container Registry

From the Azure Portal, select Create a Resource in the top left corner. From the Marketplace Dashboard, select Containers then Container Registry. This will take you to the Create container registry pane where you will need to fill in the Registry Name, Azure Subscription, Resource Group and Azure Region. The Registry Name needs resolve so it should be unique. Select the Resource Group you used from the previous blog and the same corresponding Region. Select Enable for Admin User and Basic for the SKU. Once you have everything filled in click the Create button the bottom.

 

 

AKS-MF1.png

 

After the Registry has been deployed, click the Go to Resource button. This will take you to the main blade for the Container Registry. A nice feature here is the Quick Start menu option. Select it and you will see instructions for what needs to be done to Push and Pull images to and from the Registry. Let’s go though these:

 

  1. Install Docker – You do not need to worry about this since it has already been done.
  2. Run the “hello – world” base image – Again, not necessary, but feel free to try it out.
  3. Login to your container registry – this you will need to do from the VM. Copy the command to the clipboard or notepad.
    1. For the registry I created, the command is: docker login acrmf40.azurecr.io
  4. Push to your registry – You will need to do this as well for the Micro Focus image once we have logged into the VM
  5. Pull from your registry – Not relevant for this walk-through, but good to know if you need to run another Docker image.

Before we leave the portal, we need to get the credentials for the registry so we can log in. Exit out of the Quick Start blade and select Access Keys from the Registry Menu. Copy the Username and one of the Passwords (there are 2) to the clipboard or notepad. You will need them later to login.

Now that you know what needs to be done, log into the VM.

 

RDP to the Virtual Machine you used to create the Docker image.

Since you already created the Docker image on a Windows 2016 Server, we need to log into that VM. From this VM, we will push the image to the Container Registry we just created. Navigate to the VM in the Azure Portal then select Overview and then Connect. This will allow you to connect to the VM via RDP. You will need to use the credentials from when you created the VM.

 

Login and push the image to the registry

Once you have logged in, open a Command Prompt and initiate the following Docker commands:

 

  • docker images – this will show a list of all the currently installed images on the VM. Take note of the microfocus/es-acctdemo since this is the one, we will be working with.
  • docker login acrmf40.azurecr.io – The correct format here is docker login <registry name>. Substitute whatever name you used when you created the registry.
    • You will need the Username and Password that you copied from the Azure Portal. You should see something like the image below.

 

AKS-MF2.png

 

  • docker tag microfocus/es-acctdemo acrmf40.azurecr.io/es-acctdemo – This will tag the appropriate image with the name of the repository. NOTE: If the name <microfocus/es-acctdemo> does not work, try using the full Image ID. After you have executed the command, type docker images –no-trunc. You should see something like the image below. Notice our image has been properly tagged.

 

AKS-MF3.png

 

  • docker push acrmf40.azurecr.io/es-acctdemo – This will kick off the actual push to your repository. Because the size is 15GB, it will take a couple of minuets to run. If everything goes right, you should see something like the image below.

 

AKS-MF4.png

 

Now go back to the Azure Portal , specifically to the Repository. In the menu for the Repository select Repositories and you should see es-acctdemo listed. Now we need to create the AKS Cluster.

 

Create the Azure Kubernetes (AKS) Cluster

From the Portal, select Create a resource and then Containers / Kubernetes Service from the Marketplace menu. Next, you will need to fill out the Create Kubernetes cluster blade. Be sure to keep the cluster in the same region and Resource Group we have been using. You can accept the rest of the defaults, except for the Node count which only needs to be 1. When you are done click the Review + Create button.

 

AKS-MF5.png

 

When complete, the deploy will place the Kubernetes Service artifacts in the Resource Group you selected on the blade. However, the actual Cluster will have its own resource group created during the deployment. If you select Resource groups from the menu on the left, you will be able to find it based on the naming convention.   Here’s an image of mine – it’s the last one in the list.

 

 

AKS-MF6.png

 

Run the Image

Now it’s time to pull the image and run it in AKS. The easiest way to do this from the Azure Portal is to use the Cloud Shell. You will find the icon at the top right of the Portal.  Note for this walkthrough, I will be using the Bash shell.

 

AKS-MF7.png

 

Once the shell has loaded. Type the following command

 

kubectl run es-acctdemo --image acrmf40.azurecr.io/es-acctdemo --port=9040

 

This pulls the image from the acrmf40.azurecr.io Repository and loads it into AKS. It then runs it with port 9040 open. You may recall that that was the port we had open for our Docker image. We will need that to access Enterprise Server.

 

Kubernetes should respond with the message that the deployment was created.

 

CaptureAKS6.JPG

 

To see if the Container is actually running , type in.

 

kubectl get pods

 

You should see es-acctdemo as a running pod as in the image below.

 

AKS-MF8.png

 

Congratulations, you are now running Enterprise Server in Azure Kubernetes Service.  In the next blog we will look at how to access the Enterprise Server Administrative Console and also how to we can leverage Kubernetes to scale out your deployment.