KubOSM ile Kubernetesi CentOS 7de dağıtın
Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu
Hepimiz uygulama kaplarını birden çok makineye oluşturmak, yönetmek ve dağıtmak için bir platform olan Docker'ı biliyoruz ve seviyoruz. Docker Inc., "Docker Kayıt Defteri" olarak bilinen bir git deposu gibi indirilecek (veya çekilecek) açık kaynaklı kapları barındırmak için bir hizmet sunmaktadır. Bunu Docker kapları için bir GitHub gibi düşünün.
Peki ya kendi kayıt defterinizi herkese açık olandan ayırmak istiyorsanız? Docker Inc., Kayıt Defteri uygulamalarını GitHub'da açık kaynaklı hale getirdi.
Bu eğitimde, yeni bir VPS'de CoreOS kullanarak özel bir Docker kayıt defteri oluşturma işlemi yapılır.
Bu öğreticinin kapsamı dışında olduğu için Docker ve CoreOS'un tam olarak neler yapabileceğine dair tonlarca zaman harcamayız. Temel olarak, CoreOS büyük sunucu kümeleri için tasarlanmıştır, küçük, hızlıdır ve otomatik olarak düzenli güvenlik güncellemeleri alır. Kök dosya sistemi de salt okunurdur, yani temel kurulumda bulunmayan her türlü yazılımı çalıştırmak için Docker'ı kullanmanız gerekir.
Bu, Core OS'yi Docker için mükemmel bir ana sistem yapar!
Docker Inc., Kayıt Defterini en üst düzey bir görüntü olarak sağladı, bu da basit bir şekilde aşağı çekebileceğimiz anlamına geliyor:
docker pull registry
Bağlantı hızına bağlı olarak bu işlem birkaç dakika sürebilir.
Üst düzey görüntü olmanın bir artısı, düzenli destek ve güncellemeler aldığı anlamına gelir.
Şimdi kayıt defterini test edelim. Kayıt defteri görüntüsünü kullanarak yeni bir kapsayıcı oluşturabiliriz:
docker run -p 5000:5000 -d --name=basic_registry registry
Docker'ı çok fazla kullanmayanlar için -p
bayrak anlamına gelir PORT
, yani 5000 numaralı bağlantı noktasını kaptan ana bilgisayar bağlantı noktasına 5000 açıklıyoruz.
-d
Bayrak açılımı daemon
bu konteyner arka planda çalışmasına ve geçerli SSH oturumuna çıktı yazdırmak değil neden olur, biz de kullanarak bu temel test kabı isim istiyoruz --name
biz daha sonra kolayca yönetebilir, böylece seçeneği.
Temel kayıt defteri kabınızın kullanarak çalıştığından emin olun docker ps
. Çıktı şuna benzer olmalıdır:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfb54e4a8c4 registry:0.8.1 "/bin/sh -c 'exec do 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp basic_registry
Ayrıca, http://YOUR_IP:5000
web tarayıcınızı ziyaret edin ve aşağıdaki gibi bir mesaj almalısınız:
"docker-registry server (dev) (v0.8.1)"
dev
Parantez içindeki kelimeye dikkat edin . Bu, sunucunun şu anda dev config çalıştırdığı anlamına gelir. Yakında daha fazla yapılandırmaya bakacağız.
Artık kendi (çok temel) konteyner kayıt defteriniz var! Ama henüz işimiz bitmedi.
Belki bunu meraklı gözlerden gizli tutmak veya resimlerinizi yerel depolama yerine Amazon S3'te saklamak istersiniz. Bir sonraki bölümdeki çeşitli yapılandırma seçeneklerini gözden geçirelim.
Devam etmeden önce, test kapsayıcısını öldürelim, böylece çakışan bağlantı noktalarına girmeyelim.
docker kill basic_registry
Yapılandırmayı Docker Kayıt Defteri'ne geçirebilmemizin iki yolu vardır. Bir yol, ortam değişkenlerini yeni bir kapsayıcıya aktarmak, diğeri ise bir yapılandırma dosyası eklemektir.
Kullanacağımız yaygın yapılandırma seçeneklerinden bazıları:
loglevel
- Konsola kaydedilecek minimum bilgi miktarı. Varsayılan değer info
.standalone
- Bu Kayıt Defteri kendi kendine işlemeli mi? (Asla genel kayıt defterini sorgular.) Varsayılan true
.index_endpoint
- Bağımsız değilse, başka hangi dizini sorgulayacağız? Varsayılan index.docker.io
.cache
ve cache_lru
- Küçük dosyalar için Redis önbellek kullanımına ilişkin seçenekler, buna daha sonra değineceğiz.storage
- Bu sunucu için hangi depolama arka ucunu kullanmalıyız? (Bu derste yerel kullanacağız).storage_path
- Yerel depolama kullanılıyorsa, dosyaları tutmak için hangi dizini kullanmalıyız?Yapılandırma ile çalışmaya başlamadan önce, çalışmak için bir temel dosyaya ihtiyacımız var. GitHub'daki Docker Kayıt Defteri deposundaki dosya düzgün çalışır:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
Dosya, aşağıdakiler gibi bir çıktıyla başarıyla kaydedilmelidir:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
Harika! Şimdi bu dosyayı ihtiyaçlarımıza göre değiştirebiliriz.
Core OS ile birlikte gelen tek metin editörüdür vim
, ancak daha önce hiç kullanmadıysanız endişelenmeyin, bu, neyi düzenleyeceğinizi ve nasıl yapacağınızı adım adım açıklayacaktır.
vim config_sample.yml
Dosyayı açtıktan sonra, düğmesine basın I
ve sağ alt köşede: -- INSERT --
ekleme modu için görüntülenmelidir . Ok tuşlarınızı kullanarak dosyanın sonuna kadar ilerleyin, etiketli bir bölüm görmelisiniz prod
.
İki satırı değiştireceğiz, değişiklikler aşağıda
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
Yaptığımız şey bölüm yerine bölümden prod
türetilecek yapılandırmayı değiştirmek . Sonra yeni kap içindeki yolu kullanmak için üzerine yazdık .local
s3
storage_path
/data
Tüm değişikliklerin doğru olduğunu onayladıktan sonra, ESC
ekleme modundan ve türünden çıkmak için tuşuna basın :wq
(bu, değişiklikleri dosyaya yazmak ve vim'den çıkmak anlamına gelir.)
Şimdi dosyayı yeniden adlandıralım config.yml
mv config_sample.yml config.yml
Kapsayıcı kayıt defterinizi hızlandırmak için redis'i kullanmak istiyorsanız, genel kayıt defterinden yeni bir kapsayıcı almak ve birkaç yapılandırma satırı eklemek kadar basittir.
İlk olarak, Redis'in üst düzey görüntüsünü çekin:
docker pull redis
Görüntü başarıyla çekildikten sonra, test kayıtlarında yaptığımız gibi çalıştırabilir ve adlandırabiliriz:
docker run -d --name registry-redis redis
Redis bellekte olduğundan, daha sonraki adımlarda kayıt defteri kapsayıcısına bağlayacağımız için bunun için herhangi bir yapılandırma yapmamız gerekmez.
Bir kez daha, şunu kullanarak çalıştığından emin olun docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54f65641eccf redis:2.8 "redis-server" 2 seconds ago Up 1 seconds 6379/tcp registry-redis
Şimdi yeniden açmak config.yml
içinde vim
ve sadece bunu düzenlenmiş ilk kez gibi moda eki girin.
prod
Girintiyi düzgün girdiğinizden emin olarak bölümün altına aşağıdaki satırları ekleyin . Bu sefer sadece cache
ve ekliyoruz cache_lru
.
cache:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 0
cache_lru:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 1
Ortam değişkenleri REDIS_PORT_6379_TCP_ADDR
ve REDIS_PORT_6379_TCP_PORT
Redis konteyneri ile bağlantı kurulduktan sonra kayıt defteri kapsayıcısına aktarılır.
Bununla birlikte, kayıt defteri kabınızla el ele çalışacak bir Redis kapsayıcısı kurdunuz. Şimdi kayıt defterini inşa etmeye!
Tüm yapılandırma ayarlanmış ve hazır, şimdi gerçek kayıt defteri kapsayıcısını oluşturmamız gerekiyor.
Çalıştır vim Dockerfile
Yeni Dockerfile oluşturun. Ekleme moduna girin ve aşağıdaki düzenlemeleri izleyin.
FROM registry:latest
# Add the custom configuration file we made
ADD ./config.yml /docker-registry/config/config.yml
# Create the data directory
RUN mkdir /data
# Set the configuration file to config.yml
env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
# Make sure we use the prod configuration settings
env SETTINGS_FLAVOR prod
Yukarıda yaptığımız şey, kayıt defteri görüntüsünü genişletmektir, böylece yapılandırma dosyamızı ve ayarları kullanacaktır. Dockerfile, Docker'ın okuması ve derlemesi için bir dizi derleme talimatıdır. Dockerfiles ve sözdizimleri hakkında daha fazla bilgi edinmek isterseniz, resmi Docker sitesi belgelerine göz atın.
Daha sonra kullanım için kabı oluşturmamız gerekiyor.
docker build -t my_registry .
Sending build context to Docker daemon 13.82 kB
Sending build context to Docker daemon
Step 0 : FROM registry
---> e42d15ec8417
Step 1 : ADD ./config.yml /docker-registry/config/config.yml
---> 4339f026d459
Removing intermediate container 2d5138fbcd34
Step 2 : RUN mkdir /data
---> Running in a090f0bdbfd1
---> 8eb27ba6e12a
Removing intermediate container a090f0bdbfd1
Step 3 : env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
---> Running in 565b5bfb2b22
---> 914462e46dc0
Removing intermediate container 565b5bfb2b22
Step 4 : env SETTINGS_FLAVOR prod
---> Running in 31a92847b851
---> b5949575c374
Removing intermediate container 31a92847b851
Successfully built b5949575c374
Şimdi koşmaya hazırız!
Kapsayıcıya /data
birim olarak monte etmek için ana bilgisayar sistemimizde bir dizin oluşturalım .
mkdir registry-data
Şimdi yeni bir kap yapabiliriz. Redis önbelleğini kullanmayı planlıyorsanız, aşağıdaki 2. komutu kullanın.
# For a non-Redis cache registry
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg my_registry
# For a Redis cached registry (Must have followed Redis Caching section above)
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg --link registry-redis:redis my_registry
Sunucunuzun düzgün çalıştığından emin olmak için adresini ziyaret edin http://YOUR_IP:5000
. Aşağıdaki mesajı göreceksiniz:
"docker-registry server (prod) (v0.8.1)"
(prod)
Yapılandırma değişikliklerinizin başarılı olduğu anlamına dikkat edin!
Artık kendi çalışan kayıt defteriniz olduğuna göre, yerel makinelerimizdeki Docker istemcisinin onu kullanmaya başlamasını istiyoruz. Genellikle şu komutu kullanırsınız: docker login
ancak bizim kullanımımız için login komutuna bir argüman daha eklememiz gerekir:
docker login YOUR_IP:5000
Bir kullanıcı adı ve şifre girin (bunu yeni bir hesap oluşturmak gibi düşünün) ve etkinleştirmeniz gerektiğini belirten mesajı yok sayın.
Sonra, bir stok görüntüsünü çekelim ve kendi havuzumuza itelim.
# Pull the busybox image from the public registry
docker pull busybox
# Tag it with our IP/URL
docker tag busybox YOUR_IP:5000/busybox
# Push it to our newly made registry
docker push YOUR_IP:5000/busybox
Her şey doğru şekilde itilirse, son mesaj aşağıdaki satırlarda olmalıdır:
Pushing tag for rev [a9eb17255234] on
Tebrikler! Kendi docker deponuzu kurdunuz.
Yeni özel kayıt defterinizi nasıl geliştirebileceğinizle ilgili bazı fikirler:
Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu
Rancher OS, Docker etrafında inşa edilmiş çok hafif bir Linux dağıtımıdır. İşletim sisteminin kendisi yaklaşık 20 MB ağırlığında. Bu eğitici ile birlikte çalışmaya başlayacaksınız
Giriş Docker, kapsayıcı olarak çalıştırılan programları dağıtmamızı sağlayan bir uygulamadır. Popüler Go programlama dilinde yazılmıştır
Giriş Bu kılavuz, birden fazla Alpine Linux 3.9.0 sunucusu ve Portainer kullanarak bir Docker sürüsü oluşturmayı ve yapılandırmayı gösterecektir. Lütfen unutmayın
PHP uygulamaları genellikle bir web sunucusu, ilişkisel veritabanı sistemi ve dil yorumlayıcısının kendisinden oluşur. Bu derste leveragin olacağız
Farklı Bir Sistem mi Kullanıyorsunuz? Docker, sanal kapsayıcılara yazılım dağıtımına izin veren bir uygulamadır. Go programında yazıldı
Harbor, Docker görüntülerini depolayan ve dağıtan açık kaynaklı, kurumsal sınıf bir kayıt defteri sunucusudur. Liman, açık kaynaklı Docker Dağıtımını genişletiyor b
Bu makalede, docker-composeun CoreOSa nasıl yükleneceği açıklanmaktadır. CoreOSta / usr / klasörü değiştirilemez, bu nedenle standart / usr / local / bin yolu kullanılamaz.
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Rancher, konteynerleri çalıştırmak ve özel bir konteyner servisi oluşturmak için açık kaynaklı bir platformdur. Çiftlik temelidir
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Rancher, konteynerleri çalıştırmak ve özel bir konteyner servisi oluşturmak için açık kaynaklı bir platformdur. Çiftlik temelidir
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Docker Swarm, bireysel sunucularınızı bir bilgisayar kümesine dönüştürür; ölçeklendirme, yüksek kullanılabilirlik ve
Vultr Docker uygulamasının yardımıyla Dockerı Vultr sunucu örneğinize kolayca dağıtabilirsiniz. Bu arada, Docker yönetim görevini kolaylaştırabilirsiniz
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sentry, hata izleme için açık kaynaklı bir çözümdür. Nöbetçi istisnaları ve diğer yararlı mesajları izler
Genel Bakış RancherOS, sistem hizmetlerini çalıştırmak için bir Docker arka plan programı PID 0 olarak çalıştıran inanılmaz derecede hafif bir işletim sistemidir (yalnızca yaklaşık 60 MB).
Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Docker Swarm, bireysel sunucularınızı bir bilgisayar kümesine dönüştürerek ölçeklendirmeyi, yüksek kullanılabilirliği ve
Bu eğitimde Dockerı kullanmaya başlamanın temelleri açıklanmaktadır. Dockerın kurulu olduğunu varsayıyorum. Bu öğreticideki adımlar,
Bir web uygulaması çalıştırırken, yazılımınızı çoklu iş parçacığını kullanmak için dönüştürmek zorunda kalmadan normalde kaynaklarınızdan en iyi şekilde yararlanmak istersiniz.
Önkoşullar Docker motoru 1.8+. Minimum 4GB disk alanı. Minimum 4GB RAM. Adım 1. Dockerı yükleyin SQL-Serverı yüklemek için Docker mus
Bu makalede, Düğüm uygulamanızı bir Docker kapsayıcısında nasıl dağıtacağınız gösterilecektir. Not: Bu eğiticide Dockerın yüklü ve okunmuş olduğu varsayılmaktadır
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun