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/big-data-cluster/deploy-openshift.md
+45-38Lines changed: 45 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,32 +32,44 @@ This article outlines deployment steps that are specific to the OpenShift platfo
32
32
> [!IMPORTANT]
33
33
> Below pre-requisites must be performed by a OpenShift cluster admin (cluster-admin cluster role) that has sufficient permissions to create these cluster level objects. For more information on cluster roles in OpenShift see [Using RBAC to define and apply permissions](https://docs.openshift.com/container-platform/4.4/authentication/using-rbac.html).
34
34
35
-
1. Create a custom security context constraint (SCC) using the attached [`bdc-scc.yaml`](#bdc-sccyaml-file).
35
+
1. Ensure the **pidsLimit** setting on the OpenShift is updated to accommodate SQL Server workloads. The default value in OpenShift is too low for production like workloads. We recommend a value of at least **4096**, but the optimal value will depend of the *max worker threads* setting in SQL Server and the number of CPU processors on the OpenShift host node.
36
+
- To find out how to update **pidLimit** for your OpenShift cluster see [here](https://github.com/openshift/machine-config-operator/blob/master/docs/ContainerRuntimeConfigDesign.md). Note that OpenShift versions before **4.3.5** had a defect causing the updated value to not take effect. Make sure you upgrade OpenShift to the latest version.
37
+
- To help you compute the optimal value depending on your environment and planned SQL Server workloads, you can use the estimation and examples below:
36
38
37
-
```console
38
-
oc apply -f bdc-scc.yaml
39
-
```
39
+
|Number of processors|Default max worker threads|Default workers per processor|Minimum pidsLimit value|
> The custom SCC for BDC is based on the built-in *nonroot* SCC in OpenShift, with additional permissions. To learn more about security context constraints in OpenShift see [Managing Security Context Constraints](https://docs.openshift.com/container-platform/4.3/authentication/managing-security-context-constraints.html). For a detailed information on what additional permissions are required for big data clusters on top of the *nonroot* SCC, download the whitepaper [here](https://aka.ms/sql-bdc-openshift-security).
44
+
> [!NOTE]
45
+
> Other processes (e.g. backups, CLR, Fulltext, SQLAgent) also add some overhead, so add a buffer to the estimated value.
46
+
47
+
2. Create a custom security context constraint (SCC) using the attached [`bdc-scc.yaml`](#bdc-sccyaml-file).
43
48
44
-
2. Create a namespace/project:
49
+
```console
50
+
oc apply -f bdc-scc.yaml
51
+
```
52
+
53
+
> [!NOTE]
54
+
> The custom SCC for BDC is based on the built-in *nonroot* SCC in OpenShift, with additional permissions. To learn more about security context constraints in OpenShift see [Managing Security Context Constraints](https://docs.openshift.com/container-platform/4.3/authentication/managing-security-context-constraints.html). For a detailed information on what additional permissions are required for big data clusters on top of the *nonroot* SCC, download the whitepaper [here](https://aka.ms/sql-bdc-openshift-security).
55
+
56
+
3. Create a namespace/project:
45
57
46
58
```console
47
59
oc new-project <namespaceName>
48
60
```
49
61
50
-
3. Assign the custom SCC to the service accounts for users within the namespace where BDC is deployed:
62
+
4. Assign the custom SCC to the service accounts for users within the namespace where BDC is deployed:
4. Assign appropriate permission to the user deploying BDC. Do one of the following.
68
+
5. Assign appropriate permission to the user deploying BDC. Do one of the following.
57
69
58
-
1. If the user deploying BDC has cluster-admin role, proceed to [deploy big data cluster](#deploy-big-data-cluster).
70
+
- If the user deploying BDC has cluster-admin role, proceed to [deploy big data cluster](#deploy-big-data-cluster).
59
71
60
-
1. If the user deploying BDC is a namespace admin, assign the user cluster-admin local role for the namespace created. This is the preferred option for the user deploying and managing the big data cluster to have namespace level admin permissions.
72
+
- If the user deploying BDC is a namespace admin, assign the user cluster-admin local role for the namespace created. This is the preferred option for the user deploying and managing the big data cluster to have namespace level admin permissions.
2. Clone one of the built-in configuration files for OpenShift.
77
-
78
-
1. If your target environment is OpenShift.
79
-
2. Clone one of the built-in configuration files for OpenShift, depending on your target environment (OpenShift on premises or ARO) and deployment scenario. See this section [link](//TODO add link) on settings that are specific to OpenShift in the built-in configuration files. For more details on available configuration files see [deployment guidance](deployment-guidance.md).
88
+
1. Clone one of the built-in configuration files for OpenShift, depending on your target environment (OpenShift on premises or ARO) and deployment scenario. See the *OpenShift specific settings in the deployment configuration files* section below for settings that are specific to OpenShift in the built-in configuration files. For more details on available configuration files see [deployment guidance](deployment-guidance.md).
80
89
81
90
List all the available built-in configuration files.
82
91
@@ -96,24 +105,24 @@ This article outlines deployment steps that are specific to the OpenShift platfo
3. Customize the configuration files control.json and bdc.json. Here are some additional resources that guide you through the customizations supported for various use cases:
108
+
1. Customize the configuration files control.json and bdc.json. Here are some additional resources that guide you through the customizations supported for various use cases:
100
109
101
-
1.[Storage](concept-data-persistence.md)
102
-
1.[AD related settings](deploy-active-directory.md)
6. Upon successful deployment, you can log in and list the external cluster endpoints:
125
+
1. Upon successful deployment, you can log in and list the external cluster endpoints:
117
126
118
127
```console
119
128
azdata login -n mssql-cluster
@@ -122,7 +131,7 @@ This article outlines deployment steps that are specific to the OpenShift platfo
122
131
123
132
## OpenShift specific settings in the deployment configuration files
124
133
125
-
SQL Server 2019 CU5 introduces two feature switches to control the collection of pod and node metrics. These parameters are set to *false* by default in the built-in profiles for OpenShift since the monitoring containers require [privileged security context](https://www.openshift.com/blog/managing-sccs-in-openshift), which will relax some of the secuirty constraints for the namespace BDC is deployed on.
134
+
SQL Server 2019 CU5 introduces two feature switches to control the collection of pod and node metrics. These parameters are set to *false* by default in the built-in profiles for OpenShift since the monitoring containers require [privileged security context](https://www.openshift.com/blog/managing-sccs-in-openshift), which will relax some of the security constraints for the namespace BDC is deployed on.
126
135
127
136
```json
128
137
"security": {
@@ -137,13 +146,11 @@ The name of the default storage class in ARO is managed-premium (as opposed to A
A SQL Server big data cluster is deployed as docker containers on a Kubernetes cluster. This is an overview of the setup and configuration steps:
19
19
20
-
- Set up a Kubernetes cluster on a single VM, cluster of VMs, or in Azure Kubernetes Service (AKS).
20
+
- Set up a Kubernetes cluster on a single VM, cluster of VMs, in Azure Kubernetes Service (AKS), Red Hat OpenShift or in Azure Red Hat OpenShift (ARO).
21
21
- Install the cluster configuration tool `azdata` on your client machine.
22
22
- Deploy a SQL Server big data cluster in a Kubernetes cluster.
23
23
24
-
25
24
## Supported platforms
26
25
27
-
This section explains platforms that are supported with BDC.
28
-
29
-
### Kubernetes platforms
30
-
31
-
|Platform|Supported versions|
32
-
|---------|---------|
33
-
|Kubernetes|BDC requires Kubernetes version minimum 1.13 for both server and client (kubectl). See [Kubernetes version and version skew support policy](https://kubernetes.io/docs/setup/release/version-skew-policy/) for Kubernetes version support policy.|
34
-
|Azure Kubernetes Service (AKS)|BDC requires AKS version minimum 1.13.<br/>See [Supported Kubernetes versions in AKS](/azure/aks/supported-kubernetes-versions) for version support policy.|
35
-
36
-
> [!NOTE]
37
-
> Note that the client and server Kubernetes versions should be within +1 or -1 minor version. For more information, see [Kubernetes release notes and version skew SKU policy)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/release/versioning.md#supported-releases-and-component-skew).
38
-
39
-
### Host OS for Kubernetes
40
-
41
-
|Platform|Supported versions|
42
-
|---------|---------|
43
-
|Red Hat Enterprise Linux|7.3, 7.4, 7.5, 7.6|
44
-
|Ubuntu|16.04|
26
+
See [Supported platforms](release-notes-big-data-cluster.md#supported-platforms) for a complete list of the various Kubernetes platforms validated for deploying SQL Server Big Data Clusters.
45
27
46
28
### SQL Server Editions
47
29
@@ -51,8 +33,6 @@ This section explains platforms that are supported with BDC.
If you already have a Kubernetes cluster that meets the above prerequisites, then you can skip directly to the [deployment step](#deploy). This section assumes a basic understanding of Kubernetes concepts. For detailed information on Kubernetes, see the [Kubernetes documentation](https://kubernetes.io/docs/home).
Copy file name to clipboardExpand all lines: docs/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ ms.custom: contperfq4
32
32
33
33
- If the affinity mask option is not set to the default, it may restrict the number of processors available to [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] on symmetric multiprocessing (SMP) systems.
34
34
35
-
- The **max degree of parallelism (MAXDOP)** limit is set per [task](../../relational-databases/system-dynamic-management-views/sys-dm-os-tasks-transact-sql.md). It is not a per [request](../../relational-databases/system-dynamic-management-views/sys-dm-exec-requests-transact-sql.md) or per query limit. This means that during a parallel query execution, a single request can spawn multiple tasks which are assigned to a scheduler. For more information, see the [Thread and Task Architecture Guide](../../relational-databases/thread-and-task-architecture-guide.md).
35
+
- The **max degree of parallelism (MAXDOP)** limit is set per [task](../../relational-databases/system-dynamic-management-views/sys-dm-os-tasks-transact-sql.md). It is not a per [request](../../relational-databases/system-dynamic-management-views/sys-dm-exec-requests-transact-sql.md) or per query limit. This means that during a parallel query execution, a single request can spawn multiple tasks up to the MAXDOP limit, and each task will use one worker and one scheduler. For more information, see the *Scheduling parallel tasks* section in the [Thread and Task Architecture Guide](../../relational-databases/thread-and-task-architecture-guide.md).
Copy file name to clipboardExpand all lines: docs/relational-databases/replication/configure-distribution-availability-group.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,7 +68,7 @@ After a distribution database in the AG is configured based on the steps describ
68
68
>[!NOTE]
69
69
>Before executing any of replication stored procedures (for example - `sp_dropdistpublisher`, `sp_dropdistributiondb`, `sp_dropdistributor`, `sp_adddistributiondb`, `sp_adddistpublisher`) on secondary replica, make sure the replica is fully synchronized.
70
70
71
-
- All secondary replicas in a distribution database AG should be readable. If a secondary replica is not readable, distributor properties in SQL Server Management Studio on the particular secondary replica can not be accessed.
71
+
- All secondary replicas in a distribution database AG should be readable. If a secondary replica is not readable, distributor properties in SQL Server Management Studio on the particular secondary replica can not be accessed, however replication will continue to work correctly.
72
72
- All the nodes in the distribution database AG need to use the same domain account to run SQL Server Agent, and this domain account needs to have the same privilege on each node.
73
73
- If any replication agents run under a proxy account, the proxy account needs to exist in every node in the distribution database AG and have the same privilege on each node.
74
74
- Make changes to distributor or distribution database properties in all replicas participating in distribution database AG.
0 commit comments