Mengonfigurasi Kubernetes pada beberapa komputer untuk SQL Server penyebaran kluster big data

Berlaku untuk: SQL Server 2019 (15.x)

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk Kluster Big Data SQL Server 2019 akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung penuh pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan opsi Big data di platform Microsoft SQL Server.

Artikel ini menyediakan contoh cara menggunakan kubeadm untuk mengonfigurasi Kubernetes pada beberapa komputer untuk penyebaran SQL Server Kluster Big Data. Dalam contoh ini, beberapa komputer Ubuntu 16.04 atau 18.04 LTS (fisik atau virtual) adalah targetnya. Jika Anda menyebarkan ke platform Linux yang berbeda, Anda harus mengubah beberapa perintah agar sesuai dengan sistem Anda.

Tip

Untuk contoh skrip yang mengonfigurasi Kubernetes, lihat Membuat kluster Kubernetes menggunakan Kubeadm pada Ubuntu 20.04 LTS.

Untuk contoh skrip yang mengotomatiskan penyebaran penyebaran kubeadm simpul tunggal pada VM dan kemudian menyebarkan konfigurasi default kluster big data di atasnya, lihat menyebarkan kluster kubeadm simpul tunggal.

Prasyarat

  • Minimal tiga komputer fisik Linux atau komputer virtual
  • Konfigurasi yang disarankan per mesin:
    • 8 CPU
    • Memori 64 GB
    • Penyimpanan 100 GB

Penting

Sebelum memulai penyebaran kluster big data, pastikan jam disinkronkan di semua node Kubernetes yang ditargetkan penyebaran. Kluster big data memiliki properti kesehatan bawaan untuk berbagai layanan yang sensitif terhadap waktu dan ke condong jam dapat mengakibatkan status yang salah.

Menyiapkan mesin

Pada setiap komputer, ada beberapa prasyarat yang diperlukan. Di terminal bash, jalankan perintah berikut pada setiap komputer:

  1. Tambahkan komputer saat ini ke /etc/hosts file:

    echo $(hostname -i) $(hostname) | sudo tee -a /etc/hosts
    
  2. Nonaktifkan pertukaran di semua perangkat.

    sudo sed -i "/ swap / s/^/#/" /etc/fstab
    sudo swapoff -a
    
  3. Impor kunci dan daftarkan repositori untuk Kubernetes.

    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo sudo tee /etc/apt/trusted.gpg.d/apt-key.asc
    echo 'deb http://apt.kubernetes.io/ kubernetes-xenial main' | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
    
  4. Konfigurasikan prasyarat docker dan Kubernetes pada komputer.

    KUBE_DPKG_VERSION=1.15.0-00 #or your other target K8s version, which should be at least 1.13.
    sudo apt-get update && \
    sudo apt-get install -y ebtables ethtool && \
    sudo apt-get install -y docker.io && \
    sudo apt-get install -y apt-transport-https && \
    sudo apt-get install -y kubelet=$KUBE_DPKG_VERSION kubeadm=$KUBE_DPKG_VERSION kubectl=$KUBE_DPKG_VERSION && \
    curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
    
  5. Set net.bridge.bridge-nf-call-iptables=1. Pada Ubuntu 18.04, perintah berikut terlebih dahulu mengaktifkan br_netfilter.

    . /etc/os-release
    if [ "$VERSION_CODENAME" == "bionic" ]; then sudo modprobe br_netfilter; fi
    sudo sysctl net.bridge.bridge-nf-call-iptables=1
    

Mengonfigurasi master Kubernetes

Setelah menjalankan perintah sebelumnya pada setiap komputer, pilih salah satu komputer untuk menjadi master Kubernetes Anda. Kemudian jalankan perintah berikut pada komputer tersebut.

  1. Pertama, buat file rbac.yaml di direktori Anda saat ini dengan perintah berikut.

    cat <<EOF > rbac.yaml
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: default-rbac
    subjects:
    - kind: ServiceAccount
      name: default
      namespace: default
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    EOF
    
  2. Inisialisasi master Kubernetes pada komputer ini. Contoh skrip di bawah ini menentukan versi 1.15.0Kubernetes . Versi yang Anda gunakan tergantung pada kluster Kubernetes Anda.

    KUBE_VERSION=1.15.0
    sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=$KUBE_VERSION
    

    Anda akan melihat output bahwa master Kubernetes berhasil diinisialisasi.

  3. kubeadm join Perhatikan perintah yang perlu Anda gunakan di server lain untuk bergabung dengan kluster Kubernetes. Salin ini untuk digunakan nanti.

    gabungan kubeadm

  4. Siapkan file konfigurasi Kubernetes direktori beranda Anda.

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  5. Konfigurasikan kluster dan dasbor Kubernetes.

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    helm init
    kubectl apply -f rbac.yaml
    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
    kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
    

Mengonfigurasi agen Kubernetes

Komputer lain akan bertindak sebagai agen Kubernetes dalam kluster.

Pada setiap komputer lain, jalankan kubeadm join perintah yang Anda salin di bagian sebelumnya.

agen gabungan kubeadm

Melihat status kluster

Untuk memverifikasi koneksi ke kluster Anda, gunakan perintah kubectl get untuk menampilkan daftar simpul kluster.

kubectl get nodes

Langkah berikutnya

Langkah-langkah dalam artikel ini mengonfigurasi kluster Kubernetes pada beberapa komputer Ubuntu. Langkah selanjutnya adalah menyebarkan kluster big data SQL Server 2019. Untuk mengetahui petunjuknya, lihat artikel berikut ini:

Menyebarkan SQL Server di Kubernetes