You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/linux/sql-server-linux-containter-ha-overview.md
+33-13Lines changed: 33 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,15 +47,35 @@ SQL Server vNext supports availability groups on containers in a Kubernetes. For
47
47
48
48
In the image above, a four-node kubernetes clusters host an availability group with three replicas.
49
49
50
-
* One node contains a Kubernetes [*deployment*](http://kubernetes.io/docs/concepts/workloads/controllers/deployment/). The deployent includes the operator and a configuration map. Together these provide the container image, software, and instructions required to deploy SQL Server containers for an availability group.
50
+
* One node contains a Kubernetes [*deployment*](http://kubernetes.io/docs/concepts/workloads/controllers/deployment/). The deployment includes the operator and a configuration map. Together these provide the container image, software, and instructions required to deploy SQL Server instances for the availability group.
51
51
* The other three nodes each contain a [*StatefulSet*](http://kubernetes.io/docs/concepts/workloads/controllers/statefulset/). The StatefulSet contains a [*pod*](http://kubernetes.io/docs/concepts/workloads/pods/pod-overview/).
52
52
* The pod contains the SQL Server container and an availability group agent. The SQL Server container runs one instance of SQL Server.
53
-
* The Kubernetes cluster has two [*ConfigMaps*](http://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/)describes the deployment.
54
-
* One ConfigMap provides information to the deployment for the operator.
53
+
* The Kubernetes cluster has two [*ConfigMaps*](http://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/)related to the availability group.
54
+
* One ConfigMap provides information about the deployment for the operator.
55
55
* The other ConfigMap provides information about the availability group.
56
-
* The cluster stores [*secrets*](http://kubernetes.io/docs/concepts/configuration/secret/) for the passwords, certificates, keys, and other sensitive information.
56
+
* The cluster stores [*secrets*](http://kubernetes.io/docs/concepts/configuration/secret/) for the passwords, certificates, keys, and other sensitive information.
57
57
58
-
### SQL Server Kubernetes operator
58
+
## Deploy the availability group in Kubernetes
59
+
60
+
To deploy an availability group in Kubernetes:
61
+
62
+
1. Create the Kubernetes cluster
63
+
64
+
For an availability group, create at least three nodes. In samples, a fourth node hosts the operator.
65
+
66
+
1. Deploy the operator
67
+
68
+
1. Configure the storage
69
+
70
+
1. Deploy the StatefulSet
71
+
72
+
The operator listens for instructions to deploy the StatefulSet. It automatically creates the instances of SQL Server on 3 separate nodes and configures the availability group with an external cluster manager.
73
+
74
+
1. Create the databases and attach them to the availability group
75
+
76
+
For detailed steps, see [Configure a SQL Server Always On availability group in Kubernetes for high availability](tutorial-sql-server-ag-kubernetes.md).
77
+
78
+
## SQL Server Kubernetes operator
59
79
60
80
After you deploy the operator it registers a custom SQL Server resource. Use the operator to deploy this resource. Each resource corresponds to an instance of SQL Server and includes specific properties like `sapassword` and `monitoring policy`. The operator parses the resource and deploys a Kubernetes StatefulSet.
61
81
@@ -85,25 +105,25 @@ The code for the operator, agents and SQL Server is packaged in a Docker image c
85
105
86
106
*`mssql-server-k8s-init-sql`
87
107
88
-
This Kubernetes [job](http://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/) applies a desired state configuration to a SQL Server instance. The job is created by the operator every time a SqlServer resource is created or updated. It ensures that the target SQL Server instance corresponding to the custom resource has the desired configuration described in the resource.
108
+
This Kubernetes [job](http://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/) applies a desired state configuration to a SQL Server instance. The job is created by the operator every time a SqlServer resource is created or updated. It ensures that the target SQL Server instance corresponding to the custom resource has the desired configuration described in the resource.
89
109
90
110
For example, if any of the following settings are required, it completes them:
91
-
* Update the SA password
92
-
* Creates the SQL login for the agents
93
-
* Creates the DBM endpoint
94
-
111
+
* Update the SA password
112
+
* Creates the SQL login for the agents
113
+
* Creates the DBM endpoint
114
+
95
115
*`mssql-server-k8s-rotate-creds`
96
116
97
117
This Kubernetes job implements the rotate credentials task. Create this job to request updates to the SA password, agent SQL login password, DBM cert, etc. The SA password is specified as the job parameters. The others are auto-generated.
98
118
99
119
*`mssql-server-k8s-failover`
100
120
101
-
A Kubernetes job that implements the manual failover workflow
121
+
A Kubernetes job that implements the manual failover workflow.
102
122
103
123
### Notes
104
124
105
125
To deploy an AG in Kubernetes, define a SqlServer resource with the names of one or more AGs that the instance should be a part of.
106
126
107
-
Regardless of the AG configuration, The operator will always deploy the health monitoring container as well as the AG health container. If the SqlServer resource does not list any AG, the operator will still deploy these containers.
127
+
Regardless of the AG configuration, The operator will always deploy the AG monitor. If the SqlServer resource does not list any AG, the operator will still deploy these containers.
108
128
109
-
The version for the operator image is identical to the version for the SQL Server image `https://coreos.com/blog/introducing-operators.html
129
+
The version for the operator image is identical to the version for the SQL Server image.
0 commit comments