Kubernetes araçlarını kullanarak Azure SQL yönetilen örneği oluşturma

Not

Önizleme özelliği olarak, bu makalede sunulan teknoloji Microsoft Azure önizlemeleri Için ek kullanım koşulları'na tabidir.

Sürüm notlarındaen son güncelleştirmeler mevcuttur.

Geçerli güncelleştirme için doğrudan bağlantı modundaki Arc veri denetleyicisi dağıtımı yalnızca Azure portal desteklenir.

Önkoşullar

Zaten bir Azure Arc veri denetleyicisioluşturmuş olmanız gerekir.

Kubernetes araçlarını kullanarak bir SQL yönetilen örneği oluşturmak için Kubernetes araçları 'nın yüklü olması gerekir. Bu makaledeki örneklerde kullanılacak kubectl , ancak benzer yaklaşımlar, Kubernetes panosu gibi diğer Kubernetes araçlarıyla oc veya helm Bu araçlar ve Kubernetes YAML/JSON hakkında bilginiz varsa kullanılabilir.

Kubectl aracını kurma

Genel Bakış

Bir SQL yönetilen örneği oluşturmak için, sistem yöneticinizin oturum açma ve parolasını güvenli bir şekilde depolamak üzere bir Kubernetes gizli anahtarı ve sqlmanagedınstance özel kaynak tanımına dayalı olarak bir SQL yönetilen örnek özel kaynağı oluşturmanız gerekir.

YAML dosyası oluşturma

Kendi özel SQL yönetilen örneğiniz YAML Dosyanızı oluşturmak için bir başlangıç noktası olarak, YAML dosyasını şablon olarak kullanabilirsiniz. Bu dosyayı yerel bilgisayarınıza indirip bir metin düzenleyicisinde açın. YAML dosyaları için söz dizimi vurgulamasını destekleyen vs Code gibi bir metin Düzenleyicisi kullanmak faydalıdır.

Bu örnek bir YAML dosyasıdır:

apiVersion: v1
data:
  password: <your base64 encoded password>
  username: <your base64 encoded username>
kind: Secret
metadata:
  name: sql1-login-secret
type: Opaque
---
apiVersion: sql.arcdata.microsoft.com/v1alpha1
kind: sqlmanagedinstance
metadata:
  name: sql1
  annotations:
    exampleannotation1: exampleannotationvalue1
    exampleannotation2: exampleannotationvalue2
  labels:
    examplelabel1: examplelabelvalue1
    examplelabel2: examplelabelvalue2
spec:
  scheduling:
    default:
      resources:
        limits:
          cpu: "2"
          memory: 4Gi
        requests:
          cpu: "1"
          memory: 2Gi
  services:
    primary:
      type: LoadBalancer
  storage:
    backups:
      volumes:
      - className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
        size: 5Gi
    data:
      volumes:
      - className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
        size: 5Gi
    datalogs:
      volumes:
      - className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
        size: 5Gi
    logs:
      volumes:
      - className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
        size: 5Gi

Oturum açma ve parolayı özelleştirme

Bir Kubernetes parolası, Kullanıcı adı ve diğeri parola için Base64 kodlamalı dize olarak depolanır. Bir Sistem Yöneticisi oturum açma ve parola kodlamanız ve bunları ve yer tutucu konumuna yerleştirmeniz gerekir data.password data.username . < > Şablonda sunulan ve sembollerini eklemeyin.

Not

En iyi güvenlik için, ' sa ' değerini kullanarak oturum açma için izin verilmez. Parola karmaşıklığı ilkesiniizleyin.

İstediğiniz kullanıcı adınızı ve parolanızı Base64 olarak kodlamak için çevrimiçi bir araç kullanabilir veya platformunuza bağlı olarak yerleşik CLı araçlarını kullanabilirsiniz.

PowerShell

[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('<your string to encode here>'))

#Example
#[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('example'))

Linux/macOS

echo -n '<your string to encode here>' | base64

#Example
# echo -n 'example' | base64

Adı özelleştirme

Şablon, Name özniteliği için ' SQL1 ' değerine sahip. Bunu değiştirebilirsiniz, ancak DNS adlandırma standartlarını izleyen karakterler olmalıdır. Ayrıca, eşleştirilecek gizli anahtar adını da değiştirmelisiniz. Örneğin, SQL yönetilen örneğinin adını ' SQL2 ' olarak değiştirirseniz, gizli anahtar adını ' SQL1-Login-Secret ' iken ' SQL2-Login-Secret ' olarak değiştirmeniz gerekir

Kaynak gereksinimlerini özelleştirme

Kaynak gereksinimlerini (RAM ve çekirdek sınırları ve istekleri) gerektiği gibi değiştirebilirsiniz.

Not

Kubernetes Resource idarehakkında daha fazla bilgi edinebilirsiniz.

Kaynak sınırları ve istekleri için gereksinimler:

  • Fatura amaçları için çekirdek sınırı değeri gereklidir .
  • Kaynak isteklerinin ve limitlerin geri kalanı isteğe bağlıdır.
  • Çekirdek sınırı ve isteği belirtilmişse pozitif bir tamsayı değeri olmalıdır.
  • Belirtilmişse, çekirdekler isteği için en az 2 çekirdek gereklidir.
  • Bellek değeri biçimi Kubernetes gösterimini izler.
  • Belirtilmişse bellek isteği için en az 2Gı gereklidir.
  • Genel bir kılavuz olarak, üretim kullanım örnekleri için her 1 çekirdek için 4 GB RAM olmalıdır.

Hizmet türünü özelleştirme

İstenirse, hizmet türü NodePort olarak değiştirilebilir. Rastgele bir bağlantı noktası numarası atanacaktır.

Depolamayı özelleştirme

Depolama sınıflarını, ortamınızda eşleşecek şekilde özelleştirebilirsiniz. Hangi depolama sınıflarının kullanılabilir olduğundan emin değilseniz, kubectl get storageclass bunları görüntülemek için komutunu çalıştırabilirsiniz. Şablonun ' default ' varsayılan değeri vardır. Bu, varsayılan olarak ' default ' adlı bir depolama sınıfı olduğu anlamına gelir. Ayrıca, isteğe bağlı olarak depolamanın boyutunu değiştirebilirsiniz. Depolama yapılandırmasıhakkında daha fazla bilgi edinebilirsiniz.

SQL yönetilen örneği oluşturma

SQL yönetilen örnek YAML dosyasını özelleştirmiş olduğunuza göre, aşağıdaki komutu çalıştırarak SQL yönetilen örneğini oluşturabilirsiniz:

kubectl create -n <your target namespace> -f <path to your yaml file>

#Example
#kubectl create -n arc -f C:\arc-data-services\sqlmi.yaml

Oluşturma durumunu izleme

SQL yönetilen örneği oluşturma işleminin tamamlanması birkaç dakika sürer. İlerleme durumunu başka bir Terminal penceresinde aşağıdaki komutlarla izleyebilirsiniz:

Not

Aşağıdaki örnek komutlarda, ' Arc ' adlı ' SQL1 ' ve Kubernetes ad alanı adında bir SQL yönetilen örneği oluşturduğunuzu varsayalım. Farklı bir ad alanı/SQL yönetilen örnek adı kullandıysanız, ' yay ' ve ' sqlmi ' değerini adlarınızla değiştirebilirsiniz.

kubectl get sqlmi/sql1 --namespace arc
kubectl get pods --namespace arc

Ayrıca, aşağıdaki gibi bir komut çalıştırarak belirli bir pod 'un oluşturma durumunu da denetleyebilirsiniz. Bu, özellikle herhangi bir sorunu gidermek için kullanışlıdır.

kubectl describe pod/<pod name> --namespace arc

#Example:
#kubectl describe pod/sql1-0 --namespace arc

Oluşturma sorunlarını giderme

Oluşturma ile herhangi bir sorun yaşarsanız, lütfen sorun giderme kılavuzunabakın.

Sonraki adımlar

Azure Arc etkin SQL yönetilen örneğine bağlanma