{"id":19009,"date":"2021-04-02T12:38:25","date_gmt":"2021-04-02T12:38:25","guid":{"rendered":"https:\/\/dbtut.com\/?p=19009"},"modified":"2021-04-02T12:38:25","modified_gmt":"2021-04-02T12:38:25","slug":"sql-server-on-azure-kubernetes","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/","title":{"rendered":"SQL Server on Azure Kubernetes"},"content":{"rendered":"<p>In this article, I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service, and how to install SQL server on Azure Kubernetes cluster. This topic will represent the introduction to the Azure Arc Enabled Data Services topic.<\/p>\n<h3>What is Kubernetes?<\/h3>\n<p>First of all, I think it would be better to start the article by answering the kubernetes question in the mind of those who do not know kubernetes at all. The word Kubernetes comes from Greek and its meaning is helmsman (it means helmsman.Therefore its logo is similar to the helm of a ship). In most sources, it is abbreviated as k8s and this is because there are 8 letters between the letter K and the letter S.<\/p>\n<p>See: <strong>K<\/strong>ubernete<strong>s<\/strong><\/p>\n<h4>Kubernetes vs Virtualization<\/h4>\n<div class=\"FFpbKc\"><\/div>\n<div class=\"dePhmb\">\n<div class=\"eyKpYb\" data-language=\"en\" data-original-language=\"tr\" data-result-index=\"0\">\n<div class=\"J0lOec\"><span class=\"VIiyi\" lang=\"en\"><span class=\"JLqJ4b\" data-language-for-alternatives=\"en\" data-language-to-translate-into=\"tr\" data-phrase-index=\"0\">If you remember how your workloads worked in the past, you would basically have hardware and an operating system on it and your workloads running on them. Later, we started to run our workloads on virtualization layers with various solutions. This time, there is a hypervisor between our workloads and the operating system, and we can run our workloads on virtual servers independent of each other on a hypervisor, and it has become a widely used and preferred infrastructure management.\u00a0<\/span><\/span><\/div>\n<div><\/div>\n<div>However, with the technology and platforms developing every day, a container distribution model that is one step beyond virtualization was developed. In fact, although it is a solution similar to virtualization structure, they have comfortable isolation features to share the Operating System (OS) between applications. For this reason, containers are considered lightweight.<\/div>\n<\/div>\n<\/div>\n<div>\n<p>Similar to a VM, a container has its own filesystem, CPU, memory, process space, and more. Because they are separated from the underlying infrastructure, they can be transported in clouds and operating system deployments.<\/p>\n<p>So where is Kubernetes in this? Kubernetes is a platform that provides you with a flexible environment for managing containers working together and running them seamlessly and flexibly.<\/p>\n<\/div>\n<p>We mentioned the meaning and abbreviation of Kubernetes, let&#8217;s return to our main topic after sharing the information for what it was developed for.<\/p>\n<h4>Kubernetes developed in Which Language?<\/h4>\n<p>Kubernetes is a platform developed with an Open source GO language that allows you to manage, expand and make your containerized workloads and services easily portable.<\/p>\n<h3>SQL Server on Azure Kubernetes<\/h3>\n<p>After this basic knowledge, we can move on to SQL Server installation in Azure Kubernetes Services, which is our main topic.<\/p>\n<p>We will install a version of Microsoft SQL Server adapted to the container structure. Thus, we will ensure the flexible distribution, expansion and management of these containers with Azure Kubernetes service.<\/p>\n<p>As a first step, we need an azure account. Assuming that you have completed this step, I continue my article and login to my Azure account. After logging into the portal, we click on the &#8220;&gt;&#8221; box on the upper left and shown in Picture-1 and log into the azure cloud shell. If you have not used azure cloud shell before, it will ask you to create a storage address.<\/p>\n<figure id=\"attachment_19010\" aria-describedby=\"caption-attachment-19010\" style=\"width: 688px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19010\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6066bfab0320e.png\" alt=\"Figure1: Running Azure Cloud Shell\" width=\"688\" height=\"89\" \/><figcaption id=\"caption-attachment-19010\" class=\"wp-caption-text\">Picture1: Running Azure Cloud Shell<\/figcaption><\/figure>\n<p>But before continuing our operations on Azure, we need to install Azure CLI and Kubectl on our computer that we are using and want to manage Azure resources.<\/p>\n<p><strong>Azure CLI<\/strong> is a command line tool we will use to manage Azure resources.<\/p>\n<p><strong>Kubectl<\/strong> is a command line tool for us to run commands in the Kubernetes cluster in Azure Kubernetes Services.<\/p>\n<p>Both installations will allow us to use both from cmd &#8211; command prompt and powershell.<\/p>\n<p>You can use the article below for the Azure CLI setup. I do not want to disrupt the flow of the article by providing more information.<\/p>\n<p>https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/install-azure-cli-windows?view=azure-cli-latest&amp;tabs=azure-cli Azure CLI<\/p>\n<p>We perform the installation using the address above. Then we use the following command to log in to the Azure account via command line.<\/p>\n<pre class=\"lang:default decode:true \">az login<\/pre>\n<figure id=\"attachment_19012\" aria-describedby=\"caption-attachment-19012\" style=\"width: 683px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19012\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6066db029387c.png\" alt=\"\" width=\"683\" height=\"41\" \/><figcaption id=\"caption-attachment-19012\" class=\"wp-caption-text\">Picture2: Login to Azure account with minimal login<\/figcaption><\/figure>\n<p>Azure CLI opens your default browser and prompts you to sign in using your Azure account.<\/p>\n<p>To run kubectl commands via command line or powershell, you need to download kubectl.exe and define it from environment variables.<\/p>\n<p>To download and install Kubectl;<\/p>\n<p>https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-kubectl-windows\/#install-with-powershell-from-psgallery<\/p>\n<p>To add to environment variables after installation;<\/p>\n<p>Press the Windows Key + S key to open the &#8220;View Advanced System Settings&#8221; section.<\/p>\n<p>Click on the environment variables part on the screen that appears and click on the path part on the screen that appears, add the path information of the kubectl.exe you downloaded and exit by clicking OK.<\/p>\n<figure id=\"attachment_19015\" aria-describedby=\"caption-attachment-19015\" style=\"width: 402px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19015 size-full\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6066dc377f27f.png\" alt=\"\" width=\"402\" height=\"368\" \/><figcaption id=\"caption-attachment-19015\" class=\"wp-caption-text\">Picture4: environment variables<\/figcaption><\/figure>\n<p>I store the kubectl.exe file in the .kubectl folder in the c directory and I entered this address information in the path information. Thus, we have completed the kubectl installation.<\/p>\n<p>Now it is time to install Azure Kubernetes Service. In order to do this, the following Resource Providers need to be registered in Azure Cloud Shell.<\/p>\n<pre class=\"lang:default decode:true \">az provider register -n Microsoft.Compute\r\naz provider register -n Microsoft.ContainerService\r\naz provider register -n Microsoft.Networkaz provider register -n Microsoft.Storage<\/pre>\n<figure id=\"attachment_19018\" aria-describedby=\"caption-attachment-19018\" style=\"width: 629px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19018 size-full\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6066dceceec9c.png\" alt=\"\" width=\"629\" height=\"227\" \/><figcaption id=\"caption-attachment-19018\" class=\"wp-caption-text\">Figure 5: Azure Cloud Shell Register Azure Kubernetes Services Resource Provider<\/figcaption><\/figure>\n<p>Now that we have registered Resource Providers, let&#8217;s create an Azure Resource Group and collect the resources we need in this group.<\/p>\n<pre class=\"lang:default decode:true \">az group create -n rg-dmc-azure-k8s --location westus2<\/pre>\n<p>With the code block above, we created a resource group in the westus2 area named rg-dmc-azure-k8s.<\/p>\n<figure id=\"attachment_19019\" aria-describedby=\"caption-attachment-19019\" style=\"width: 639px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19019\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6066dd6b25991.png\" alt=\"\" width=\"639\" height=\"212\" \/><figcaption id=\"caption-attachment-19019\" class=\"wp-caption-text\">Picture6: Creating rg-dmc-azure-k8s resource group<\/figcaption><\/figure>\n<p>We have completed the creation of the resource group. Now let&#8217;s set up a kubernetes cluster with two nodes in this resource group with the code block below. The feature of Kubernetes cluster is standard_D8_v4, ie 8 vCPU, 32 GM Ram.<\/p>\n<pre class=\"lang:default decode:true \">az aks create --resource-group rg-dmc-azure-k8s --name dmc-demok8s --node-count 2 --generate-ssh-keys --node-vm-size=Standard_D8_v4<\/pre>\n<figure id=\"attachment_19020\" aria-describedby=\"caption-attachment-19020\" style=\"width: 671px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19020\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6066ddcbe6934.png\" alt=\"\" width=\"671\" height=\"135\" \/><figcaption id=\"caption-attachment-19020\" class=\"wp-caption-text\">Figure7: Creating Azure Kubernetes Service<\/figcaption><\/figure>\n<p>Our kubernetes cluster will be created in about ten minutes. After the process is completed, we can see all the resources in the resource group we created on the Azure Portal.<\/p>\n<figure id=\"attachment_19021\" aria-describedby=\"caption-attachment-19021\" style=\"width: 396px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19021\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6066de134e767.png\" alt=\"\" width=\"396\" height=\"303\" \/><figcaption id=\"caption-attachment-19021\" class=\"wp-caption-text\">Figure8: Azure Portal &#8211; Viewing all resources<\/figcaption><\/figure>\n<p>Let&#8217;s get the credentials of the cluster using the following command.<\/p>\n<figure id=\"attachment_19038\" aria-describedby=\"caption-attachment-19038\" style=\"width: 696px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19038\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_606705e400b80.png\" alt=\"\" width=\"696\" height=\"99\" \/><figcaption id=\"caption-attachment-19038\" class=\"wp-caption-text\">Picture9: get the credentials of the cluster<\/figcaption><\/figure>\n<p>After this process, we can view all pods in the cluster with the following command.<\/p>\n<pre class=\"lang:default decode:true \">kubectl get pods \u2013all -namespaces<\/pre>\n<figure id=\"attachment_19039\" aria-describedby=\"caption-attachment-19039\" style=\"width: 723px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19039\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_606706512fa10.png\" alt=\"\" width=\"723\" height=\"196\" \/><figcaption id=\"caption-attachment-19039\" class=\"wp-caption-text\">Picture10: Viewing All Pods<\/figcaption><\/figure>\n<h3>Persistent volume (Pv) and Persistent volume Claim (Pvc) in Kubernetes<\/h3>\n<p>Now we will configure Persistent volume (Pv) and Persistent volume Claim (Pvc), which we can call Kubernetes backbone, which is perhaps one of the most important issues. But first of all, I think it would be better to explain what these two terms are.<\/p>\n<p>The importance of structuring Pv and Pvc concepts; Pv and Pvc configuration determines whether or not the data it contains is lost when a pod crashes or gets up again.<\/p>\n<p>Save the following code block in a notebook as dmc_pv_pvc.yaml. After saving, let&#8217;s upload our yaml file via Azure Cloud Shell as shown in Picture11.<\/p>\n<pre class=\"lang:default decode:true \">kind: StorageClass\r\napiVersion: storage.k8s.io\/v1beta1\r\nmetadata:\r\n  name: azure-disk\r\nprovisioner: kubernetes.io\/azure-disk\r\nparameters:\r\n  storageaccounttype: Standard_LRS\r\n  kind: Managed\r\n---\r\nkind: PersistentVolumeClaim\r\napiVersion: v1\r\nmetadata:\r\n  name: mssql-data\r\n  annotations:\r\n    volume.beta.kubernetes.io\/storage-class: azure-disk\r\nspec:\r\n  accessModes:\r\n  - ReadWriteOnce\r\n  resources:\r\n    requests:\r\n      storage: 8Gi<\/pre>\n<figure id=\"attachment_19041\" aria-describedby=\"caption-attachment-19041\" style=\"width: 645px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19041\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_606707a30e588.png\" alt=\"\" width=\"645\" height=\"109\" \/><figcaption id=\"caption-attachment-19041\" class=\"wp-caption-text\">Picture11: Azure Cloud Shell Upload File<\/figcaption><\/figure>\n<p>After the upload process is finished, we will see a notification as shown in Picture12.<\/p>\n<figure id=\"attachment_19042\" aria-describedby=\"caption-attachment-19042\" style=\"width: 676px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19042\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_606707e440489.png\" alt=\"\" width=\"676\" height=\"149\" \/><figcaption id=\"caption-attachment-19042\" class=\"wp-caption-text\">Picture12: Yaml transfer successful.<\/figcaption><\/figure>\n<p>Let&#8217;s run our yaml file that we transferred with the code block below.<\/p>\n<pre class=\"lang:default decode:true \">kubectl apply -f \/home\/caglarozenc\/dmc_pv_pvc.yaml<\/pre>\n<figure id=\"attachment_19043\" aria-describedby=\"caption-attachment-19043\" style=\"width: 648px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19043\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670836bd196.png\" alt=\"\" width=\"648\" height=\"147\" \/><figcaption id=\"caption-attachment-19043\" class=\"wp-caption-text\">Figure13: Running dmc_pv_pvc.yaml<\/figcaption><\/figure>\n<p>As seen in Picture 13, we have completed the pv and pvc configuration. We can check pv and pvc with the following code blocks.<\/p>\n<pre class=\"lang:default decode:true \">Kubectl get pv\r\nkubectl get pvc<\/pre>\n<figure id=\"attachment_19044\" aria-describedby=\"caption-attachment-19044\" style=\"width: 689px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19044\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_606708820338c.png\" alt=\"\" width=\"689\" height=\"101\" \/><figcaption id=\"caption-attachment-19044\" class=\"wp-caption-text\">Picture14: Seeing pv-pvc information with kubectl<\/figcaption><\/figure>\n<p>Now that we have completed our operations on the Kubernetes side, we can now install Microsoft SQL Server on our Cluster.<\/p>\n<p>First of all, the password of the SA user that we will use in Kubernetes Cluster must be determined. We do this with the code block below. My password is &#8220;DMC-CaglarOZENC*!&#8221;<\/p>\n<pre class=\"lang:default decode:true \">kubectl create secret generic mssql --from-literal=SA_PASSWORD=\"DMC-CaglarOZENC*!\"<\/pre>\n<figure id=\"attachment_19045\" aria-describedby=\"caption-attachment-19045\" style=\"width: 622px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19045\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_6067092a614ec.png\" alt=\"\" width=\"622\" height=\"76\" \/><figcaption id=\"caption-attachment-19045\" class=\"wp-caption-text\">Figure15: Setting the SA password<\/figcaption><\/figure>\n<p>As we use in Pv and Pvc definitions, I create a yaml file as below in order to be able to install SQL Server and upload it. The port information will be 1433. I am installing SQL Server 2019 Developer Edition and the SA password will be the password I set in Picture15.<\/p>\n<pre class=\"lang:default decode:true \">apiVersion: apps\/v1\r\nkind: Deployment\r\nmetadata:\r\n  name: mssql-deployment\r\nspec:\r\n  replicas: 1\r\n  selector:\r\n     matchLabels:\r\n       app: mssql\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: mssql\r\n    spec:\r\n      terminationGracePeriodSeconds: 30\r\n      hostname: mssqlinst\r\n      securityContext:\r\n        fsGroup: 10001\r\n      containers:\r\n      - name: mssql\r\n        image: mcr.microsoft.com\/mssql\/server:2019-latest\r\n        ports:\r\n        - containerPort: 1433\r\n        env:\r\n        - name: MSSQL_PID\r\n          value: \"Developer\"\r\n        - name: ACCEPT_EULA\r\n          value: \"Y\"\r\n        - name: SA_PASSWORD\r\n          valueFrom:\r\n            secretKeyRef:\r\n              name: mssql\r\n              key: SA_PASSWORD \r\n        volumeMounts:\r\n        - name: mssqldb\r\n          mountPath: \/var\/opt\/mssql\r\n      volumes:\r\n      - name: mssqldb\r\n        persistentVolumeClaim:\r\n          claimName: mssql-data\r\n---\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  name: dmcsql\r\nspec:\r\n  selector:\r\n    app: mssql\r\n  ports:\r\n    - protocol: TCP\r\n      port: 1433\r\n      targetPort: 1433\r\n  type: LoadBalancer<\/pre>\n<p>After successfully uploading the Yaml file, I implement my yaml file with the code block below.<\/p>\n<pre class=\"lang:default decode:true \">kubectl apply -f \/home\/caglarozenc\/dmc_k8s_sqlserver_kurulumu.yaml<\/pre>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_19046\" aria-describedby=\"caption-attachment-19046\" style=\"width: 613px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19046 size-full\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_606709b49f4d8.png\" alt=\"\" width=\"613\" height=\"83\" \/><figcaption id=\"caption-attachment-19046\" class=\"wp-caption-text\">Figure16: SQL Server Installation<\/figcaption><\/figure>\n<p>You can run the following query to query the status of the installation.<\/p>\n<pre class=\"lang:default decode:true \">kubectl get pods<\/pre>\n<figure id=\"attachment_19047\" aria-describedby=\"caption-attachment-19047\" style=\"width: 515px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19047 size-full\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_606709f8c695f.png\" alt=\"\" width=\"515\" height=\"83\" \/><figcaption id=\"caption-attachment-19047\" class=\"wp-caption-text\">Figure17: SQL Server Pods<\/figcaption><\/figure>\n<p>As can be seen in Picture17, the installation has been successfully completed and our SQL Server installed Pod has been running for 3 minutes and 10 seconds. If you want to get more details about the Running Pod, you can use the code block below.<\/p>\n<pre class=\"lang:default decode:true \">kubectl describe pods mssql-deployment-7cb7b5c689-ktvk9<\/pre>\n<figure id=\"attachment_19048\" aria-describedby=\"caption-attachment-19048\" style=\"width: 715px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19048\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670a511fac6.png\" alt=\"\" width=\"715\" height=\"136\" \/><figcaption id=\"caption-attachment-19048\" class=\"wp-caption-text\">Picture18: Detailed information about Pod<\/figcaption><\/figure>\n<p>As you can see in Picture 18, we can even see the address of Pulling and the Pvc information it attaches, in detailed information.<\/p>\n<p>As the next step, we need to learn the IP address information of the running SQL Server. For this process, we can use the following code block.<\/p>\n<pre class=\"lang:default decode:true \">kubectl get services<\/pre>\n<figure id=\"attachment_19049\" aria-describedby=\"caption-attachment-19049\" style=\"width: 584px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19049\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670aa827a42.png\" alt=\"\" width=\"584\" height=\"84\" \/><figcaption id=\"caption-attachment-19049\" class=\"wp-caption-text\">Figure19: Learning the SQL Server IP address<\/figcaption><\/figure>\n<p>As can be seen in Picture19, we have learned both the Cluster&#8217;s internal IP address and External IP address. Now, let&#8217;s connect to the SQL Server with SQL Server Management Studio or Azure Data Studio.<\/p>\n<figure id=\"attachment_19050\" aria-describedby=\"caption-attachment-19050\" style=\"width: 412px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19050\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670b1b02ee9.png\" alt=\"\" width=\"412\" height=\"384\" \/><figcaption id=\"caption-attachment-19050\" class=\"wp-caption-text\">Figure20: SQL Server Connection successful<\/figcaption><\/figure>\n<p>As you can see, we did not have any problems accessing the SQL Server we installed. Now we&#8217;re connected, let&#8217;s create a new DB and add a few records.<\/p>\n<pre class=\"lang:default decode:true \">create database DMC\r\ngo\r\nuse DMC\r\ngo\r\ncreate table BLOG\r\n(\r\nBlogName varchar(50)\r\n)\r\nGo\r\ninsert into BLOG(BlogName) values('www.dmcteknoloji.com')\r\ninsert into BLOG(BlogName) values('www.caglarozenc.com')\r\ninsert into BLOG(BlogName) values('www.sqlekibi.com')\r\ninsert into BLOG(BlogName) values('www.mshowto.org')<\/pre>\n<p>We created a database named DMC, created a table named BLOG and insert four row into it.<\/p>\n<figure id=\"attachment_19051\" aria-describedby=\"caption-attachment-19051\" style=\"width: 450px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19051\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670b82e4af6.png\" alt=\"\" width=\"450\" height=\"235\" \/><figcaption id=\"caption-attachment-19051\" class=\"wp-caption-text\">Figure21: Creating the DMC database<\/figcaption><\/figure>\n<p>Now, we have actually come to the most important part of the work, and let&#8217;s delete the Pod we created using the command below, let&#8217;s see what will happen \ud83d\ude0a<\/p>\n<pre class=\"lang:default decode:true \">az aks delete --name dmc-demok8s  --resource-group rg-dmc-azure-k8s\r\n\r\n<\/pre>\n<figure id=\"attachment_19052\" aria-describedby=\"caption-attachment-19052\" style=\"width: 682px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19052\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670bdd5d785.png\" alt=\"\" width=\"682\" height=\"68\" \/><figcaption id=\"caption-attachment-19052\" class=\"wp-caption-text\">Picture22: We are deleting the Pod where SQL Server is installed.<\/figcaption><\/figure>\n<p>The deletion was also successful. We are checking Pods again.<\/p>\n<figure id=\"attachment_19054\" aria-describedby=\"caption-attachment-19054\" style=\"width: 458px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19054\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670c252317d.png\" alt=\"\" width=\"458\" height=\"66\" \/><figcaption id=\"caption-attachment-19054\" class=\"wp-caption-text\">Picture23: New Pod created automatically even if you delete the pod<\/figcaption><\/figure>\n<p>As can be seen in Resim23, although I deleted the existing Pod, a new Pod was created for me. I&#8217;m running the following code to check the Pod details created.<\/p>\n<pre class=\"lang:default decode:true \">kubectl get services<\/pre>\n<figure id=\"attachment_19055\" aria-describedby=\"caption-attachment-19055\" style=\"width: 389px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19055\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670c9b95374.png\" alt=\"\" width=\"389\" height=\"80\" \/><figcaption id=\"caption-attachment-19055\" class=\"wp-caption-text\">Picture24: SQL IP Address<\/figcaption><\/figure>\n<p>As can be seen in Picture24, the old Pod IP address has been assigned to the new Pod and the service names are also the same. But we deleted this pod. I want to check the BLOG table in the DMC database that I created by reconnecting with SQL Server Management Studio or Azure Data Studio to see if the data is still.<\/p>\n<figure id=\"attachment_19056\" aria-describedby=\"caption-attachment-19056\" style=\"width: 711px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19056\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/img_60670d0252f58.png\" alt=\"\" width=\"711\" height=\"226\" \/><figcaption id=\"caption-attachment-19056\" class=\"wp-caption-text\">Picture25: Bingo! The data are still available.<\/figcaption><\/figure>\n<p>As you can see, if you have successfully configured the Pv and Pvc configurations, the Pod&#8217;s crash or deletion or reboot does not cause any data loss for us. Even our IP address does not change.<\/p>\n<p>Now that we have successfully installed SQL Server on Azure Kubernetes Service, let&#8217;s not forget to delete the resource group we created on the Azure side and the resources in it, so that Microsoft does not invoice us \ud83d\ude0a<\/p>\n<pre class=\"lang:default decode:true \">az aks delete --name dmc-demok8s  --resource-group rg-dmc-azure-k8s<\/pre>\n<p>Now that we are done with dmc-azure-k8s, we can delete our azure kubernetes cluster service with peace of mind. If you want, you can delete the resource group we created for this operation after deleting the cluster. Remember, if the Resource Group is empty, you will not be billed separately.<\/p>\n<p>See you in our next article, goodbye.<\/p>\n<p><strong>DMC Bilgi Teknolojileri<br \/>\n\u00c7a\u011flar \u00d6ZEN\u00c7<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_19009\" class=\"pvc_stats all  \" data-element-id=\"19009\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this article, I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service, and how to install SQL server on Azure Kubernetes cluster. This topic will represent the introduction to the Azure Arc Enabled Data Services topic. What is Kubernetes? First of all, I think it would be better to start &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_19009\" class=\"pvc_stats all  \" data-element-id=\"19009\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1414,"featured_media":19059,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[10403,3],"tags":[],"class_list":["post-19009","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-azure","category-mssql"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SQL Server on Azure Kubernetes - Database Tutorials<\/title>\n<meta name=\"description\" content=\"I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service and how to install SQL server on Azure Kubernetes cluster.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server on Azure Kubernetes - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service and how to install SQL server on Azure Kubernetes cluster.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-02T12:38:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"820\" \/>\n\t<meta property=\"og:image:height\" content=\"419\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"\u00c7a\u011flar \u00d6zen\u00e7\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u00c7a\u011flar \u00d6zen\u00e7\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/\"},\"author\":{\"name\":\"\u00c7a\u011flar \u00d6zen\u00e7\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/92baa6fd666fb707d903177fed07d6ab\"},\"headline\":\"SQL Server on Azure Kubernetes\",\"datePublished\":\"2021-04-02T12:38:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/\"},\"wordCount\":2008,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg\",\"articleSection\":[\"Azure\",\"MSSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/\",\"name\":\"SQL Server on Azure Kubernetes - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg\",\"datePublished\":\"2021-04-02T12:38:25+00:00\",\"description\":\"I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service and how to install SQL server on Azure Kubernetes cluster.\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg\",\"width\":820,\"height\":419},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server on Azure Kubernetes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dbtut.com\/#website\",\"url\":\"https:\/\/dbtut.com\/\",\"name\":\"Database Tutorials\",\"description\":\"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux\",\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dbtut.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dbtut.com\/#organization\",\"name\":\"dbtut\",\"url\":\"https:\/\/dbtut.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"width\":223,\"height\":36,\"caption\":\"dbtut\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/92baa6fd666fb707d903177fed07d6ab\",\"name\":\"\u00c7a\u011flar \u00d6zen\u00e7\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/997658bc236de4f5a0f3f46e64535566e31ba96824c77c01165e863fc38fd1ba?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/997658bc236de4f5a0f3f46e64535566e31ba96824c77c01165e863fc38fd1ba?s=96&d=mm&r=g\",\"caption\":\"\u00c7a\u011flar \u00d6zen\u00e7\"},\"url\":\"https:\/\/dbtut.com\/index.php\/author\/caglarozenc\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL Server on Azure Kubernetes - Database Tutorials","description":"I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service and how to install SQL server on Azure Kubernetes cluster.","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:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server on Azure Kubernetes - Database Tutorials","og_description":"I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service and how to install SQL server on Azure Kubernetes cluster.","og_url":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/","og_site_name":"Database Tutorials","article_published_time":"2021-04-02T12:38:25+00:00","og_image":[{"width":820,"height":419,"url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg","type":"image\/jpeg"}],"author":"\u00c7a\u011flar \u00d6zen\u00e7","twitter_card":"summary_large_image","twitter_misc":{"Written by":"\u00c7a\u011flar \u00d6zen\u00e7","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/"},"author":{"name":"\u00c7a\u011flar \u00d6zen\u00e7","@id":"https:\/\/dbtut.com\/#\/schema\/person\/92baa6fd666fb707d903177fed07d6ab"},"headline":"SQL Server on Azure Kubernetes","datePublished":"2021-04-02T12:38:25+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/"},"wordCount":2008,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg","articleSection":["Azure","MSSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/","url":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/","name":"SQL Server on Azure Kubernetes - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg","datePublished":"2021-04-02T12:38:25+00:00","description":"I will be explaining how to create a Kubernetes cluster in Azure Kubernetes Service and how to install SQL server on Azure Kubernetes cluster.","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#primaryimage","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/04\/azurekubernetes.jpg","width":820,"height":419},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2021\/04\/02\/sql-server-on-azure-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"SQL Server on Azure Kubernetes"}]},{"@type":"WebSite","@id":"https:\/\/dbtut.com\/#website","url":"https:\/\/dbtut.com\/","name":"Database Tutorials","description":"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux","publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dbtut.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dbtut.com\/#organization","name":"dbtut","url":"https:\/\/dbtut.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","width":223,"height":36,"caption":"dbtut"},"image":{"@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dbtut.com\/#\/schema\/person\/92baa6fd666fb707d903177fed07d6ab","name":"\u00c7a\u011flar \u00d6zen\u00e7","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/997658bc236de4f5a0f3f46e64535566e31ba96824c77c01165e863fc38fd1ba?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/997658bc236de4f5a0f3f46e64535566e31ba96824c77c01165e863fc38fd1ba?s=96&d=mm&r=g","caption":"\u00c7a\u011flar \u00d6zen\u00e7"},"url":"https:\/\/dbtut.com\/index.php\/author\/caglarozenc\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/19009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/users\/1414"}],"replies":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/comments?post=19009"}],"version-history":[{"count":0,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/19009\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media\/19059"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=19009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=19009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=19009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}