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.
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.