Bu konu, geçici depolama ve kapsayıcılar arasında veri paylaşımı amacıyla elastic container instance (ECI) örneğine emptyDir biriminin nasıl bağlanacağını açıklar.
Kullanım notları
emptyDir birimi geçici depolama alanı sağlar. ECI örneği silindiğinde veya yeniden başlatıldığında emptyDir birimindeki veriler kalıcı olarak silinir.
Yapılandırma (API)
Elastic container instance oluşturmak için CreateContainerGroup API işlemini çağırdığınızda, Volume ile ilgili parametreleri kullanarak birimleri belirtebilir ve ardından Container.VolumeMount ile ilgili parametreleri kullanarak bu birimleri kapsayıcılara bağlayabilirsiniz. İlgili parametreler aşağıda açıklanmıştır. Daha fazla bilgi için bkz. CreateContainerGroup.
Birim tanımlama
Volume ile ilgili parametreleri kullanarak birimleri belirtirken öncelikle birimlerin türlerini ve adlarını belirtmeniz gerekir. Ardından, Volume.N.Type parametresinin değerine göre diğer Volume ile ilgili parametreleri yapılandırmanız gerekir.
|
Parametre |
Tür |
Örnek |
Açıklama |
|
Volume.N.Name |
String |
emptydir-demo |
Birim adı. |
|
Volume.N.Type |
String |
EmptyDirVolume |
Birim türünü belirtir. emptyDir birimi tanımlamak için |
|
Volume.N.EmptyDirVolume.Medium |
String |
Memory |
emptyDir birimi için depolama ortamı. Bu parametreyi boş bırakırsanız varsayılan olarak ana bilgisayarın dosya sistemi kullanılır. Geçerli değerler:
|
|
Volume.N.EmptyDirVolume.SizeLimit |
String |
256Mi |
emptyDir biriminin boyutu. Değerde |
Medium değeri Memory olarak ayarlanmış bir emptyDir birimi için, örneğin shm boyutunu değiştirmek amacıyla SizeLimit parametresini ayarlayabilirsiniz. Medium ve SizeLimit parametrelerini ayarladıktan sonra emptyDir birimini kapsayıcının /dev/shm dizinine bağlamanız gerekir.
Birimleri bağlama
Birimleri belirttiğinizde, VolumeMount ile ilgili parametreleri kullanarak bu birimleri kapsayıcılara bağlayabilirsiniz.
Parametre | Tür | Örnek | Açıklama |
Container.N.VolumeMount.N.Name | String | test-volume | N numaralı kapsayıcıya bağlanacak N numaralı birimin adı. Bu değer, Volume.N.Name değeridir. |
Container.N.VolumeMount.N.MountPath | String | /usr/share | Birimlerin kapsayıcı içinde bağlanacağı yol. Bu dizindeki veriler, birimdeki veriler tarafından gizlenir. |
Container.N.VolumeMount.N.SubPath | String | /usr/sub | Birim alt dizini. Bu parametre, örneğin farklı kapsayıcıların alt dizinlerine bağlayabileceği aynı birimin farklı alt dizinlerini belirtir. |
Container.N.VolumeMount.N.ReadOnly | Boolean | false | Bağlama dizininin salt okunur olup olmadığını belirtir. Varsayılan değer: false. |
Container.N.VolumeMount.N.MountPropagation | String | None | N numaralı birimin bağlama yayılımı ayarı. Bağlama yayılımı, bir kapsayıcıya bağlanan birimlerin aynı elastic container instance içindeki diğer kapsayıcılara veya hatta aynı ana bilgisayardaki diğer elastic container instance'lara paylaşılmasına olanak tanır. Geçerli değerler:
Varsayılan değer: None. |
Birimler init kapsayıcılara da bağlanabilir. Gerekli parametreler önceki tablodakilere benzerdir. Yalnızca Container ifadesini InitContainer olarak değiştirmeniz yeterlidir.
Yapılandırma (konsol)
Elastic Container Instance satın alma sayfasında bir elastic container instance oluştururken Container Group Configurations bölümünde birimleri belirtebilir ve ardından Container Configurations bölümünde bu birimleri kapsayıcılara bağlayabilirsiniz.
Birim tanımlama
Container Group Configurations bölümünde Advanced Settings seçeneğini genişletin.
Storage bölümünün Temporary Directories sekmesinde Add seçeneğine tıklayın.
-
emptyDir birimi için bir ad girin.
Örneğin, Name alanına
emptydir-demogirin.
Birim bağlama
Container Configurations bölümünde bir kapsayıcı seçin ve gelişmiş ayarlarını genişletin.
-
Storage anahtarını açın ve Add seçeneğine tıklayın.
Yalnızca konteyner grubunu yapılandırırken tanımladığınız birimleri ekleyebilirsiniz.
Adı emptydir-demo ve türü Temporary Directories olan depolamayı seçin ve kapsayıcıdaki bağlama yolunu
/dataolarak ayarlayın.
Birimleri birden çok kapsayıcıya bağlamak istiyorsanız daha fazla kapsayıcı seçin ve önceki işlemleri tekrarlayın.
Örnekler
Aşağıdaki örneklerde, ECI örneği oluşturmak ve örneğe emptyDir birimi bağlamak için CreateContainerGroup işlemini çağırırken kullanılan parametreler gösterilmektedir. Daha fazla bilgi için bkz. CreateContainerGroup.
-
Örnek 1: Kapsayıcılar arasında veri paylaşma
ContainerGroupName=test-emptydir # Declare a volume Volume.1.Name=emptydir-demo Volume.1.Type=EmptyDirVolume # Mount the volume to container 1 Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2 Container.1.VolumeMount.1.Name=emptydir-demo Container.1.VolumeMount.1.MountPath=/data1 # Mount the volume to container 2 Container.2.Name=busybox Container.2.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/busybox:1.30 Container.2.Command.1=sleep Container.2.Arg.1=999999 Container.2.VolumeMount.1.Name=emptydir-demo Container.2.VolumeMount.1.MountPath=/data2Bu örnekte, Kapsayıcı 1 ve Kapsayıcı 2 bir emptyDir birimini paylaşır. Kapsayıcı 1'deki
/data1dizini ve Kapsayıcı 2'deki/data2dizini başlangıçta boştur. Bir kapsayıcıdan emptyDir birimine eklediğiniz tüm dosyalara diğer kapsayıcı tarafından erişilebilir. -
Örnek 2: Örneğin shm boyutunu değiştirme
ContainerGroupName=test-emptydir # Declare a volume Volume.1.Name=emptydir-shm Volume.1.Type=EmptyDirVolume Volume.1.EmptyDirVolume.Medium=Memory Volume.1.EmptyDirVolume.SizeLimit=256Mi # Mount the volume to container 1 Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2 Container.1.VolumeMount.1.Name=emptydir-shm Container.1.VolumeMount.1.MountPath=/dev/shmBu örnekte,
EmptyDirVolume.MediumdeğeriniMemoryveEmptyDirVolume.SizeLimitdeğerini256Miolarak ayarlayıp emptyDir birimini/dev/shmdizinine bağlamak, ECI örneğininshmboyutunu 256 MiB olarak değiştirir.