{"id":12610,"date":"2019-06-28T05:33:33","date_gmt":"2019-06-28T03:33:33","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/"},"modified":"2023-07-13T16:44:31","modified_gmt":"2023-07-13T14:44:31","slug":"windocks-and-k8s-support","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/","title":{"rendered":"Windocks and K8s support"},"content":{"rendered":"<p>I got recently the 4.08 update from the <a href=\"https:\/\/www.windocks.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Windocks<\/a> team and I was very excited to evaluate some of new features. The first cool one I want to present in this blog concerns the Kubernetes support for deploying Windocks containers that will make my application deployment definitely easier. Let\u2019s say you want to deploy your application that is tied to a Windocks container for SQL Server. In a previous <a href=\"https:\/\/www.dbi-services.com\/blog\/windocks-a-different-way-to-use-sql-server-on-docker\/\" target=\"_blank\" rel=\"noopener noreferrer\">blog post<\/a> I explained why we are using Windocks in our context. So, with previous versions of Windocks, we had to write custom scripts to deploy applications on K8s that are tied to a Windocks. With the new version 4.08, this process may be simplified because both of applications and their related Windocks containers are directly deployable on K8s by using a YAML deployment file.<\/p>\n<p>In fact, the new way consists in deploying a Windocks SQL Server proxy on K8s that works in conjunction with a Windocks Server. Once the SQL Server proxy deployed a corresponding Windocks container is spinning up with their specific parameters as shown in the picture below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-33270 size-full\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg\" alt=\"\" width=\"500\" height=\"373\" \/><\/p>\n<p>First of all, in order to make access secure between K8s and the Windocks Server authentication is required and we need to provide credential information that will be stored in the sql-proxy secret in K8s. SA password is also included in this secret and will be used to setup the SA account when the Windocks container will spin up.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">$ kubectl create secret generic proxy-secrets --from-literal=WINDOCKS_REQUIRED_USERNAME='clustadmin' --from-literal=WINDOCKS_REQUIRED_PASSWORD='StrongPassword' --from-literal=WINDOCKS_REQUIRED_CONTAINER_SAPASSWORD=\u2019sa_password'<\/pre>\n<p>The next step consists in deploying the Windocks SQL proxy by with the specific environment variables including <strong>WINDOCKS_REQUIRED_HOSTNAME<\/strong> (Windocks server name or IP Address), <strong>WINDOCKS_REQUIRED_IMAGE_NAME<\/strong> (Windocks based image used for container) and <strong>WINDOCKS_SQL_PROXY_OPTIONAL_LISTENING_PORT <\/strong>(optional).<\/p>\n<ul>\n<li>The Windocks SQL Proxy YAML file<\/li>\n<\/ul>\n<pre class=\"brush: xml; gutter: true; first-line: 1\">apiVersion: extensions\/v1beta1\nkind: Deployment\nmetadata:\n  name: windocks-sql-proxy-secure \n  labels:\n    app: sqlproxy-secure \nspec:\n  replicas: 1 \n  template:\n    metadata:\n      labels:\n        app: sqlproxy-secure \n        tier: frontend\n    spec:\n      containers:\n      - name: sqlproxy-secure-app \n        image: windocks\/windocks-sql-server-proxy \n        imagePullPolicy: Always\n        ports:\n        - name: tcp-proxy\n          containerPort: 3087\n        - name: tls-proxy\n          containerPort: 3088\n        envFrom:\n          - secretRef:\n              name: proxy-secrets\n        env:\n          - name: PROJECT_ID\n            value: project_id_for_GKE_deployment_optional\n          - name: WINDOCKS_REQUIRED_HOSTNAME\n            value: xx.xxx.xxx.xxx\n          - name: WINDOCKS_REQUIRED_IMAGE_NAME\n            value: 2012_ci\n          - name: WINDOCKS_SQL_PROXY_OPTIONAL_LISTENING_PORT\n            value: \"3087\"<\/pre>\n<p>If we want to make the SQL Proxy pod accessible from outside a service is needed but this is not mandatory according to the context. Note that you may also use TLS connection to secure the network between K8s and the Windocks server.<\/p>\n<ul>\n<li>The Windocks service YAML file<\/li>\n<\/ul>\n<pre class=\"brush: xml; gutter: true; first-line: 1\">apiVersion: v1\nkind: Service\nmetadata:\n  name: windocks-sql-proxy-secure\n  labels:\n    app: sqlproxy-secure\n    tier: frontend\nspec:\n  sessionAffinity: ClientIP\n  type: LoadBalancer\n  ports:\n  - port: 3087\n    name: tcp-proxy-secure-service\n    targetPort: 3087\n  - port: 3088\n    name: tls-proxy-secure-service\n    targetPort: 3088\n  selector:\n    app: sqlproxy-secure\n    tier: frontend<\/pre>\n<p>Let\u2019s give a try on my Azure infrastructure including an AKS cluster and a Windocks Server installed in an Azure VM. I also took the opportunity to create my own helm chart from the YAML files provided by the Windocks team. It will make my deployment easier for sure. Here the command I used to deploy my Windocks helm chart on my AKS cluster.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">$ helm install --name windocks2012 --namespace dmk --set Windocks.Image=2012_ci --set Windocks.Port=3089 --set Windocks.PortSSL=3090 .<\/pre>\n<p>Deployment will be performed in a specific namespace named dmk and the 2012_ci image will be used as based image for my Windocks container. I will be able to connect to my Windocks container by using the 3089 port through the SQL Proxy deployed on K8s. After few seconds the following resources were deployed within my dmk namespace including a Windocks SQL Proxy pod and the Windocks SQL Proxy service.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">$ kubectl get all -n dmk\nNAME                                                                  READY   STATUS    RESTARTS   AGE\npod\/windocks2012-sqlproxy-securewindocks-sql-proxy-secure-56fb8694m   1\/1     Running   0          13m\n\nNAME                                                            TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)\n                 AGE\nservice\/backend                                                 ClusterIP      10.0.126.154   &lt;none&gt;          80\/TCP\n                 8d\nservice\/windocks2012-sqlproxy-securewindocks-sql-proxy-secure   LoadBalancer   10.0.252.235   xx.xx.xxx.xxx   3089:30382\/TCP,3090:30677\/TCP   44m\n\nNAME                                                                    DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE\ndeployment.apps\/windocks2012-sqlproxy-securewindocks-sql-proxy-secure   1         1         1            1           44m\n\nNAME                                                                               DESIRED   CURRENT   READY   AGE\nreplicaset.apps\/windocks2012-sqlproxy-securewindocks-sql-proxy-secure-56fbdb5c96   1         1         1       44m<\/pre>\n<p>Once deployed, the SQL proxy will redirect all connections from 3089 port to the container port after spinning up the corresponding Windocks container on the Windocks server. We may get some details by taking a look at the SQL Proxy logs on K8s. As a reminder the container port is allocated dynamically by default by the Windocks server and the SQL proxy get it automatically for connection redirection.<\/p>\n<pre class=\"brush: shell; gutter: true; first-line: 1\">\u2026\nValid response for creating Windocks container\nContainer id is b1201aaaba3b4cd047953b624e541e26500024e42e6381936fc7b526b5596a99\nContainer port is 10001\nSetting up tcp server\nredirecting connections from 127.0.0.1:3089 to xx.xxx.xxx.xxx:10001 \n\u2026<\/pre>\n<p>Let\u2019s try to connect by using <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/tools\/mssql-cli?view=sql-server-2017\" target=\"_blank\" rel=\"noopener noreferrer\">mssql-cli<\/a> and the external IP of the SQL Proxy service and the 3089 port. The connection redirect is effective and I can interact with my Windocks container on local port 10001:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">master&gt; SELECT top 1 c.local_net_address, c.local_tcp_port\n....... FROM sys.dm_exec_connections as c; \n+---------------------+------------------+\n| local_net_address   | local_tcp_port   |\n|---------------------+------------------|\n| 172.18.0.5          | 10001            |\n+---------------------+------------------+<\/pre>\n<p>The Windocks container for SQL Server was spinning up my 3 testing databases as expected:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">master&gt; \\ld+\n+-------------------+-------------------------+-----------------------+------------------------------+\n| name              | create_date             | compatibility_level   | collation_name               |\n|-------------------+-------------------------+-----------------------+------------------------------|\n| master            | 2003-04-08 09:13:36.390 | 110                   | SQL_Latin1_General_CP1_CI_AS |\n| tempdb            | 2019-06-27 20:04:04.273 | 110                   | SQL_Latin1_General_CP1_CI_AS |\n| model             | 2003-04-08 09:13:36.390 | 110                   | SQL_Latin1_General_CP1_CI_AS |\n| msdb              | 2012-02-10 21:02:17.770 | 110                   | SQL_Latin1_General_CP1_CI_AS |\n| AdventureWorksDbi | 2019-06-27 20:04:03.537 | 100                   | Latin1_General_100_CS_AS     |\n| ApplixEnterprise  | 2019-06-27 20:04:04.477 | 90                    | SQL_Latin1_General_CP1_CI_AS |\n| dbi_tools         | 2019-06-27 20:04:05.153 | 100                   | French_CS_AS                 |\n+-------------------+-------------------------+-----------------------+------------------------------+<\/pre>\n<p>From the Windocks server, I may get a picture of provisioned containers. The interesting one in our case is referenced by the name k8s-windocks2012\/xxxx:<\/p>\n<pre class=\"brush: powershell; gutter: true; first-line: 1\">PS F:\\WINDOCKS\\SQL2012&gt; docker ps\nCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES\ne9dbe5556b2f        2012_ci             \"\"                  29 minutes ago      Stopped             10002\/              dab\/Windocks-id:31432367-c744-4ae3-8248-cb3fb3d2792e\nb1201aaaba3b        2012_ci             \"\"                  13 minutes ago      Started             10001\/              k8s-windocks2012\/Windocks-id:cfa58c38-d168-4c04-b4c8-12b0552b93ad<\/pre>\n<p>Well, in a nutshell a feature we will consider to integrate in our DevOps Azure pipeline for sure. Stay tuned, other blog posts will come later.<\/p>\n<p>See you!<\/p>\n<p><span style=\"float: none; background-color: #ffffff; color: #333333; cursor: text; font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none;\">By David Barbarin<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I got recently the 4.08 update from the Windocks team and I was very excited to evaluate some of new features. The first cool one I want to present in this blog concerns the Kubernetes support for deploying Windocks containers that will make my application deployment definitely easier. Let\u2019s say you want to deploy your [&hellip;]<\/p>\n","protected":false},"author":26,"featured_media":12611,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1320,1504,1522,99],"tags":[151,89,1346,1359],"type_dbi":[],"class_list":["post-12610","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","category-docker","category-kubernetes","category-sql-server","tag-devops","tag-kubernetes","tag-sqlserver","tag-windocks"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Windocks and K8s support - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Windocks and K8s support\" \/>\n<meta property=\"og:description\" content=\"I got recently the 4.08 update from the Windocks team and I was very excited to evaluate some of new features. The first cool one I want to present in this blog concerns the Kubernetes support for deploying Windocks containers that will make my application deployment definitely easier. Let\u2019s say you want to deploy your [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-28T03:33:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-13T14:44:31+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"373\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Microsoft Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/\"},\"author\":{\"name\":\"Microsoft Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\"},\"headline\":\"Windocks and K8s support\",\"datePublished\":\"2019-06-28T03:33:33+00:00\",\"dateModified\":\"2023-07-13T14:44:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/\"},\"wordCount\":657,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg\",\"keywords\":[\"DevOps\",\"kubernetes\",\"SQLServer\",\"windocks\"],\"articleSection\":[\"DevOps\",\"Docker\",\"Kubernetes\",\"SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/\",\"name\":\"Windocks and K8s support - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg\",\"datePublished\":\"2019-06-28T03:33:33+00:00\",\"dateModified\":\"2023-07-13T14:44:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg\",\"width\":500,\"height\":373},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Windocks and K8s support\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\",\"name\":\"Microsoft Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"caption\":\"Microsoft Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/microsoft-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Windocks and K8s support - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/","og_locale":"en_US","og_type":"article","og_title":"Windocks and K8s support","og_description":"I got recently the 4.08 update from the Windocks team and I was very excited to evaluate some of new features. The first cool one I want to present in this blog concerns the Kubernetes support for deploying Windocks containers that will make my application deployment definitely easier. Let\u2019s say you want to deploy your [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/","og_site_name":"dbi Blog","article_published_time":"2019-06-28T03:33:33+00:00","article_modified_time":"2023-07-13T14:44:31+00:00","og_image":[{"width":500,"height":373,"url":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg","type":"image\/jpeg"}],"author":"Microsoft Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Microsoft Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/"},"author":{"name":"Microsoft Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"headline":"Windocks and K8s support","datePublished":"2019-06-28T03:33:33+00:00","dateModified":"2023-07-13T14:44:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/"},"wordCount":657,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg","keywords":["DevOps","kubernetes","SQLServer","windocks"],"articleSection":["DevOps","Docker","Kubernetes","SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/","url":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/","name":"Windocks and K8s support - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg","datePublished":"2019-06-28T03:33:33+00:00","dateModified":"2023-07-13T14:44:31+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/156-0-windocks-k8s-sqlproxy-e1561699110486.jpg","width":500,"height":373},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/windocks-and-k8s-support\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Windocks and K8s support"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4","name":"Microsoft Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","caption":"Microsoft Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/microsoft-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=12610"}],"version-history":[{"count":1,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12610\/revisions"}],"predecessor-version":[{"id":26702,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12610\/revisions\/26702"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/12611"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=12610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=12610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=12610"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=12610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}