<p>I just started researching Kubernetes. I have 2 Windows VM on hyper-v. One is a SQL server and one is an application server with a .net application. How can I migrate my SQL and APP servers to Kubernetes in an architecture so that applications can continue to run at the time of failover or down.</p>
<p>Thanks.</p>

ufukcam
<blockquote>
<p>in an architecture so that applications can continue to run at the time of failover or down.</p>
</blockquote>
<p>To achieve this, you need to make sure that you don't have any single point of failure. Kubernetes is well architected for this kind of workload.</p>
<blockquote>
<p>an application server with a .net application</p>
</blockquote>
<p>For this to run well in a container, it would be good to rewrite your app so it is run as a single process. This can be done in many different ways, but see e.g. <a href="https://learn.microsoft.com/en-us/dotnet/architecture/containerized-lifecycle/design-develop-containerized-apps/build-aspnet-core-applications-linux-containers-aks-kubernetes" rel="nofollow noreferrer">Build ASP.NET Core applications deployed to Kubernetes</a>.</p>
<blockquote>
<p>a SQL server</p>
</blockquote>
<p>This is more challenging, since older relational database systems are architected for <em>single node systems</em>. It is easiest to run this <strong>outside</strong> your Kubernetes cluster, but with network access from your cluster. If you really want to run your relational database system in Kubernetes, you should use a <strong>distributed database system</strong>, e.g. <a href="https://www.cockroachlabs.com/" rel="nofollow noreferrer">CockroachDB</a> that has a PostgreSQL-like SQL syntax and is designed to run in a Kubernetes.</p>
