‫Pekala,
‫1'de yeni bir özellik. 13. 1 sırlar için tam destekti.
‫Bunun ne olduğuna dair bir etiket satırı yaratmak zorunda kaldım, bu temel olarak Swarm'de sır saklamak için en kolay ve güvenli
‫bir çözüm. 'En kolay'
‫diyorum, çünkü Swarm 'da yerleşik, kutudan çıktı ve
‫kullanabilmek için yapmanız gereken hiçbir şey yok. Sürücünüzü ve sürüm 1'inizi
‫başlattığınız sürece. 13 veya
‫daha yeni, sırlarınız var. yalnızca olması gereken yerlerde kullanılmak üzere tasarlanmıştı.
‫Güvenli olduğu söyleniyorum, çünkü yere transit olarak şifrelenmek üzere disk üzerinde şifrelenmek ve
‫Ve gerçekten ihtiyacımız olan şey bu.
‫Peki sır nedir? Bu durumda bir sır, bir gazetenin ön sayfasında
‫istemediğiniz her şeyi sınıflandırıyor. Ön sayfada yer aldıysa ve değiştirmeniz
‫gerekiyorsa, bu bir sır.
‫bağlantı sağlamak için gereken
‫her şey muhtemelen bir sır ve
‫siz onu korumak.
‫Bu bir kullanıcı adı veya şifre, bir TLS sertifikası veya anahtarları, bir SSH anahtarı, bir Twitter
‫API anahtarı, bir Amazon anahtarı, bir şey arasında
‫Şimdiye kadar Swarm için çok fazla seçenek yoktu.
‫Vault ve sırların saklanması için diğer harika araçlar gibi kesinlikle çok sayıda seçenek var,
‫ancak inşa edilmedi ve ayrı bir altyapı kurulumuna ihtiyaç duydukları için onları
‫kullanmaya bile başlamış oluyorlardı.
‫Yani, burada bir dize ya da ikili olan her şeyi saklayabiliriz. 5MB boyutunda.
‫en güzel yanı, aslında uygulamanızın kullanılması için uygulamanızın yeniden yazılmasını gerektirmemesi.
‫Ve bunun
‫Bunları elde etmek için uygulamanızın bir web servisinden başka bir yere konuşmasını sağlamak zorunda değilsiniz.
‫O halde nasıl çalıştığını görelim.
‫1'den itibaren. 13. 0 Swarm Raft veritabanı varsayılan olarak diskte şifrelenir. Docker'ı kurarsanız ve daha
‫önce yaptığımız gibi sürükleme başlatırsanız,
‫bu şifrelenmiş bir veritabanıdır.
‫Ve hizmeti kapattığında, güvenli bir şekilde saklanan tuşlarla şifrelenir.
‫saklanır ve anahtarları kilidini açmak veya çözmek için kullanan anahtarlar bunlar.
‫Yalnızca yönetici düğümlerinin diskinde
‫Bu halihazırda Swarm'da mevcut ancak temelde anahtarların konteynerlere inmesi,
‫kontrol düzlemi veya Yöneticiler ile İşçiler arasındaki şifreli TLS
‫ağı iletişimi üzerinden gerçekleştiriliyor. Ve bu bağlantı zaten güvenli, şimdiden TLS ve karşılıklı
‫PKI kimlik doğrulaması kullandı, bu yüzden bu sırları konteynerlerimize getirmek için mevcut kanalı kullanmak için harika bir yoldur.
‫Onları yakalamak için ilk önce Docker secrets komutlarını kullanarak onları Swarm
‫veritabanına koyduk.
‫bu sırrı kullanmasına izin verildiğini söylemek için bir yığın dosyası kullansak da servislere atarız.
‫Ardından servis komutlarını kendimiz kullansak da Swarm'e kimin Buradaki anahtar şu ki, bir ana makine veya bir
‫düğüm üzerinde bir kapsayıcı var ve anahtarın bu hizmete atanmış olması, diğer kapsayıcıların
‫erişebileceği anlamına gelmiyor.
‫Bu, Docker Engine'e kurulduğundan, Docker Worker bu anahtarı yalnızca belleğinde güvende tutar ve yalnızca
‫bu düğümde bunlara gereksinim duyan kapsayıcılara geçer.
‫Şimdi, dosya sisteminde kapsayıcıya nasıl sunuldukları, konteynırdaki uygulamalarınız için sabit diskte bir
‫dosya gibi görünüyor.
‫Ancak aslında değil. Aslında diskte çalışmıyorlar. sırrınızı dosya olarak verdiğiniz addır.
‫Bellekte yalnızca bir ramfs dosya sistemi kullanıyorlar ve bunlara / run / secrets dizininin
‫altına gireceksiniz, burada varsayılan olarak,
‫Sonra o dosyaya yalnızca eriştiğinizde içerdiği bir sır görürsünüz.
‫Bunu bir anahtar değer deposu
‫gibi düşünürseniz, anahtar dosyanın adıdır ve içindeki değer de değerdir.
‫Aynı anahtar için birden fazla ad alabilmek için takma adlar da oluşturabiliriz ve daha sonra bunun
‫nasıl gerçekleşeceğini göreceğiz.
‫atamaları bulunan bir yığın dosyası kullanıyorsanız, aslında yerel makinenizde Docker Compose'da çalışacaktır.
‫Yerel geliştirme için, gizli
‫Şimdi, docker-compose, komut satırı, asla üretim sunucusunda üretimde kullanılmamalıdır.
‫Bu davada özellikle de güvenlik taklit ediyor.
‫Peki, olan biten, Docker geliştiricisinin veya Docker kullanıcısının kendi makinesinden istif dosyalarını
‫olabildiğince kullanabilmesi için gerçekten istiyoruz.
‫Dolayısıyla, yerel makinenizde çalıştırdığınız konteynerler, aynen Swarm'da olduğu gibi sırları
‫da görecektir.
‫başlamadan topluluğumuzda Swarm yok, ki çoğu insan bunu yapmayacak.
‫Ancak, orada başlatmaya
‫Sırları saklamak da Swarm veritabanında.
‫Dolayısıyla bu sizin için açık olabilir, ancak sırlar Sürük'e bağlı. Bu sadece bir sürü şey. Swarm yoksa
‫sırları kullanamazsın.
‫Bununla birlikte, liman yazarlığı oluşturma komutunun sırları düz bir metin dosyasına yerel kapsayıcıya bağladığı
‫geçici bir çözüm vardır.
‫Şimdi bu güvenli değil, ancak sırlarımızı makinemizde yerel olarak kullanmamıza izin veriyor.
‫kullanmak isteyeceğiniz bir şey değil, bu yüzden Swarm için güvenli mağazamıza sahibiz.
‫Üretimde