Tüm Ürünler
Search
Belge Merkezi

Container Compute Service:Create a stateless workload Deployment

Son Güncelleme:Oct 15, 2026

Container Compute Service (ACS); kapsayıcı görüntüleri, orkestrasyon YAML şablonları veya kubectl komut satırı araçlarını kullanarak durumsuz uygulamalar oluşturmayı destekler. Bu konuda, bir ACS kümesinde durumsuz bir uygulamanın nasıl oluşturulacağını göstermek için örnek olarak bir Nginx uygulaması kullanılmaktadır.

Konsol

Görüntüden oluşturun

1. Adım: Temel uygulama bilgilerini yapılandırın

  1. ACS konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Deployments seçeneklerini belirleyin.

  3. Deployments sayfasında Create from Image seçeneğine tıklayın.

  4. Basic Information sihirbazında uygulamanız için temel ayarları yapılandırın.

    Parametre

    Açıklama

    Application Name

    Uygulama için bir ad girin.

    Replicas:

    Uygulamadaki pod sayısı. Varsayılan değer 2'dir.

    Workloads

    Deployment seçeneğini belirleyin.

    Label

    Bu uygulamayı tanımlamak için bir etiket ekleyin.

    Annotations

    Uygulamaya bir açıklama ekleyin.

    Instance Type

    Bir hesaplama türü seçin. Hesaplama türleri hakkında daha fazla bilgi için bkz. ACS pod örneklerine genel bakış.

    QoS Type

    Bir Hizmet Kalitesi (QoS) sınıfı seçin.

    Hesaplama Türü ve Hesaplama Gücü Kalitesi Arasındaki İlişki

    Hesaplama türü (etiket)

    Desteklenen hesaplama gücü kalite sınıfları (etiketler)

    Genel amaçlı (general-purpose)

    Varsayılan (default), BestEffort (best-effort)

    Performans optimizasyonu (performance)

    Varsayılan (default), BestEffort (best-effort)

    GPU türü (gpu)

    Varsayılan (default), BestEffort (best-effort)

    Yüksek performanslı ağ GPU'su (gpu-hpn)

    Varsayılan (default)

    Daha fazla bilgi için bkz. QoS sınıfı tanımları.

  5. Next seçeneğine tıklayarak Container sihirbazına gidin.

2. Adım: Konteynerleri yapılandırın

Container sihirbazı sayfasında konteyner görüntüsünü, kaynakları, bağlantı noktalarını, ortam değişkenlerini, sağlık denetimlerini, yaşam döngüsünü, birimleri ve günlük kaydı işlemini yapılandırın.

Not

Pod'a birden fazla konteyner eklemek için Container 1 sekmesinin yanındaki Add Container seçeneğine tıklayın.

  1. General bölümünde temel konteyner yapılandırmasını tamamlayın.

    Parametre

    Açıklama

    Image Name

    • Bir görüntü seçin

      Gerekli görüntüyü seçmek için Select Image seçeneğine tıklayın.

      • Container Registry Enterprise Edition: Alibaba Cloud Container Registry (ACR) üzerinde barındırılan bir Enterprise Edition görüntüsü seçin. Görüntünün bulunduğu bölgeyi ve ACR örneğini seçmeniz gerekir. ACR hakkında daha fazla bilgi için bkz. Container Registry nedir?.

      • Container Registry Personal Edition (önce etkinleştirilmelidir): ACR üzerinde barındırılan bir Personal Edition görüntüsü seçin. Görüntünün bulunduğu bölgeyi ve ACR örneğini seçmeniz gerekir.

      • Artifact center: Konteyner uygulamaları için temel işletim sistemi görüntülerini, dil çalışma zamanı görüntülerini ve yapay zeka/büyük veri ile ilgili görüntüleri içerir. Bu örnekte Artifact Center'dan bir Nginx görüntüsü kullanılır. Daha fazla bilgi için bkz. Artifact Center.

    • (İsteğe bağlı) Görüntü çekme ilkesini ayarlayın

      Image Pull Policy açılır listesinden bir çekme ilkesi seçin. Varsayılan olarak herhangi bir ilke ayarlanmaz ve Kubernetes IfNotPresent kullanır.

      • IfNotPresent: Görüntü yerel olarak zaten mevcutsa (daha önce ana bilgisayara çekilmişse) tekrar çekilmez. Aksi takdirde görüntü çekilir.

      • Always: Dağıtım veya yatay ölçeklendirme sırasında yerel kopyayı yok sayarak görüntüyü her zaman çeker.

      • Never: Yalnızca yerel görüntüyü kullanır.

    • (İsteğe bağlı) Bir görüntü çekme gizli dizisini ayarlayın

      Özel görüntülere güvenli bir şekilde erişmek için Set Image Pull Secret seçeneğine tıklayın.

      • ACR Personal Edition örnekleri için bir görüntü çekme gizli dizisi ayarlayarak konteyner görüntüleri çekebilirsiniz. Daha fazla bilgi için bkz. Gizli dizileri yönetin.

      • ACR Enterprise Edition örnekleri için parola ekleme özelliğini kullanarak parolasız görüntü çekme işlemi gerçekleştirebilirsiniz. Ayrıntılar için bkz. ACR görüntülerini parolasız çekin.

    Required Resources

    Konteyner için kaynak kotalarını ayarlayın.

    • CPU: CPU istek ve sınır değerlerini belirtin. Varsayılan olarak istek sınıra eşittir ve faturalama kullandıkça öde yöntemiyle gerçekleştirilir. YAML aracılığıyla farklı bir sınır ayarlarsanız istek, sınırla eşleşecek şekilde üzerine yazılır. Ayrıntılar için bkz. Kaynak teknik özellikleri.

    • Memory: Bellek istek ve sınır değerlerini belirtin. Varsayılan olarak istek sınıra eşittir ve faturalama kullandıkça öde yöntemiyle gerçekleştirilir. YAML aracılığıyla farklı bir sınır ayarlarsanız istek, sınırla eşleşecek şekilde üzerine yazılır. Ayrıntılar için bkz. Kaynak teknik özellikleri.

    Interactive Session

    (İsteğe bağlı) Konteyner başlatma seçeneklerini yapılandırın.

    • stdin: Konsol girişini konteynere gönderir.

    • tty: Standart giriş konsolunu konteynerin konsol girişi olarak bağlar.

    Not

    Genellikle hem stdin hem de tty birlikte seçilerek terminal (tty) konteynerin standart girişine (stdin) bağlanır. Örneğin, etkileşimli bir program kullanıcı girişini stdin'den okur ve çıktıyı terminalde görüntüler.

    Init Containers

    (İsteğe bağlı) Başlatma konteyneri oluşturmak için bu seçeneği işaretleyin.

    Başlatma konteynerleri, uygulama konteynerlerinin başlatılmasını başarılı olana kadar engelleyen veya geciktiren bir mekanizma sağlar. Başarılı yürütmeden sonra pod içindeki uygulama konteynerleri paralel olarak başlar. Örneğin, bağımlı hizmetlerin kullanılabilirliğini kontrol etmek için başlatma konteynerlerini kullanabilirsiniz. Başlatma konteynerleri, çalışma zamanı ortamını başlatmak için (örneğin, kernel parametrelerini ayarlamak veya yapılandırma dosyaları oluşturmak için) uygulama görüntüsünde bulunmayan yardımcı programlar veya yükleme komut dosyaları içerebilir. Daha fazla bilgi için bkz. Init Containers.

  2. (İsteğe bağlı) Ports bölümünde konteyner bağlantı noktalarını yapılandırmak için Add seçeneğine tıklayın.


    Parametre


    Açıklama


    Name


    Konteyner bağlantı noktası için bir ad belirtin.


    Container Port


    Açığa çıkarılan konteyner erişim bağlantı noktasını belirtin. Bağlantı noktası numarası 1 ile 65535 arasında olmalıdır.


    Protocol


    Desteklenen protokoller TCP ve UDP'dir.

  3. (İsteğe bağlı) Environments bölümünde ortam değişkenlerini yapılandırmak için Add seçeneğine tıklayın.

    Ortam bayrakları eklemek veya yapılandırma aktarmak için anahtar-değer çiftlerini kullanarak pod için ortam değişkenlerini yapılandırabilirsiniz. Daha fazla bilgi için bkz. Pod Environment Variables.

    Parametre

    Açıklama

    Type

    Ortam değişkeni türünü ayarlayın:

    • Custom

    • ConfigMaps

    • Secrets

    • Value/ValueFrom

    • ResourceFieldRef

    ConfigMap ve Secret, tüm dosyalara başvurmayı destekler.

    Bu örnekte bir Secret kullanılır. Secrets türünü seçip hedef Secret'ı belirlediğinizde, o Secret'taki tüm dosyalara varsayılan olarak başvurulur. Secret seçtikten sonra bir Variable Name girin ve sağdaki iki açılır listeden karşılık gelen Secret adını ve anahtarını seçin.

    İlgili YAML, tüm Secret'a şu şekilde başvurur:

    envFrom:
      - secretRef:
          name: test

    Variable Key

    Ortam değişkeni adını ayarlayın.

    Value/ValueFrom

    Başvurulan değişken değerini ayarlayın.

  4. (İsteğe bağlı) Health Check bölümünde ihtiyaç duyulduğunda Liveness, Readiness ve Startup seçeneklerini etkinleştirin.

    • Liveness: Bir konteynerin normal çalışıp çalışmadığını belirlemek için kullanılır. Belirtilen sayıda denetim başarısız olursa kubelet konteyneri yeniden başlatır. Canlılık probeleri; deadlock gibi, konteynerin çalışır durumda kalmasına ancak yanıt vermemesine neden olan sorunları tespit edebilir.

    • Readiness: Bir konteynerin trafiği kabul etmeye hazır olup olmadığını belirlemek için kullanılır. Hazırlık probu başarılı olduktan sonra bir pod hizmet arka ucuna eklenir.

    • Startup: Konteyner başladığında yalnızca başarılı bir şekilde başlatılıp başlatılmadığını kontrol etmek için yürütülür. Liveness Probe ve Readiness Probe yalnızca başlangıç probu başarılı olduktan sonra yürütülür.

    Daha fazla bilgi için bkz. Configure liveness, readiness, and startup probes.

    Parametre

    Açıklama

    HTTP

    Konteynere bir HTTP GET isteği gönderir. Desteklenen parametreler şunları içerir:

    • Protocol: HTTP/HTTPS.

    • Path: HTTP sunucusuna erişmek için kullanılan yol.

    • Port: Açığa çıkarılan konteyner bağlantı noktası veya bağlantı noktası adı. Bağlantı noktası numarası 1 ile 65535 arasında olmalıdır.

    • HTTP Header: HTTP isteğindeki özel istek üst bilgileri. HTTP, yinelenen üst bilgilere izin verir. Bunları anahtar-değer çiftleri olarak yapılandırın.

    • Initial Delay (s): initialDelaySeconds parametresi, konteyner başladıktan sonra ilk probu gerçekleştirmeden önce kaç saniye bekleneceğini belirtir. Varsayılan 3 saniyedir.

    • Period (s): periodSeconds parametresi, problar arasındaki zaman aralığını belirtir. Varsayılan 10 saniyedir. Minimum 1 saniyedir.

    • Timeout (s): timeoutSeconds parametresi, prob zaman aşımı süresini belirtir. Varsayılan 1 saniyedir. Minimum 1 saniyedir.

    • Healthy Threshold: Konteyneri sağlıklı olarak işaretlemek için bir arızadan sonra gereken ardışık başarılı prob minimum sayısı. Varsayılan 1'dir. Minimum 1'dir. Canlılık probları için bu değer 1 olmalıdır.

    • Unhealthy Threshold: Konteyneri sağlıksız olarak işaretlemek için başarıdan sonra gereken ardışık başarısız prob minimum sayısı. Varsayılan 3'tür. Minimum 1'dir.

    TCP

    Konteynere bir TCP soketi açar. Kubelet, belirtilen bağlantı noktasında bir soket açmaya çalışır. Başarılı olursa konteyner sağlıklı kabul edilir; aksi takdirde başarısız olarak işaretlenir. Desteklenen parametreler şunları içerir:

    • Port: Açığa çıkarılan konteyner bağlantı noktası veya bağlantı noktası adı. Bağlantı noktası numarası 1 ile 65535 arasında olmalıdır.

    • Initial Delay (s): initialDelaySeconds parametresi, konteyner başladıktan sonra ilk probu gerçekleştirmeden önce kaç saniye bekleneceğini belirtir. Varsayılan 15 saniyedir.

    • Period (s): periodSeconds parametresi, problar arasındaki zaman aralığını belirtir. Varsayılan 10 saniyedir. Minimum 1 saniyedir.

    • Timeout (s): timeoutSeconds parametresi, prob zaman aşımı süresini belirtir. Varsayılan 1 saniyedir. Minimum 1 saniyedir.

    • Healthy Threshold: Konteyneri sağlıklı olarak işaretlemek için bir arızadan sonra gereken ardışık başarılı prob minimum sayısı. Varsayılan 1'dir. Minimum 1'dir. Canlılık probları için bu değer 1 olmalıdır.

    • Unhealthy Threshold: Konteyneri sağlıksız olarak işaretlemek için başarıdan sonra gereken ardışık başarısız prob minimum sayısı. Varsayılan 3'tür. Minimum 1'dir.

    Command

    Sağlığını kontrol etmek için konteyner içinde bir komut çalıştırır. Desteklenen parametreler şunları içerir:

    • Command: Konteyner sağlığını kontrol etmek için kullanılan komut.

    • Initial Delay (s): initialDelaySeconds parametresi, konteyner başladıktan sonra ilk probu gerçekleştirmeden önce kaç saniye bekleneceğini belirtir. Varsayılan 5 saniyedir.

    • Period (s): periodSeconds parametresi, problar arasındaki zaman aralığını belirtir. Varsayılan 10 saniyedir. Minimum 1 saniyedir.

    • Timeout (s): timeoutSeconds parametresi, prob zaman aşımı süresini belirtir. Varsayılan 1 saniyedir. Minimum 1 saniyedir.

    • Healthy Threshold: Konteyneri sağlıklı olarak işaretlemek için bir arızadan sonra gereken ardışık başarılı prob minimum sayısı. Varsayılan 1'dir. Minimum 1'dir. Canlılık probları için bu değer 1 olmalıdır.

    • Unhealthy Threshold: Konteyneri sağlıksız olarak işaretlemek için başarıdan sonra gereken ardışık başarısız prob minimum sayısı. Varsayılan 3'tür. Minimum 1'dir.

  5. (İsteğe bağlı) Lifecycle bölümünde konteyner yaşam döngüsünü yapılandırın.

    Konteyner yaşam döngüsü için önceden başlatma komutlarını, sonrası başlatma işleyicilerini ve öncesi durdurma işleyicilerini yapılandırabilirsiniz. Ayrıntılar için bkz. Configure lifecycle.


    Parametre


    Açıklama


    Start


    Konteyner başlamadan önce çalıştırılacak bir komutu ve bağımsız değişkenlerini belirtin.


    Post-start Hook


    Konteyner başladıktan sonra çalıştırılacak bir komutu belirtin.


    Pre-stop Hook


    Konteyner sonlandırılmadan önce çalıştırılacak bir komutu belirtin.

  6. (İsteğe bağlı) Volume bölümünde birimleri konteynere monte edin.

    • Yerel depolama: ConfigMaps, Secrets veya geçici dizinleri konteyner yollarına monte edin. Daha fazla bilgi için bkz. volumes.

    • Cloud depolama: Cloud diskleri ve Network Attached Storage (NAS) dahil olmak üzere daha fazlasını destekler. Ayrıntılar için bkz. Depolamaya genel bakış.

  7. (İsteğe bağlı) Log bölümünde Collection Configuration ve Custom Tag seçeneklerini yapılandırın.

    Parametre

    Açıklama

    Toplama Ayarları

    • Logstore: Toplanan günlükleri depolamak için Simple Log Service içinde karşılık gelen bir Logstore oluşturur.

    • Log Path in Container (Can be set to stdout): stdout ve metin günlüklerini destekler.

      • Stdout: Konteynerden standart çıkış günlüklerini toplar.

      • Metin günlükleri: Konteyner içindeki belirtilen bir yoldan günlükleri toplar. Bu örnek, /var/log/nginx altındaki tüm metin günlüklerini toplar ve joker karakterleri destekler.

    Özel Etiketler

    Özel etiketler de ayarlayabilirsiniz. Yapılandırıldığında bu etiketler konteyner günlükleriyle birlikte dahil edilir. Özel etiketler, analiz sırasında istatistik ve filtrelemeyi kolaylaştırmak için günlüklerinizi kategorilere ayırmanıza yardımcı olur.

  8. Next seçeneğine tıklayarak Advanced sihirbazına gidin.

3. Adım: Gelişmiş yapılandırmayı tamamlayın

Advanced sihirbazı sayfasında erişimi, ölçeklendirmeyi, zamanlamayı ve etiketleri/açıklamaları yapılandırın.

  1. Access Control bölümünde arka uç pod'larının nasıl açığa çıkarılacağını yapılandırın.

    Arka uç pod'larının nasıl açığa çıkarılacağını yapılandırabilirsiniz. Bu örnekte, İnternet üzerinden erişilebilen bir Nginx uygulaması oluşturmak için sanal bir küme IP'si ve bir Ingress kullanılmaktadır.

    • Bir Hizmet yapılandırın: Hizmet parametrelerini ayarlamak için Services öğesinin yanındaki Create seçeneğine tıklayın.

      Hizmet yapılandırma ayrıntılarını görüntülemek için genişletin

      Parametre

      Açıklama

      Name

      Bir hizmet adı girin. Bu örnekte nginx-svc kullanılmaktadır.

      Type

      Hizmete nasıl erişileceğini belirleyen hizmet türünü seçin. Bu örnekte Cluster IP seçilmektedir.

      • Cluster IP: Hizmeti küme içindeki dahili bir IP adresinde açığa çıkarır. Bu türdeki hizmetlere yalnızca küme içinden erişilebilir. Bu, varsayılan ServiceType'tır.

        Not

        Hizmet türü Cluster IP olduğunda bir Headless Service yapılandırabilirsiniz.

      • Server Load Balancer: Hizmeti açığa çıkarmak için Alibaba Cloud Server Load Balancer (SLB) kullanır. Genel veya dahili yönlendirmeli erişimi seçebilirsiniz. Alibaba Cloud SLB, trafiği ClusterIP hizmetlerine yönlendirir.

        • Yeni SLB oluşturun: SLB teknik özelliklerini değiştirmek için Modify seçeneğine tıklayın.

        • Mevcut SLB'yi kullanın: Listeden bir SLB örneği seçin.

        Not

        LoadBalancer türü yeni bir SLB oluşturmayı veya mevcut bir SLB'yi yeniden kullanmayı destekler ancak aşağıdaki sınırlamalara sahiptir:

        • Mevcut bir SLB örneği kullanmak, mevcut dinleyicilerinin üzerine yazar.

        • Kubernetes tarafından Hizmetler aracılığıyla oluşturulan SLB örnekleri yeniden kullanılamaz (yanlışlıkla silinmeyi önlemek için). Yalnızca konsolda (veya OpenAPI aracılığıyla) manuel olarak oluşturulan SLB örnekleri yeniden kullanılabilir.

        • Aynı SLB'yi yeniden kullanan birden çok Hizmet, çakışmaları önlemek için aynı ön uç dinleyici bağlantı noktasını paylaşmamalıdır.

        • Bir SLB yeniden kullanılırken Kubernetes, dinleyici adlarını ve vServer grubu adlarını benzersiz tanımlayıcılar olarak kullanır. Bu adları değiştirmeyin.

        • Kümeler arasında SLB yeniden kullanımı desteklenmez.

      Port Mapping

      Hizmet ve konteyner bağlantı noktaları ekleyin. Konteyner bağlantı noktası, arka uç pod'ları tarafından açığa çıkarılan bağlantı noktasıyla eşleşmelidir.

      External Traffic Policy

      • Local: Trafiği yalnızca aynı düğümdeki pod'lara yönlendirir.

      • Cluster: Trafiği herhangi bir düğümdeki pod'lara yönlendirir.

      Not

      External Traffic Policy ayarını yalnızca hizmet türü Server Load Balancer olduğunda yapabilirsiniz.

      Annotations

      SLB parametrelerini yapılandırmak için bir açıklama ekleyin. Örneğin, service.beta.kubernetes.io/alicloud-loadbalancer-bandwidth: 20 ayarlamak, trafiği kontrol etmek için hizmet bant genişliğini 20 Mbit/s ile sınırlar.

      Label

      Bu hizmeti tanımlamak için bir etiket ekleyin.

    • Ingress yapılandırın: Arka uç pod'ları için yönlendirme kuralları ayarlamak üzere Ingresses öğesinin yanındaki Create seçeneğine tıklayın.

      Ingress yapılandırma ayrıntılarını görüntülemek için genişletin

      Not

      Bir uygulamayı görüntüden oluştururken bir hizmet için yalnızca bir Ingress oluşturabilirsiniz. Bu örnekte test alan adı olarak sanal bir ana bilgisayar adı kullanılmaktadır. Alan adı eşlemesini (Ingress'in harici uç noktası ve Ingress alan adı) hosts dosyanıza ekleyin. Üretim ortamında ICP kaydı bulunan bir alan adı kullanın.

      101.37.XX.XX   foo.bar.com    # Ingress IP.

      Parametre

      Açıklama

      Name

      Bir Ingress adı girin. Bu örnekte alb-ingress kullanılmaktadır.

      Rules

      Ingress kuralları, gelen trafiğin küme hizmetlerine nasıl ulaşacağını tanımlar. Daha fazla bilgi için bkz. ALB Ingress Hızlı Başlangıç.

      • Domain Name: Ingress alan adını girin.

      • Path: Hizmet erişimi için URL yolunu belirtin. Varsayılan kök yol /'dir. Her yol bir arka uç hizmetine eşlenir. Alibaba Cloud SLB, gelen istekler hem alan adı hem de yolla eşleştiğinde yalnızca trafiği iletir.

      • Services: Hizmet adını ve bağlantı noktasını seçin.

      • TLS: Güvenli yönlendirmeyi yapılandırın.

      Bu örnekte foo.bar.com test alan adı kullanılır ve hizmet nginx-svc olarak ayarlanır.

      Canary Release

      Canary sürümünü etkinleştirin. Alibaba Cloud sürümü artık korunmadığından Open Source Solution seçeneğini belirlemeniz önerilir.

      Ingress Class

      Özel bir Ingress sınıfı belirtin.

      Annotations

      Özel açıklama anahtarlarını ve değerlerini tanımlayın veya açıklamaları ada göre arayın. Açıklama anahtar-değer çiftlerini girmek için Add seçeneğine tıklayın. Ingress açıklamaları hakkında bilgi için bkz. Annotations.

      Label

      Bu Ingress'in özelliklerini tanımlayan etiket anahtarlarını ve değerlerini girmek için Add seçeneğine tıklayın.

  2. (İsteğe bağlı) Scaling bölümünde farklı yükler altında uygulamanın gereksinimlerini karşılamak için HPA özelliğinin etkinleştirilip etkinleştirilmeyeceğini yapılandırın.

    • Container Compute Service, ölçüm tabanlı ölçeklendirmeyi destekler; bu özellik, konteynerlerin CPU ve bellek kullanımına göre pod sayısını otomatik olarak ayarlar.

      Not

      Otomatik ölçeklendirmeyi etkinleştirmek için konteyner için istenen kaynakları belirtmeniz gerekir. Aksi takdirde otomatik ölçeklendirme çalışmaz.


      Parametre


      Açıklama


      Metric


      CPU ve belleği destekler. İstenen kaynak türüyle eşleşmelidir.


      Trigger Condition


      Kaynak kullanım yüzdesi için eşik. Aşıldığında sistem yatay ölçeklendirme gerçekleştirir.


      Max. Replicas


      Bu iş yükü türü için yatay ölçeklendirilebilecek maksimum konteyner sayısı.


      Min. Replicas


      Bu iş yükü türü için dikey ölçeklendirilebilecek minimum konteyner sayısı.

    • Container Compute Service, belirli zamanlarda Kubernetes kümelerini otomatik olarak ölçeklendirmek için zamanlanmış ölçeklendirmeyi (CronHPA) da destekler. Zamanlanmış ölçeklendirmeyi etkinleştirmeden önce ack-kubernetes-cronhpa-controller eklentisini yükleyin. Ayrıntılar için bkz. Zamanlanmış ölçeklendirme (CronHPA).

  1. (İsteğe bağlı) Labels and Annotations bölümünde pod etiketlerini ve açıklamalarını ayarlamak için Add seçeneğine tıklayın.

  2. Create seçeneğine tıklayın.

4. Adım: Uygulama bilgilerini görüntüleyin

Uygulama oluşturulduktan sonra varsayılan olarak oluşturma tamamlandı sayfasına yönlendirilirsiniz. Dağıtım ayrıntıları sayfasına gitmek için View Details seçeneğine tıklayın.

Dağıtımı Deployments sayfasında da görüntüleyebilirsiniz. Uygulama ayrıntıları sayfasına gitmek için hedef Dağıtımın adına tıklayın veya Actions sütunundaki Details seçeneğine tıklayın.

YAML kullanarak oluşturun

ACS şablon orkestrasyonunda uygulamanız için gerekli kaynak nesnelerini tanımlar ve etiket seçiciler gibi mekanizmalar kullanarak bunları eksiksiz bir uygulama halinde birleştirirsiniz.

Bu örnekte, bir Dağıtım ve bir Hizmet içeren bir orkestrasyon şablonu kullanılarak bir Nginx uygulamasının nasıl oluşturulacağı gösterilmektedir. Dağıtım pod kaynaklarını oluşturur ve Hizmet bu pod'lara bağlanarak eksiksiz bir Nginx uygulaması meydana getirir.

  1. ACS konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Deployments seçeneklerini belirleyin.

  3. Deployments sayfasında sağ üst köşedeki Create from YAML seçeneğine tıklayın.

  4. Create sayfasında şablonu yapılandırın ve Create seçeneğine tıklayın.

    • Sample Template: ACS, hızlı dağıtım yapmanıza yardımcı olmak için çeşitli kaynak türleri için Kubernetes YAML örnekleri sağlar. Ayrıca Kubernetes standartlarını takip ederek kendi YAML kodunuzu yazabilirsiniz.

    • Create Workload: Bu özelliği kullanarak hızlı bir şekilde bir YAML şablonu tanımlayın.

    • Use Existing Template: Mevcut bir orkestrasyon şablonunu içe aktarın.

    • Save Template: Yapılandırdığınız orkestrasyon şablonunu kaydedin.

    Aşağıdaki örnek YAML dosyası bir Nginx uygulaması tanımlar. Nginx uygulaması için hızlı bir şekilde bir Dağıtım oluşturmak amacıyla bu dosyayı kullanabilirsiniz. Varsayılan olarak CLB türünde bir LoadBalancer hizmeti oluşturulur.

    Not
    • ACS, Kubernetes YAML orkestrasyonunu destekler. Tek bir şablonda birden çok kaynak nesnesi tanımlamak için --- ayırıcısını kullanın.

    • (İsteğe bağlı) Volume aracılığıyla birimleri monte ederken montaj dizinindeki dosyalar varsayılan olarak üzerine yazılır. Mevcut dosyaları korumak için subPath parametresini yapılandırın.

    Nginx YAML'yi görüntülemek için genişletin

    apiVersion: apps/v1 
    kind: Deployment
    metadata:
        name: nginx-deployment-basic
        labels:
          app: nginx
    spec:
        replicas: 2
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
              alibabacloud.com/compute-class: general-purpose 
              alibabacloud.com/compute-qos: default
          spec:
            containers:
            - name: nginx
              image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest #replace it with your exactly <image_name:tags>
              ports:
              - containerPort: 80
              volumeMounts:
              - name: nginx-config
                mountPath: /etc/nginx/nginx.conf 
                subPath: nginx.conf   #set subPath.    
            volumes:
            - name: nginx-config
              configMap:
                name: nginx-conf
    ---
    apiVersion: v1     
    kind: Service
    metadata:
       name: my-service1        #to specify your service name
       labels:
         app: nginx
    spec:
       selector:
         app: nginx             #change label selector to match your backend pod
       ports:
       - protocol: TCP
         name: http
         port: 30080          
         targetPort: 80
       type: LoadBalancer       
    ---
    #ConfigMap for volume
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: nginx-conf
      namespace: default
    data:
      nginx.conf: |-
       user  nginx;
       worker_processes  1;
       error_log  /var/log/nginx/error.log warn;
       pid        /var/run/nginx.pid;
       events {
            worker_connections  1024;
        }
        http {
            include       /etc/nginx/mime.types;
            default_type  application/octet-stream;
            log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                              '$status $body_bytes_sent "$http_referer" '
                              '"$http_user_agent" "$http_x_forwarded_for"';
            access_log  /var/log/nginx/access.log  main;
            sendfile        on;
            #tcp_nopush     on;
            keepalive_timeout  65;
            #gzip  on;
            include /etc/nginx/conf.d/*.conf;
        } 
  5. Create seçeneğine tıkladıktan sonra dağıtım durumu görüntülenir.

kubectl

Uygulamaları oluşturmak ve görüntülemek için kubectl komutlarını kullanabilirsiniz.

  1. Kümenize bağlanın. Ayrıntılar için bkz. Küme kubeconfig dosyasını alın ve kubectl kullanarak bağlanın veya CloudShell'de kubectl kullanarak Kubernetes kümelerini yönetin.

  2. Bir konteyner başlatmak için aşağıdaki komutu çalıştırın. Bu örnekte konteyner bir Nginx web sunucusu çalıştırır.

     kubectl create deployment nginx --image=registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
  3. Konteyner için bir hizmet uç noktası oluşturmak için aşağıdaki komutu çalıştırın. --type=LoadBalancer belirtmek, trafiği Nginx konteynerine yönlendiren bir Alibaba Cloud SLB oluşturur.

    kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer
  4. Çalışan nginx konteynerlerini listelemek için aşağıdaki komutu çalıştırın.

    kubectl get pod |grep nginx

    Beklenen çıktı:

    NAME                                   READY     STATUS    RESTARTS   AGE
    nginx-2721357637-d****                 1/1       Running   1          9h