Alibaba Cloud DevOps işlem hatlarını Auto Scaling ile entegre ederek konteyner görüntülerini tek tıkla ECI ölçeklendirme grubunuza otomatik olarak oluşturun ve dağıtın.
Nasıl çalışır
Bu çözüm, kodunuzu güncelledikten sonra görüntü oluşturma ve dağıtımı otomatikleştirmek için Alibaba Cloud DevOps işlem hatlarını kullanır:
İşlem hattı, kod deponuzdan bir konteyner görüntüsü oluşturur.
İşlem hattı, görüntüyü Container Registry (ACR) üzerinde yayınlar.
İşlem hattı, ölçeklendirme grubu örneklerini ve ölçeklendirme yapılandırmasını yeni görüntüyü kullanacak şekilde güncellemek için Operation Orchestration Service (OOS) hizmetini kullanır.
Ön koşullar
Bir RAM kullanıcısı ile oturum açıyorsanız gerekli izinlere sahip olduğunuzdan emin olun. RAM kullanıcı izinlerini yönetme.
Ortamı yapılandırma
Tek tıkla görüntü dağıtımını ayarlamak için aşağıdaki adımları tamamlayın.
Adım 1: Container Registry (ACR) deposu oluşturma
Zaten bir Container Registry (ACR) deponuz varsa bu adımı atlayabilirsiniz.
Depo, oluşturduğunuz görüntüleri depolar.
Container Registry konsolu adresinde oturum açın.
-
Bir Container Registry örneği oluşturun.
-
Üst gezinme çubuğunda bir bölge seçin.
NotVPC iletişimini dahili etki alanı adları üzerinden sağlamak için depo ile ölçeklendirme grubunu aynı bölgede tutun. Bölgeler arası kurulumlar, hem depo hem de ölçeklendirme grubu örnekleri için genel ağ erişimi gerektirir.
Örnekler sayfasında Personal Instance seçeneğine tıklayın ve örneğin oluşturulmasını bekleyin.
Örnek oluşturulduktan sonra örnek ayrıntıları sayfasında Reset Docker Login Password öğesine tıklayın ve parolayı ayarlamak için ekrandaki talimatları izleyin.
-
Kayıt defteri giriş parolasını ayarladıktan sonra sol gezinme bölmesinde Namespaces öğesine tıklayın. Ardından Create Namespace öğesine tıklayın ve bir ad alanı oluşturmak için ekrandaki talimatları izleyin.
-
Sol gezinme bölmesinde Repositories seçeneğini belirleyin ve ardından Create Repository öğesine tıklayın. Parametreleri istendiği gibi yapılandırın. Aşağıdaki tabloda ana parametreler açıklanmaktadır.
-
Depo bilgileri
Parametre
Açıklama
Örnek
Namespaces
Bir önceki adımda oluşturduğunuz ad alanını seçin.
ess_eci_test_namespace
Repository Name
Depo için özel bir ad girin.
ess_eci_test_repo
Repository Type
Private seçeneğini belirleyin.
Private
Summary
Deponun amacına ilişkin kısa bir açıklama girin.
test -
Kod kaynağı
Local Repository seçeneğini belirleyin ve ardından Create Repository öğesine tıklayın.
-
Depo oluşturulduktan sonra Details sayfasına yönlendirilirsiniz. Daha sonra kullanmak üzere Public endpoint değerini bulun ve kopyalayın.
Adım 2: ECI ölçeklendirme grubu oluşturma
Zaten bir ölçeklendirme grubunuz varsa bu adımı atlayabilirsiniz.
Aşağıdaki yöntemlerden birini kullanarak bir ölçeklendirme grubu oluşturabilirsiniz:
YAML dosyası kullanarak
Web konsolu formunu kullanarak
YAML dosyası kullan
Auto Scaling konsolu adresinde oturum açın.
Üst gezinme çubuğunda bir bölge seçin. Sol gezinme bölmesinde Scaling Groups öğesine tıklayın ve ardından Create Scaling Group öğesine tıklayın.
-
Create by YAML File sekmesinde ölçeklendirme grubunu yapılandırın ve Create öğesine tıklayın. Bu konuda aşağıdaki yapılandırma kullanılmaktadır. Kubernetes YAML dosyası kullanarak ECI ölçeklendirme grubu yapılandırma.
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-demo annotations: k8s.aliyun.com/ess-scaling-group-name: ess-eci-test k8s.aliyun.com/ess-scaling-group-min-size: 0 k8s.aliyun.com/ess-scaling-group-max-size: 5 spec: selector: matchLabels: app: nginx-demo replicas: 0 template: metadata: labels: app: nginx-demo annotations: k8s.aliyun.com/eci-with-eip: false spec: containers: - name: nginx image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest ports: - containerPort: 80 name: http - containerPort: 443 name: https resources: requests: memory: 0.05Gi cpu: 50m limits: memory: 1Gi cpu: '1'UyarıVarsa kendi uygulama görüntünüzü kullanın; yoksa örnek görüntüyü kullanın. İşlem hattı bunu daha sonra değiştirir. Ölçeklendirme grubunu oluşturmak için bir görüntü gereklidir.
Aşağıdaki tabloda parametreler açıklanmaktadır.
Parametre
Açıklama
Örnek
k8s.aliyun.com/ess-scaling-group-name
Ölçeklendirme grubunun adı.
ess-eci-test
k8s.aliyun.com/ess-scaling-group-min-size
Ölçeklendirme grubundaki minimum örnek sayısı. Sayı bu değerin altına düştüğünde Auto Scaling örnek ekler.
0
k8s.aliyun.com/ess-scaling-group-max-size
Ölçeklendirme grubundaki maksimum örnek sayısı. Sayı bu değeri aştığında Auto Scaling örnekleri kaldırır.
5
k8s.aliyun.com/eci-with-eip
Elastic IP (EIP) adresinin otomatik olarak atanıp atanmayacağı.
false
Konsol formunu kullan
Auto Scaling konsolu adresinde oturum açın.
Üst gezinme çubuğunda bir bölge seçin.
-
Bir ölçeklendirme grubu oluşturun.
Sol gezinme bölmesinde Scaling Groups öğesine tıklayın ve ardından Create Scaling Group öğesine tıklayın.
-
Create by Form sekmesinde ölçeklendirme grubunu yapılandırın ve Create öğesine tıklayın. Bu konuda aşağıdaki yapılandırma kullanılmaktadır. Ölçeklendirme grubu oluşturma.
Parametre
Açıklama
Örnek
Scaling Group Name
Ölçeklendirme grubu için bir ad girin.
ess-eci-test
Type
ECI seçeneğini belirleyin. Bu, ölçeklendirme grubundaki örneklerin ECI örnekleri olduğunu belirtir.
ECI
Instance Configuration Source
Ölçeklendirme grubu oluşturulduktan sonra bir ölçeklendirme yapılandırması oluşturur.
Create from Scratch
Minimum Number of Instances
Ölçeklendirme grubundaki minimum ECI örnek sayısı.
0
Maximum Number of Instances
Ölçeklendirme grubundaki maksimum ECI örnek sayısı.
5
VPC
Bu ölçeklendirme grubundaki örnekler bu VPC'de dağıtılır.
vpc-test****-001
vSwitch
Yatay ölçekleme başarı oranlarını artırmak için birden fazla alandaki vSwitch'leri belirtin.
vsw-test****
-
Ölçeklendirme grubu için bir ölçeklendirme yapılandırması oluşturun.
Az önce oluşturduğunuz ölçeklendirme grubunu bulun ve ölçeklendirme grubu ayrıntıları sayfasına gitmek için More öğesine tıklayın.
Instance Configuration Sources sekmesinde Scaling Configuration öğesine tıklayın ve ardından Create Scaling Configuration öğesine tıklayarak Create Scaling Configuration sayfasına gidin.
-
Bu konuda aşağıdaki yapılandırma kullanılmaktadır. Diğer tüm parametreleri varsayılan değerlerinde bırakın. Yapılandırmayı tamamladıktan sonra Confirm Configuration ve ardından Create Order öğelerine tıklayın. ECI örnekleri için ölçeklendirme yapılandırması oluşturma.
Parametre
Açıklama
Örnek
Billing Method
Gereksinimlerinize göre bir faturalama yöntemi seçin.
Pay-as-you-go
Security Group
Gereksinimlerinize göre bir güvenlik grubu seçin.
sg-****oer
Konteyneriniz için bir ad girin.
nginx
Konteyner için görüntüyü ve sürümü seçin.
UyarıVarsa kendi uygulama görüntünüzü kullanın; yoksa örnek görüntüyü kullanın. Ölçeklendirme grubunu oluşturmak için bir görüntü gereklidir.
-
Görüntü Adı: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx
-
Görüntü Etiketi: latest
-
Scaling Configuration sekmesinde az önce oluşturduğunuz ölçeklendirme yapılandırmasını bulun ve Enable öğesine tıklayın.
Adım 3: DevOps işlem hattı yapılandırma
Görüntü oluşturma ve dağıtım işlemlerini otomatikleştirmek için bir Alibaba Cloud DevOps işlem hattı ayarlayın.
Scaling Groups sayfasında Publish Management sekmesine tıklayın ve ardından Release with Alibaba Cloud DevOps seçeneğine tıklayın.
-
Bir Alibaba Cloud DevOps organizasyonu seçin ve Next öğesine tıklayın.
ÖnemliHenüz bir Alibaba Cloud DevOps organizasyonu oluşturmadıysanız Create Organization öğesine tıklayın ve istemleri izleyin. Bir organizasyon seçtikten sonra istendiği üzere yetkilendirmeyi tamamlayın.
-
İşlem hattını yapılandırın.
-
İşlem hattı kaynağını yapılandırın. Pipeline Source bölümünde Add öğesine tıklayın, Sample Code Source seçeneğini belirleyin ve ardından Add öğesine tıklayın.
NotKendi kod kaynağınız varsa istendiği üzere kod deponuzun URL'sini seçin.
-
Bir görüntü oluşturma görevi ekleyin.
Image Building Task bölümünde Add öğesine tıklayın.
altında Create Service Connection seçeneğine tıklayın. Alibaba Cloud DevOps hizmet bağlantısı yönetim sayfasına yönlendirilirsiniz. Create Service Connection seçeneğine tıklayın.
Container Registry (ACR) seçeneğini belirleyin, Next öğesine tıklayın, Service Authorization için bir hizmet seçin ve ardından Create öğesine tıklayın. Kullanılabilir bir hizmet yoksa yetkilendirme sayfasına gitmek için Create öğesine tıklayın.
-
Image Building Task sayfasına dönün. Select Service Connection parametresi için oluşturduğunuz hizmet bağlantısını seçin. Repositories parametresi için oluşturduğunuz depoyu seçin. Ardından Add öğesine tıklayın.
Image type değerini Personal Edition olarak ayarlayın, Build cluster için Alibaba Cloud DevOps Beijing Build Cluster seçeneğini belirleyin ve Region için China (Hangzhou) gibi hedef bölgeyi seçin.
-
Bir dağıtım görevi ekleyin.
-
Deployment Task bölümünde Add öğesine tıklayın. Select Service Connection bölümünde Create Service Connection seçeneğine tıklayın.
Dağıtım görevi yapılandırma panelinde Task name değerini
ESS ECI Deploymentolarak ayarlayın, Build cluster için Alibaba Cloud DevOps Beijing Build Cluster seçeneğini belirleyin, Container to update için nginx seçeneğini seçin, Release batches değerini 2 batches olarak ayarlayın ve Batch method değerini Auto-confirm olarak belirleyin. Hizmet Bağlantısı Türü için Auto Scaling (ESS) seçeneğini belirleyin, Next öğesine tıklayın ve ardından Create öğesine tıklayın.
-
Image Deployment bölümünde Image built and pushed to Alibaba Cloud Container Registry Personal Edition.Image VPC Address seçeneğini belirleyin ve ardından Add öğesine tıklayın.
NotÖlçeklendirme grubunuz ve Container Registry aynı bölgedeyse Image VPC Address seçeneğini belirleyin. Bölgeler arası kurulumlar, görüntüyü çekmek için genel ağ erişimi gerektirir.
-
Create öğesine tıklayın.
-
İşlem hattını çalıştırma
Başka bir RAM kullanıcısının bu özelliği kullanmasına izin vermek için RAM kullanıcısının Alibaba Cloud DevOps organizasyonunuzun üyesi olduğundan ve işlem hattı izinlerine sahip olduğundan emin olun. RAM kullanıcısının en azından aşağıdakilere ihtiyacı vardır:
Alibaba Cloud DevOps (RDC) üzerinde yönetici izinleri.
Resource Access Management (RAM) üzerinde salt okunur erişim.
Operation Orchestration Service (OOS) üzerinde yönetici izinleri.
Kodunuzu güncelledikten sonra Publish by Using Apsara DevOps sekmesinde Run öğesine tıklayarak yeni görüntüyü ölçeklendirme grubunuza oluşturup dağıtın.
-
Ön koşullar
Ortam yapılandırıldı. Ortamı yapılandırma.
Kodunuzu güncellediniz ve kod deposuna aktardınız.
-
Görüntüyü tek tıkla oluşturun ve dağıtın.
Ölçeklendirme grubuna gidin, Publish Management sekmesine tıklayın, Release with Alibaba Cloud DevOps alt sekmesine tıklayın ve ardından Run öğesine tıklayın. Çalıştırma geçmişi listesinde yeni bir giriş görünür.
-
Çalıştırma geçmişi listesinde işlem hattını izlemek için Details seçeneğine tıklayın. Tamamlandığında ölçeklendirme grubu örnekleri ve ölçeklendirme yapılandırması otomatik olarak güncellenir; böylece yeni yatay ölçeklenen örnekler yeni görüntüyü kullanır.
Instance Configuration Sources sekmesinde etkin ölçeklendirme yapılandırmasını bulun, Modify öğesine tıklayın ve bölümünün güncellendiğini doğrulayın.
Yatay ölçekleme olayını manuel olarak tetikleyin. Instances sekmesinde yeni eklenen ECI örneğine tıklayarak yeni görüntüyü kullandığını onaylayın.
Mevcut ECI örnekleri için Instances sekmesine gidin, ayrıntılar sayfasını açmak için bir örnek adına tıklayın ve görüntünün güncellendiğini onaylayın.