Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Connect to an ACK cluster using kubectl

Son Güncelleme:Oct 14, 2026

Container Service for Kubernetes (ACK) konsoluna ek olarak, Kubernetes komut satırı aracı kubectl'yi kullanarak kümeleri ve uygulamaları yönetebilirsiniz. Bir kümeye kubectl ile bağlanmadan önce, mevcut kullanıcı kimlik bilgilerinizi içeren küme kubeconfig dosyasını edinin.

Adım 1: kubectl istemcisini yükleyin ve yapılandırın

kubectl'i yüklemek istediğiniz istemci makinesini belirleyin. İşletim ortamınıza ve küme sürümüne göre kubectl'i yükleyin.

Adım 2: kubeconfig dosyasını edinin ve kullanın

1. kubeconfig türünü seçin

kubeconfig, kümeye erişmek için gereken kimlik doğrulama bilgilerini içerir. Güvenlik gereksinimlerinize ve kullanım durumunuza göre bir kubeconfig türü seçin.

Önemli

Paylaşılan sorumluluk modeli kapsamında, kubeconfig kimlik bilgilerinizi yönetmek ve korumak sizin sorumluluğunuzdadır. Kimlik bilgilerinizin uygun ve geçerli olduğundan emin olun, kubeconfig dosyasını düzenli olarak yenileyin ve sızdırılmış bir kubeconfig dosyasının güvenlik risklerini önlemek için en az ayrıcalık ilkesine uyun.

  • kubeconfig geçerlilik süresine göre:

    • Geçici kubeconfig: Kubeconfig geçerlilik süresini 30 dakika ile 3 gün arasında yapılandırabilirsiniz. Yapılandırılan süre dolduğunda kubeconfig otomatik olarak sona erer ve sızdırılma güvenlik riski azalır. Bu tür, günlük işletme ve bakım, sorun giderme ve CI/CD işlem hatları gibi API sunucusuna uzun süreli bağlantı gerektirmeyen kullanım durumları için uygundur.

    • Uzun vadeli kubeconfig: Varsayılan geçerlilik süresi 3 yıldır. Bu tür, kubeconfig dosyasını sık sık yenileyemeyen otomasyon sistemleri veya uzun süre çalışan izleme hizmetleri için uygundur.

  • Kümeye erişim yöntemine göre:

    • Dahili erişim: Dahili erişim için bir kubeconfig edinin. kubectl istemci makinesi, kümeyle aynı Virtual Private Cloud (VPC) içinde olmalıdır. Alibaba Cloud dahili ağı üzerinden yapılan bağlantılar daha düşük gecikme süresine sahiptir ve daha güvenlidir.

    • Genel erişim: Genel erişim için bir kubeconfig edinin ve İnternet üzerindeki herhangi bir makineyi istemci olarak kullanarak kümeye bağlanın. Bu yöntem, API Sunucusuna bağlanmak için bir Elastic IP Address (EIP) kullanır ve yerel geliştirme veya uzaktan işletme ve bakım senaryoları için uygundur.

      EIP'yi bağladıktan sonra, ilgili ücretler hakkında bilgi almak için Kullandıkça öde bölümüne bakın.
  • Genel erişim etkinleştirilmiş bir ACK özel kümesi kullanıyorsanız, SSH üzerinden ana düğümden kubeconfig dosyasını alabilir ve ardından kubectl'yi yerel olarak kullanarak kümeyi yönetebilirsiniz. Daha fazla bilgi için bkz. SSH üzerinden bir ACK özel kümesinin ana düğümüne bağlanma.

2. kubeconfig dosyasını edinin ve kümeye bağlanın

Konsoldan kubeconfig dosyasını edindikten sonra, kubectl bu dosyayı kullanarak kümeye bağlanabilir ve kümeyi yönetebilir.

Bir Resource Access Management (RAM) kullanıcısının kümeye bağlanabilmesi için, Container Service sistem izinlerine ek olarak küme işlem izinlerinin de verilmesi gerekir. Daha fazla bilgi için bkz. Yetkilendirme .
  1. ACK konsolunda oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Cluster List sayfasında, hedef kümenin adına tıklayın veya Actions sütunundaki Details seçeneğine tıklayın.

  3. Cluster Information sayfasında Connection Information sekmesine tıklayın ve geçici veya uzun vadeli bir kubeconfig seçin. Geçici bir kubeconfig için uygun bir geçerlilik süresi belirleyin.

  4. Public Access veya Internal Access sekmesini seçin, Copy seçeneğine tıklayın, kopyalanan kubeconfig içeriğini istemcideki $HOME/.kube/config dosyasına yapıştırın ve dosyayı kaydedip kapatın.

    $HOME/.kube/config dosyası yoksa, oluşturmak için mkdir -p $HOME/.kube ve touch $HOME/.kube/config komutlarını çalıştırın.
  5. Yapılandırma tamamlandıktan sonra, küme bağlantısını doğrulamak için bir kubectl komutu çalıştırın.

    Aşağıdaki örnek ad alanlarını sorgular.

    kubectl get namespaces

    Beklenen çıktı:

    NAME              STATUS   AGE
    default           Active   4h39m
    kube-node-lease   Active   4h39m
    kube-public       Active   4h39m
    kube-system       Active   4h39m

Üretim ortamında kullanım

  • kubeconfig dosyasının geçerli olduğundan emin olun: Bir kubeconfig dosyasının süresi dolduğunda küme erişiminin kesilmesini önlemek için dosyayı zamanında yenileyin.

    Uzun vadeli bir kubeconfig dosyası 3 yıl boyunca geçerlidir. En iyi uygulama olarak, sürenin dolmasından önceki 180 gün içinde yeni bir kubeconfig dosyasını ACK konsolu aracılığıyla veya DescribeClusterUserKubeconfig API çağrısıyla edinin.

    Yeni kubeconfig dosyası da 3 yıl boyunca geçerlidir. Eski kubeconfig dosyası, sertifikasının süresi dolana kadar geçerliliğini korur.
  • Bir kubeconfig dosyasını hızla iptal edin: Bir kubeconfig dosyasının sızdırıldığından şüpheleniyorsanız hemen Bir kümenin kubeconfig dosyasını iptal etme işlemini gerçekleştirin. İptal işleminden sonra sistem yeni bir kubeconfig dosyası ve yetkilendirme bağlaması oluşturur ve eski kubeconfig dosyasına dayalı tüm bağlantılar geçersiz hale gelir.

  • İzinleri temizleyin: Kullanıcılar artık erişim izinlerine ihtiyaç duymadığında (örneğin, bir proje sona erdiğinde veya bir çalışan ayrıldığında), kubeconfig izinlerini toplu olarak iptal etmek için Temizle özelliğini kullanın. Sistem, temizleme işleminden sonra yeni bir kubeconfig dosyası oluşturmaz. Talimatlar için bkz. kubeconfig dosyalarını silme ve ack-ram-tool ile kullanıcı izinlerini temizleme.

    İzinleri yanlışlıkla silmemek için kubeconfig geri dönüşüm kutusunu kullanma yoluyla temizlenmiş belirli kubeconfig izinlerini geri yükleyebilirsiniz.

SSS

Bir kubeconfig içinde kullanılan sertifika ile ilişkili kimlik bilgilerini nasıl elde ederim?

Kimlik bilgilerini elde etmek için aşağıdaki komutu çalıştırın.

grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:
kubeconfig yolunu kendi gerçek yolunuzla değiştirin. Varsayılan olarak kubectl, kümeye bağlanmak için $HOME/.kube/config dosyasını kullanır. Farklı bir kubeconfig dosyası belirtmek için KUBECONFIG ortam değişkenini veya --kubeconfig parametresini de ayarlayabilirsiniz.

Beklenen çıktı aşağıdakine benzer:

        Subject: O=system:users, OU=, CN=1***-1673419473

Burada:

  • O: Kubernetes kullanıcı grubu bilgileri. Bu örnekte grup adı system:users şeklindedir.

  • CN: İlişkili kullanıcı bilgileri. Bu örnekte kullanıcı 1***-1673419473 olup burada 1*** hesap altındaki bir Alibaba Cloud kullanıcı kimliği ile ilişkilidir.

Bir kubeconfig tarafından kullanılan sertifikanın sona erme zamanını nasıl elde ederim?

kubeconfig dosyası tarafından kullanılan sertifika ile ilişkili sona erme zamanını elde etmek için aşağıdaki komutu çalıştırın.

grep client-certificate-data kubeconfig |awk '{print $2}' |base64 -d | openssl x509 -noout -enddate
kubeconfig yolunu kendi gerçek yolunuzla değiştirin. Varsayılan olarak kubectl, kümeye bağlanmak için $HOME/.kube/config dosyasını kullanır. Farklı bir kubeconfig dosyası belirtmek için KUBECONFIG ortam değişkenini veya --kubeconfig parametresini de ayarlayabilirsiniz.

Beklenen çıktı aşağıdakine benzer:

notAfter=Jan 10 06:44:34 2026 GMT

Bu örnekte Jan 10 06:44:34 2026 GMT sertifikanın sona erme zamanıdır.

Sertifikanın süresinin dolmasından önceki 180 gün içinde veya süre dolduktan sonra, konsoldan veya OpenAPI aracılığıyla yeni bir sona erme zamanına sahip sertifika kullanan bir kubeconfig dosyası edinebilirsiniz.

İstemci sertifikasını, istemci özel anahtarını ve API Sunucu bilgilerini nasıl elde ederim?

kubeconfig dosyasından istemci sertifikasını, istemci özel anahtarını ve API Sunucu bilgilerini çıkarmak için aşağıdaki komutları kullanın.

cat  ./kubeconfig |grep client-certificate-data | awk -F ' ' '{print $2}' |base64 -d > ./client-cert.pem
cat  ./kubeconfig |grep client-key-data | awk -F ' ' '{print $2}' |base64 -d > ./client-key.pem
APISERVER=`cat  ./kubeconfig |grep server | awk -F ' ' '{print $2}'`
kubeconfig yolunu kendi gerçek yolunuzla değiştirin. Varsayılan olarak kubectl, kümeye bağlanmak için $HOME/.kube/config dosyasını kullanır. Farklı bir kubeconfig dosyası belirtmek için KUBECONFIG ortam değişkenini veya --kubeconfig parametresini de ayarlayabilirsiniz.

kubectl kullanarak bir kümeye bağlanırken certificate is valid for hatasını nasıl çözerim?

Küme API Sunucusunun Server Load Balancer (SLB) örneğine yeni bir IP adresi bağladıktan sonra, kubectl komutlarını çalıştırarak yeni IP adresine erişmeye çalıştığınızda Error while proxying request: x509: certificate is valid for xxx veya Unable to connect to the server: x509: certificate is valid for xxx hatasıyla karşılaşabilirsiniz.

  • ACK yönetilen kümesi: Yeni IP adresini API Sunucu sertifikası SAN listesine ekleyin. Daha fazla bilgi için bkz. ACK API sunucu sertifikası SAN'lerini özelleştirme.

  • ACK özel kümesi: insecure-skip-tls-verify ayarını kullanarak bu hatayı yoksayacak şekilde kubectl'yi yapılandırın.

    Önemli

    Bu yöntem, istemcinin API Sunucu sertifikasını doğrulamasını engeller ve üretim ortamları için önerilmez. Bunun yerine, ACK özel kümesini ACK Pro kümesine canlı geçiş yapma ve ardından bu sorunu çözmek için yeni IP adresini API Sunucu sertifikası SAN listesine ekleme işlemlerini gerçekleştirin.

    • Yöntem 1: Bir kubectl komutu çalıştırırken --insecure-skip-tls-verify parametresini belirtin.

      kubectl -s https://<IP>:6443 --insecure-skip-tls-verify get ns
    • Yöntem 2: kubeconfig dosyasını değiştirin, insecure-skip-tls-verify: true ayarını ekleyin ve certificate-authority-data ayarını kaldırın.

      apiVersion: v1
      clusters:
      - cluster:
          server: https://<IP>:6443
          insecure-skip-tls-verify: true
        name: kubernetes
      contexts:
      ...

ACK yönetilen kümesi Kendim bir kubeconfig sertifikası oluşturmak için küme kök sertifika anahtarını edinebilir miyim?

ACK yönetilen kümesi küme kök sertifika anahtarını dışa sağlamaz. Bunun yerine, küme kubeconfig dosyasını konsol veya OpenAPI aracılığıyla edinin.

İlgili konular