<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.rws.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes</link><description>Language Weaver Edge Wiki</description><dc:language>en-US</dc:language><generator>Telligent Community 12 Non-Production</generator><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes</link><pubDate>Fri, 13 Oct 2023 10:40:39 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Current Revision posted to Wiki by Brian John on 10/13/2023 10:40:39 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img style="max-height:600px;max-width:3000px;" alt=" " src="/resized-image/__size/6000x1200/__key/communityserver-wikis-components-files/00-00-00-03-31/5483.lwedge_2D00_kubernetes.png" /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;$ curl -u u_admin@example.com_myapikey1234:&amp;nbsp;&lt;a id="" href="https://myhost.example.com/api/v2/"&gt;https://myhost.example.com/api/v2/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/26</link><pubDate>Fri, 06 Oct 2023 10:52:55 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 26 posted to Wiki by Brian John on 10/6/2023 10:52:55 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;img style="max-height:600px;max-width:3000px;" alt=" " src="/resized-image/__size/6000x1200/__key/communityserver-wikis-components-files/00-00-00-03-31/5483.lwedge_2D00_kubernetes.png" /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;$ curl -u u_admin@example.com_myapikey1234 &lt;a id="" href="https://myhost.example.com/api/v2/"&gt;https://myhost.example.com/api/v2/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/25</link><pubDate>Fri, 06 Oct 2023 10:42:21 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 25 posted to Wiki by Brian John on 10/6/2023 10:42:21 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;img style="max-height:2400px;max-width:3000px;" alt=" " src="/resized-image/__size/6000x4800/__key/communityserver-wikis-components-files/00-00-00-03-31/2318.lwedge_2D00_kubernetes.png" /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;$ curl -u u_admin@example.com_myapikey1234 &lt;a id="" href="https://myhost.example.com/api/v2/"&gt;https://myhost.example.com/api/v2/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/24</link><pubDate>Fri, 06 Oct 2023 10:41:59 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 24 posted to Wiki by Brian John on 10/6/2023 10:41:59 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;img style="max-height:2400px;max-width:3000px;" alt=" " src="/resized-image/__size/6000x4800/__key/communityserver-wikis-components-files/00-00-00-03-31/2318.lwedge_2D00_kubernetes.png" /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;$ curl -u u_admin@example.com_myapikey1234 &lt;a id="" href="https://myhost.example.com/api/v2/"&gt;https://myhost.example.com/api/v2/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/23</link><pubDate>Fri, 06 Oct 2023 10:41:20 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 23 posted to Wiki by Brian John on 10/6/2023 10:41:20 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;img style="max-height:2400px;max-width:3000px;" alt=" " src="/resized-image/__size/6000x4800/__key/communityserver-wikis-components-files/00-00-00-03-31/2318.lwedge_2D00_kubernetes.png" /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;$ curl -u u_admin@example.com_myapikey1234 &lt;a id="" href="https://myhost.example.com/api/v2/"&gt;https://myhost.example.com/api/v2/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/22</link><pubDate>Fri, 06 Oct 2023 10:39:59 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 22 posted to Wiki by Brian John on 10/6/2023 10:39:59 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;$ curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;img style="max-height:2400px;max-width:3000px;" alt=" " src="/resized-image/__size/6000x4800/__key/communityserver-wikis-components-files/00-00-00-03-31/0677.lwedge_2D00_kubernetes.png" /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/21</link><pubDate>Fri, 06 Oct 2023 10:39:23 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 21 posted to Wiki by Brian John on 10/6/2023 10:39:23 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;$ curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/20</link><pubDate>Fri, 06 Oct 2023 10:39:01 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 20 posted to Wiki by Brian John on 10/6/2023 10:39:01 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;$ curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/19</link><pubDate>Fri, 06 Oct 2023 10:38:46 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 19 posted to Wiki by Brian John on 10/6/2023 10:38:46 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;$ curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/18</link><pubDate>Fri, 06 Oct 2023 10:37:29 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 18 posted to Wiki by Brian John on 10/6/2023 10:37:29 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="powershell"&gt;curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/17</link><pubDate>Fri, 06 Oct 2023 10:37:11 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 17 posted to Wiki by Brian John on 10/6/2023 10:37:11 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="powershell"&gt;curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Environment Variables&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Custom environment variables could be set independently for:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Controller pod.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Translation Engine pods - each Language Pair has its own environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engine pods - all pods share the same environment variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/16</link><pubDate>Fri, 06 Oct 2023 10:36:01 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 16 posted to Wiki by Brian John on 10/6/2023 10:36:01 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;em&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="powershell"&gt;curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/15</link><pubDate>Fri, 06 Oct 2023 10:35:19 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 15 posted to Wiki by Brian John on 10/6/2023 10:35:19 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="html"&gt;curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/14</link><pubDate>Fri, 06 Oct 2023 10:34:58 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 14 posted to Wiki by Brian John on 10/6/2023 10:34:58 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Edge API&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;The API key is automatically prefixed with &amp;ldquo;u_&amp;rdquo; + username + &amp;rdquo;_&amp;rdquo; when created. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;For an example, to make a REST API call for user &lt;em&gt;&lt;strong&gt;admin@example.com&lt;/strong&gt;&lt;/em&gt; with API key &lt;em&gt;&lt;strong&gt;myapikey1234&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="text"&gt;curl -u u_admin@example.com_myapikey1234 https://myhost.example.com/api/v2/&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/13</link><pubDate>Fri, 06 Oct 2023 10:33:19 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 13 posted to Wiki by Brian John on 10/6/2023 10:33:19 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/12</link><pubDate>Fri, 06 Oct 2023 10:32:53 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 12 posted to Wiki by Brian John on 10/6/2023 10:32:53 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/11</link><pubDate>Fri, 06 Oct 2023 10:32:32 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 11 posted to Wiki by Brian John on 10/6/2023 10:32:32 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters. &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/10</link><pubDate>Fri, 06 Oct 2023 10:32:17 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 10 posted to Wiki by Brian John on 10/6/2023 10:32:17 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Depending on the size of the Language Pair and I/O bandwidth, each Language Pair installation job will generally run for about 2-10 minutes. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Whilst it is possible to deploy the Edge software during Language Pair installation process, Translation Engines will not start or be usable until all the above Kubernetes jobs are completed.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Most likely used parameters are described in the sample &amp;ldquo;google.yaml&amp;rdquo; &amp;amp; &amp;ldquo;azure.yaml&amp;rdquo; files provided. Consult &amp;ldquo;values.yaml&amp;rdquo; inside the chart &amp;ldquo;sdl-mtedge-8.6.2.tgz&amp;rdquo; for a complete list of parameters. &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Reconfigure&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge instance in a Kubernetes cluster could be reconfigured/resized while the Language Weaver Edge service is running. Reconfiguration can be performed using a helm upgrade or directly modifying relevant Kubernetes objects. The simplest way is to modify the &amp;ldquo;values.yaml&amp;rdquo; and run a helm upgrade.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;Typical values that could be changed while the system is running are:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Bootstrap Language Weaver Edge admin user.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Install new Language Pairs.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Increase/Decrease the size of the pool of Job Engines, Training Engines or add/modify the pool of Translation Engines for a given Language Pair. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Auto scale the number of Translation Engines, depending on the system load.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/9</link><pubDate>Fri, 06 Oct 2023 10:31:07 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 9 posted to Wiki by Brian John on 10/6/2023 10:31:07 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Edge Controller host is deployed as a pod in Kubernetes and Edge UI &amp;amp; API are published as a service. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Job Engines, Translation Engines &amp;amp; Training Engines are deployed as Stateful Sets and could be configured to auto scale based on the pod CPU usage or predefine the number of replica pods. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs and the Edge configuration is saved in persistent volumes. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;All pods use the same docker base image.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Helm charts &amp;amp; example &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Upgrades &amp;amp; rescaling of Edge configuration is possible with helm upgrades. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Training Engines require GPU nodes in the Kubernetes cluster for better performance. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;LW Edge license &amp;amp; default admin accounts are saved as Kubernetes secrets.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of the Controller pod could be a standard RWO storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Persistent volume of Language Pairs requires a high performance, case sensitive RWX storage class. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Language Pairs are deployed to the persistent volume using Kubernetes Jobs.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/8</link><pubDate>Fri, 06 Oct 2023 10:29:35 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 8 posted to Wiki by Brian John on 10/6/2023 10:29:35 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Running Language Weaver Edge on Kubernetes</title><link>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes/revision/7</link><pubDate>Fri, 06 Oct 2023 10:29:06 GMT</pubDate><guid isPermaLink="false">10acfa76-f078-475b-a7ef-fc5b3e8d2934:2b3b70e3-bd2f-482a-bec6-1b0ef6ae2eaa</guid><dc:creator>Brian John</dc:creator><comments>https://community.rws.com/product-groups/linguistic-ai/edge/w/wiki/6732/running-language-weaver-edge-on-kubernetes#comments</comments><description>Revision 7 posted to Wiki by Brian John on 10/6/2023 10:29:06 AM&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;Language Weaver Edge could easily be deployed in Kubernetes &amp;amp; the deployment architecture is similar to an on-prem Windows/Linux deployment. Helm charts and sample &amp;ldquo;values.yaml&amp;rdquo; files are provided by RWS for easy deployment. Kubernetes GPU nodes are preferred for Training Engines. &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;Minimum requirement&lt;/strong&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;Kubernetes cluster with node CPU/RAM totalling up to the minimum requirement.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. AKS, EKS, GKE&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Autoscaling is enabled in Kubernetes cluster. (optional)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Ingress controller to access Kubernetes services. &lt;br /&gt;&lt;/span&gt;&lt;span&gt;e.g. NGINX&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Storage classes in Kubernetes that support both RWO &amp;amp; RWX volume types. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>