From a54c6fa1fbbd369368524833ac7e7348075b03d9 Mon Sep 17 00:00:00 2001 From: Md Mohin Uddin <45921824+mohin7@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:30:16 +0600 Subject: [PATCH] Add MSSQL server operator article (#247) Signed-off-by: mohin7 --- .../hero.jpg | Bin 0 -> 76997 bytes .../index.md | 366 ++++++++++++++++++ .../index.md | 2 +- 3 files changed, 367 insertions(+), 1 deletion(-) create mode 100644 content/articles/deploy-mssql-server-via-kubernetes-mssql-server-operator/hero.jpg create mode 100644 content/articles/deploy-mssql-server-via-kubernetes-mssql-server-operator/index.md diff --git a/content/articles/deploy-mssql-server-via-kubernetes-mssql-server-operator/hero.jpg b/content/articles/deploy-mssql-server-via-kubernetes-mssql-server-operator/hero.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0ae273862676aa4532f677d77a73a128aa81f41c GIT binary patch literal 76997 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≧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 1433/TCP 6m35s +service/mssqlserver-ag-cluster-pods ClusterIP None 1433/TCP 6m35s +service/mssqlserver-ag-cluster-secondary ClusterIP 10.128.213.243 1433/TCP 6m35s + +NAME TYPE VERSION AGE +appbinding.appcatalog.appscode.com/mssqlserver-ag-cluster kubedb.com/mssqlserver 2022 5m31s + +NAME VERSION STATUS AGE +mssqlserver.kubedb.com/mssqlserver-ag-cluster 2022-cu12 Ready 6m35s +``` +Let’s check if the database is ready to use, + +```bash +$ kubectl get mssqlserver -n demo mssqlserver-ag-cluster +NAME VERSION STATUS AGE +mssqlserver-ag-cluster 2022-cu12 Ready 7m11s +``` + + +### Accessing Database Through CLI + +To access your database through the CLI, you first need the credentials for the database. KubeDB will create several Kubernetes Secrets and Services for your MSSQL Server instance. To view them, use the following commands: + +```bash +$ kubectl get secret -n demo -l=app.kubernetes.io/instance=mssqlserver-ag-cluster +NAME TYPE DATA AGE +mssqlserver-ag-cluster-auth kubernetes.io/basic-auth 2 8m31s +mssqlserver-ag-cluster-client-cert kubernetes.io/tls 3 8m31s +mssqlserver-ag-cluster-dbm-login kubernetes.io/basic-auth 1 8m31s +mssqlserver-ag-cluster-endpoint-cert kubernetes.io/tls 3 8m31s +mssqlserver-ag-cluster-master-key kubernetes.io/basic-auth 1 8m31s +mssqlserver-ag-cluster-server-cert kubernetes.io/tls 3 8m31s + +$ kubectl get service -n demo -l=app.kubernetes.io/instance=mssqlserver-ag-cluster +NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE +mssqlserver-ag-cluster ClusterIP 10.128.113.192 1433/TCP 8m37s +mssqlserver-ag-cluster-pods ClusterIP None 1433/TCP 8m37s +mssqlserver-ag-cluster-secondary ClusterIP 10.128.213.243 1433/TCP 8m37s +``` + +From the above list, the `mssqlserver-ag-cluster-auth` Secret contains the admin-level credentials needed to connect to the database. Use the following commands to obtain the username and password: + +```bash +$ kubectl get secret -n demo mssqlserver-ag-cluster-auth -o jsonpath='{.data.username}' | base64 -d +sa +$ kubectl get secret -n demo mssqlserver-ag-cluster-auth -o jsonpath='{.data.password}' | base64 -d +dS57E93oLDi6wezv +``` + + +### Insert Sample Data + +In this section, we will insert sample data into our MSSQL Server deployed on Kubernetes. Before we can insert data, we need to identify the primary node, as data writes are only permitted on the primary node. + +To determine which pod is the primary node, run the following command to list the pods along with their roles: + +```bash +$ kubectl get pods -n demo --selector=app.kubernetes.io/instance=mssqlserver-ag-cluster -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubedb\.com/role}{"\n"}{end}' + +mssqlserver-ag-cluster-0 primary +mssqlserver-ag-cluster-1 secondary +mssqlserver-ag-cluster-2 secondary +``` + +From the output above, we can see that `mssqlserver-ag-cluster-0` is the primary node. To insert data, log into the primary MSSQL Server pod. Use the following command, + +```bash +$ kubectl exec -it mssqlserver-ag-cluster-0 -n demo bash +Defaulted container "mssql" out of: mssql, mssql-coordinator, mssql-init (init) +mssql@mssqlserver-ag-cluster-0:/$ /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "dS57E93oLDi6wezv" + +1> SELECT name FROM sys.databases +2> GO +name +-------------------------------------------------------------------------------------------------------------------------------- +master +tempdb +model +msdb +music +kubedb_system + +(6 rows affected) + +# Verify that the database 'music' has been created and added to the `availability group cluster`. Then, we will insert data into this `music` database. +1> SELECT database_name +2> FROM sys.availability_databases_cluster +3> GO +database_name +-------------------------------------------------------------------------------------------------------------------------------- +music + +(1 rows affected) + +1> USE music +2> GO +Changed database context to 'music'. + +1> CREATE TABLE Playlist (Artist NVARCHAR(255), Song NVARCHAR(255)); +2> GO +1> INSERT INTO Playlist(Artist, Song) VALUES ('Bobby Bare', 'Five Hundred Miles'); +2> GO + +(1 rows affected) +1> SELECT * FROM Playlist +2> GO + +Artist Song +--------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------- +Bobby Bare Five Hundred Miles + +(1 rows affected) +1> exit + +... + +# Confirm that the data inserted into the primary node has been replicated to the secondary nodes. +# Access the secondary node (Node 2) to verify that the data is present. +$ kubectl exec -it mssqlserver-ag-cluster-1 -n demo bash +Defaulted container "mssql" out of: mssql, mssql-coordinator, mssql-init (init) +mssql@mssqlserver-ag-cluster-1:/$ /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "dS57E93oLDi6wezv" + +1> USE music +2> GO +Changed database context to 'music'. + +1> SELECT * FROM Playlist +2> GO + +Artist Song +--------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------- +Bobby Bare Five Hundred Miles + +(1 rows affected) +1> exit + +... + +# Access the secondary node (Node 3) to verify that the data is present. +$ kubectl exec -it mssqlserver-ag-cluster-2 -n demo bash +Defaulted container "mssql" out of: mssql, mssql-coordinator, mssql-init (init) +mssql@mssqlserver-ag-cluster-2:/$ /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "dS57E93oLDi6wezv" + +1> USE music +2> GO +Changed database context to 'music'. + +1> SELECT * FROM Playlist +2> GO + +Artist Song +--------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------- +Bobby Bare Five Hundred Miles + +(1 rows affected) +1> exit +``` + +> Congratulations! We’ve successfully deployed MSSQL Server on Kubernetes using **Kubernetes MSSQL Server operator** KubeDB. Additionally, we've added sample data to the MSSQL Server and access it from every node of Availability Group Cluster. + +## MSSQL Server on Kubernetes: Best Practices +To ensure optimal performance and reliability of your MSSQL Server instances running within Kubernetes, consider the following best practices: + +* **Optimize Resource Utilization:** For efficient database performance and cost management, it’s essential to allocate resources appropriately for MSSQL Server. Carefully assess CPU, memory, and storage needs based on the specific workload requirements. Implement Horizontal Pod Autoscaler (HPA) to dynamically adjust resources according to workload fluctuations, ensuring your MSSQL Server instances can handle changes in demand without manual intervention. + +* **Monitoring and Observability:** To maintain optimal performance, set up comprehensive monitoring and observability for your MSSQL Server instances. Monitor key metrics such as query performance, CPU utilization, disk I/O, and memory consumption. Use tools like Prometheus and Grafana to visualize performance data and identify any potential bottlenecks or issues early. Proactively implement alerting mechanisms to get notified of anomalies before they impact system performance or availability. + +* **Disaster Recovery:** Establish a robust disaster recovery strategy for your SQL Server instances. Leverage Kubernetes features like StatefulSets for managing persistent storage and enable Always On Availability Groups for high availability. Regularly back up your databases and test your recovery procedures to ensure minimal downtime and data loss in the event of a failure. + +* **Security Configurations:** Protect your SQL Server environment in Kubernetes with strong security measures. Use Kubernetes Network Policies to enforce access restrictions for SQL Server pods. Enable Transparent Data Encryption (TDE) for data at rest, and utilize SQL Server’s role-based access control (RBAC) to define user permissions. + +## Conclusion + +Microsoft SQL Server, recognized for its robust performance and reliability in managing enterprise-grade data workloads, provides a powerful solution for organizations looking to optimize their database operations. Adopting best practices in database management, particularly within the dynamic Kubernetes environment, is essential for achieving efficiency and reliability. For more detailed information on MSSQL Server, refer to the official [MSSQL Server documentation](https://learn.microsoft.com/en-us/sql/sql-server/). Deploying MSSQL Server on Kubernetes using the Kubernetes MSSQL Server Operator simplifies management, combining the strengths of a traditional relational database with the scalability and flexibility of container orchestration. This approach facilitates automated provisioning, seamless scaling, and efficient resource management, ensuring high availability and optimal performance. The Kubernetes MSSQL Server Operator KubeDB streamlines these processes, supporting your infrastructure whether on-premises or in the cloud. By using this combination, you position your MSSQL Server deployments to be agile, resilient, and well-equipped to meet the demands of modern applications. + diff --git a/content/articles/how-to-deploy-druid-using-kubernetes-druid-operator/index.md b/content/articles/how-to-deploy-druid-using-kubernetes-druid-operator/index.md index d75dd7ad40..cbe4547267 100644 --- a/content/articles/how-to-deploy-druid-using-kubernetes-druid-operator/index.md +++ b/content/articles/how-to-deploy-druid-using-kubernetes-druid-operator/index.md @@ -13,7 +13,7 @@ As cloud-native architectures continue to evolve, the management of large-scale, Druid, a high-performance, distributed analytics database, is designed to handle real-time data ingestion and interactive analytical queries on large datasets. It is particularly well-suited for use cases involving fast, ad-hoc analytics on high volumes of time-series or event-based data. However, deploying and managing Druid in Kubernetes presents unique challenges, such as ensuring optimal resource allocation, maintaining high availability, and scaling across many nodes. -This article will explore the role of the **Kubernetes Druid Operator**, highlighting its benefits in simplifying the management of Druid within Kubernetes environments. We’ll walk you through how to deploy Druid using the Kubernetes Druid Operator, covering the essential steps to get your Druid cluster up and running in a Kubernetes environment. Also, We'll discuss the core functionalities of the Kubernetes Druid Operator, its advantages for Kubernetes-native deployments, and best practices for ensuring scalability, high availability, and performance of Druid clusters. +This article covers the importance of Druid in the context of database management within a Kubernetes environment. We will explore the fundamentals of Druid, highlighting its significance in real-time analytics and effective data handling, while also offering best practices for deploying and configuring Druid on Kubernetes. By the end of this article, you will have a thorough understanding of how to deploy Druid in Kubernetes using the **Kubernetes Druid Operator**, as well as how Druid's integration with Kubernetes strengthens your approach to managing distributed analytics platforms in a dynamic ecosystem. ## Advantage of Druid in Kubernetes Deploying Druid in Kubernetes presents a unique set of advantages that align with the platform's strengths in managing distributed systems at scale. Kubernetes offers powerful automation and orchestration capabilities, enabling organizations to seamlessly manage the complexities of large-scale, distributed data systems like Druid. As a real-time analytics database, Druid requires a robust environment that can handle high data ingestion rates and provide quick responses to complex queries over large datasets. Kubernetes, with its dynamic scaling, self-healing, and efficient resource management, offers an ideal foundation for deploying and operating Druid at scale.