Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content

Commit e753b51

Browse files
committed
Update image and structure of intro topic.
1 parent 280222c commit e753b51

4 files changed

Lines changed: 36 additions & 28 deletions

File tree

docs/linux/TOC.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@
2727
### [SMB](sql-server-linux-shared-disk-cluster-configure-smb.md)
2828
## [7_Deploy a Pacemaker cluster](sql-server-linux-deploy-pacemaker-cluster.md)
2929
## [8_Create and configure availability groups](sql-server-linux-create-availability-group.md)
30-
## [10_Availability group on containers with Kubernetes](tutorial-sql-server-ag-kubernetes.md)
30+
## [10_High availability on containers]
31+
### [Deploy on Kubernetes](tutorial-sql-server-containers-kubernetes.md)
32+
### [Deploy on Kubernetes with availability groups](tutorial-sql-server-ag-kubernetes.md)
3133

3234
# Concepts
3335
## Install
@@ -94,7 +96,6 @@
9496
##### [Fail over primary replica](sql-server-linux-kubernetes-failover-job.md)
9597
##### [Rotate credentials](sql-server-linux-kubernetes-rotate-credentials.md)
9698
##### [Create listener services for secondary replicas](sql-server-linux-kubernetes-secondary-replica-listeners.md)
97-
#### [Configure with shared disk](tutorial-sql-server-containers-kubernetes.md)
9899

99100
## [Security](sql-server-linux-security-overview.md)
100101
### [Get started with security features](sql-server-linux-security-get-started.md)
2.16 KB
Loading

docs/linux/sql-server-ag-kubernetes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,4 @@ The version for the operator image is identical to the version for the SQL Serve
109109

110110
## Next steps
111111

112-
> [SQL Server shared storage solution](tutorial-sql-server-containers-kubernetes.md)
112+
> [SQL Server container in Kubernetes](tutorial-sql-server-containers-kubernetes.md)

docs/linux/sql-server-linux-containter-ha-overview.md

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,55 +15,62 @@ ms.technology: linux
1515

1616
# High availability for SQL Server containers
1717

18-
SQL Server workloads on containers can provide high availability with container orchestration through [Kubernetes](http://kubernetes.io/).
18+
Create and manage your SQL Server instances natively in Kubernetes.
1919

20-
Two deployment patterns on Kubernetes can provide high availability for SQL Server.
20+
You can [deploy SQL Server to docker containers](tutorial-sql-server-ag-kubernetes.md) managed by [Kubernetes](https://kubernetes.io/). In Kubernetes, a container with a SQL Server instance to automatically recover in case a cluster node fails. For faster recovery, you can configure SQL Server Always On availability group with SQL Server instances in containers on a Kubernetes cluster. This article compares the two solutions.
2121

22-
* [A SQL Server Always On availability group hosted on SQL Server containers in Kubernetes](tutorial-sql-server-ag-kubernetes.md).
22+
## Container with SQL Server instance on Kubernetes
2323

24-
* [A SQL Server container with peristent storage](tutorial-sql-server-containers-kubernetes.md).
24+
Kubernetes 1.6 and later has support for [*storage classes*](http://kubernetes.io/docs/concepts/storage/storage-classes/), [*persistent volume claims*](http://kubernetes.io/docs/concepts/storage/storage-classes/#persistentvolumeclaims), and the [*Azure disk volume type*](https://github.com/kubernetes/examples/tree/master/staging/volumes/azure_disk).
2525

26-
## A SQL Server Always On availability group hosted on SQL Server containers in Kubernetes
26+
In this configuration, Kubernetes plays the role of the container orchestrator.
27+
28+
![Diagram of Kubernetes SQL Server cluster](media/tutorial-sql-server-containers-kubernetes/kubernetes-sql.png)
29+
30+
In the preceding diagram, `mssql-server` is a SQL Server instance (container) in a [*pod*](http://kubernetes.io/docs/concepts/workloads/pods/pod/). A [replica set](http://kubernetes.io/docs/concepts/workloads/controllers/replicaset/) ensures that the pod is automatically recovered after a node failure. Applications connect to the service. In this case, the service represents a load balancer that hosts an IP address that stays the same after failure of the `mssql-server`.
31+
32+
Kubernetes orchestrates the resources in the cluster. When a pod or node hosting a SQL Server instance in a container fails, the orchestrator bootstraps another container with a SQL Server instance and attaches it to the same persistent storage.
33+
34+
## A SQL Server Always On availability group on SQL Server containers in Kubernetes
2735

2836
SQL Server vNext supports availability groups on containers in a Kubernetes. For availability groups, deploy the SQL Server [Kubernetes operator](http://coreos.com/blog/introducing-operators.html) to your Kubernetes cluster. The operator helps package, deploy, and manage the availability group in a cluster.
2937

3038
![AG in Kubernetes Container](media/tutorial-sql-server-ag-containers-kubernetes/KubernetesCluster.png)
3139

32-
In the image above, a four-node kubernetes clusters host an availability group with three replicas. The solution includes the following components:
40+
In the image above, a four-node kubernetes cluster hosts an availability group with three replicas. The solution includes the following components:
3341

3442
* A Kubernetes [*deployment*](http://kubernetes.io/docs/concepts/workloads/controllers/deployment/). The deployment includes the operator and a configuration map. These provide the container image, software, and instructions required to deploy SQL Server instances for the availability group.
3543

36-
* Three nodes, each hosting a [*StatefulSet*](http://kubernetes.io/docs/concepts/workloads/controllers/statefulset/). The StatefulSet contains a [*pod*](http://kubernetes.io/docs/concepts/workloads/pods/pod-overview/). Each pod contains:
44+
* Three nodes, each hosting a [*StatefulSet*](http://kubernetes.io/docs/concepts/workloads/controllers/statefulset/). The StatefulSet contains a pod. Each pod contains:
3745
* A SQL Server container running one instance of SQL Server.
38-
* An availability group agent.
46+
* An availability group agent.
3947

4048
* Two [*ConfigMaps*](http://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/) related to the availability group. The ConfigMaps provide information about:
4149
* The deployment for the operator.
4250
* The availability group.
4351

44-
* [*Persistent volumes*](http://kubernetes.io/docs/concepts/storage/persistent-volumes/) are pieces of storage. A *persistent volume claim* (PVC) is a request for storage by a user. Each container is affiliated with a PVC for the data and log storage. In Azure Kubernetes Service (AKS), you [create a persistent volume claim](http://docs.microsoft.com/azure/aks/azure-disks-dynamic-pv) to automatically provision storage based on a storage class.
45-
52+
* Persistent volumes for each instance of SQL Server provide the storage for the data and log files.
4653

4754
In addition, the cluster stores [*secrets*](http://kubernetes.io/docs/concepts/configuration/secret/) for the passwords, certificates, keys, and other sensitive information.
4855

49-
## SQL Server container with persistent storage
56+
## Compare SQL Server high availabiltiy on containers with and without the availability group
5057

51-
Kubernetes 1.6 and later has support for [storage classes](http://kubernetes.io/docs/concepts/storage/storage-classes/), [persistent volume claims](http://kubernetes.io/docs/concepts/storage/storage-classes/#persistentvolumeclaims), and the [Azure disk volume type](https://github.com/kubernetes/examples/tree/master/staging/volumes/azure_disk). You can create and manage your SQL Server instances natively in Kubernetes. The example in this article shows how to create a [deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) to achieve a high availability configuration similar to a shared disk failover cluster instance. In this configuration, Kubernetes plays the role of the cluster orchestrator. When a SQL Server instance in a container fails, the orchestrator bootstraps another instance of the container that attaches to the same persistent storage.
58+
The following table compairs the high SQL Server availability capability containers on Kubernetes with, and without an availabilty group:
5259

53-
![Diagram of Kubernetes SQL Server cluster](media/tutorial-sql-server-containers-kubernetes/kubernetes-sql.png)
54-
55-
In the preceding diagram, `mssql-server` is a container in a [pod](http://kubernetes.io/docs/concepts/workloads/pods/pod/). Kubernetes orchestrates the resources in the cluster. A [replica set](http://kubernetes.io/docs/concepts/workloads/controllers/replicaset/) ensures that the pod is automatically recovered after a node failure. Applications connect to the service. In this case, the service represents a load balancer that hosts an IP address that stays the same after failure of the `mssql-server`.
56-
57-
In the following diagram, the `mssql-server` container has failed. As the orchestrator, Kubernetes guarantees the correct count of healthy instances in the replica set, and starts a new container according to the configuration. The orchestrator starts a new pod on the same node, and `mssql-server` reconnects to the same persistent storage. The service connects to the re-created `mssql-server`.
58-
59-
![Diagram of Kubernetes SQL Server cluster](media/tutorial-sql-server-containers-kubernetes/kubernetes-sql-after-pod-fail.png)
60-
61-
In the following diagram, the node hosting the `mssql-server` container has failed. The orchestrator starts the new pod on a different node, and `mssql-server` reconnects to the same persistent storage. The service connects to the re-created `mssql-server`.
62-
63-
![Diagram of Kubernetes SQL Server cluster](media/tutorial-sql-server-containers-kubernetes/kubernetes-sql-after-node-fail.png)
60+
| |With an availability group | Standalone container instance
61+
|:------|:------|:------
62+
|Automatically recover from node failure | Yes | Yes
63+
|Automatically recover from pod failure | Yes | Yes
64+
|Faster failover |Yes |
65+
|Automatically recover from SQL Server instance failure | Yes |
66+
|Automatically recover from database health check failure | Yes |
67+
|Provide read-only replicas | Yes |
68+
|Secondary replica backup | Yes |
6469

6570
## Next steps
6671

67-
[Configure a SQL Server container in Kubernetes for high availability](tutorial-sql-server-containers-kubernetes.md)
72+
To deploy SQL Server containers in Azure Kubernetes Service (AKS), follow one of these tutorials:
73+
74+
* [Deploy a SQL Server container in Kubernetes](tutorial-sql-server-containers-kubernetes.md).
75+
* [Deploy a SQL Server Always On availability group Kubernetes](tutorial-sql-server-ag-kubernetes.md).
6876

69-
[Configure a SQL Server Always On availability group on Docker containers in Kubernetes with Azure Kubernetes Service (AKS)](tutorial-sql-server-ag-kubernetes.md)

0 commit comments

Comments
 (0)