DevOps Docker Swarm Lab Ortamı Hazırlıkları
Home » Uncategorized  »  DevOps Docker Swarm Lab Ortamı Hazırlıkları
DevOps Docker Swarm Lab Ortamı Hazırlıkları

Docker Swarm, kümenin etkinliklerini kontrol etmek ve verimli operasyonlarını sağlamak için birden fazla çalışan düğümü ve en az bir yönetici düğümü içerir. Kümeleme, konteyner teknolojisi için önemli bir özelliktir.

Ubuntu Server 24 kurulum adımları ile Windows bir dns server kurulumları yapıldı.

DHCP Ayarları
DHCPv4 sunucu parametrelerini görüntüleyebilir ve ayarlayabilirsiniz. DHCP hizmetini, IP adres havuzunu,
lease süresini ve diğer parametreleri etkinleştirebilir veya devre dışı bırakabilirsiniz
Durum:
Başlangıç Adresi: 192.168.0.100
Bitiş Adresi: 192.168.0.200

windows-dns 192.168.0.10 windows server 2022 standard gui active directory ve dns server
docker1 192.168.0.21
sudo su
apt-get update
apt-get upgrade
nano /etc/netplan/50-cloud-init.yaml ağ ayarları dosyasında sabit ip adresi tanımlarını yap.

resolvconf

nano /etc/resolv.conf dosyasında dns tanımlarını yap.

nameserver 192.168.0.10
options edns0 trust-ad
search .

docker2 192.168.0.22
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-49-generic x86_64)

  • Documentation: https://help.ubuntu.com
  • Management: https://landscape.canonical.com
  • Support: https://ubuntu.com/pro System information as of Thu Nov 28 05:27:41 PM UTC 2024 System load: 0.46 Processes: 252
    Usage of /: 20.7% of 29.36GB Users logged in: 0
    Memory usage: 7% IPv4 address for ens33: 192.168.0.22
    Swap usage: 0%

Expanded Security Maintenance for Applications is not enabled.

7 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status

Last login: Thu Nov 28 17:27:03 2024 from 192.168.0.108
sudo su
apt-get update
apt-get upgrade
nano /etc/netplan/50-cloud-init.yaml ağ ayarları dosyasında sabit ip adresi tanımlarını yap.

version: 2
ethernets:
ens33:
addresses:
- 192.168.0.22/24
gateway4: 192.168.0.1
nameservers:
addresses:
- 192.168.0.10

nano /etc/resolv.conf dosyasında dns tanımlarını yap.

nameserver 192.168.0.10
options edns0 trust-ad
search .

docker3 192.168.0.23
docker4 192.168.0.24

apt install isc-dhcp-client-ddns # ile dhcp client yazılımını kur ve aşağıdaki dosyayı düzenle,
/etc/dhcp/dhclient.conf Dosyasını Düzenleyerek DNS Ayarlarını Kalıcı Hale Getirme
DHCP istemcisi tarafından alınan DNS ayarlarını geçersiz kılmak için dhclient.conf dosyasını düzenleyebilirsiniz:

dhclient.conf Dosyasını Açın:
sudo nano /etc/dhcp/dhclient.conf
DNS Sunucularını Ekleyin: Dosyada prepend domain-name-servers satırını bulun ve şu şekilde düzenleyin:
prepend domain-name-servers 192.168.0.10;
Not: Birden fazla DNS sunucusu eklemek isterseniz, IP adreslerini virgülle ayırabilirsiniz.
sudo dhclient -r
sudo dhclient
Bu yöntemle, DHCP üzerinden alınan DNS ayarları yerine kendi belirlediğiniz DNS sunucuları kullanılacaktır.

Ubuntu Server'da /etc/resolv.conf dosyasını değiştirilemez hale getirmeye çalışırken "operation not supported while reading flags on" hatası alıyorsanız, bu genellikle dosyanın bir sembolik bağlantı (symlink) olmasından kaynaklanır. Özellikle, /etc/resolv.conf dosyası, resolvconf veya systemd-resolved gibi hizmetler tarafından yönetiliyorsa, bu dosya otomatik olarak yeniden oluşturulabilir veya üzerine yazılabilir.

Sorunun Nedeni:

/etc/resolv.conf dosyası, sistemdeki diğer hizmetler tarafından dinamik olarak oluşturuluyor veya yönetiliyor olabilir. Bu durumda, chattr komutunu kullanarak dosyayı değiştirilemez hale getirmek mümkün olmayabilir.

Çözüm Önerileri:

resolvconf Paketini Kaldırma:

Eğer resolvconf paketi yüklüyse, bu paket /etc/resolv.conf dosyasını otomatik olarak yönetiyor olabilir. Bu paketi kaldırarak manuel kontrolü sağlayabilirsiniz:

sudo apt-get remove resolvconf # ile resolvconf kaldırmak
Sembolik Bağlantıyı Kaldırma ve Yeni Bir resolv.conf Dosyası Oluşturma:

Öncelikle mevcut sembolik bağlantıyı kaldırın ve ardından yeni bir resolv.conf dosyası oluşturun:

sudo rm /etc/resolv.conf # silmek
sudo touch /etc/resolv.conf # yeniden oluşturmak
Ardından, istediğiniz DNS ayarlarını bu dosyaya ekleyin.

Dosyayı Değiştirilemez Hale Getirme:

Yeni oluşturduğunuz resolv.conf dosyasını değiştirilemez hale getirmek için aşağıdaki komutu kullanabilirsiniz:

sudo chattr +i /etc/resolv.conf # dosya düzenlemesi kilitler dosya düzenlenemez olur yani
sudo chattr -i /etc/resolv.conf # dosya düzenleme kilidi ile düzenlenebilir bir hale dönüştürülür.
Bu işlem, dosyanın üzerine yazılmasını engelleyecektir.

Önemli Not:

Bu yöntemler, sisteminizdeki diğer ağ yapılandırma araçlarının çalışma şeklini etkileyebilir. Özellikle, resolvconf veya systemd-resolved gibi hizmetlerin devre dışı bırakılması, ağ yapılandırma süreçlerini değiştirebilir. Bu nedenle, bu değişiklikleri yaparken dikkatli olun ve sisteminizin ağ yapılandırma gereksinimlerini göz önünde bulundurun.

Eğer bu adımlar sorununuzu çözmezse veya ek yardıma ihtiyaç duyarsanız, lütfen daha fazla bilgi sağlayın, böylece size daha spesifik önerilerde bulunabilirim.
root@docker1:/home/salvador# history
1 history
2 nano /etc/netplan/50-cloud-init.yaml
3 nano /etc/resolv.conf
4 reboot
5 ip a
6 apt-get update
7 apt-get upgrade
8 ip a
9 nano /etc/netplan/50-cloud-init.yaml
10 ip a
11 nano /etc/netplan/50-cloud-init.yaml
12 netplan apply
13 ping salvador.local
14 nslookup salvador.local
15 cat /etc/resolv.conf
16 nano /etc/resolv.conf
17 reboot
18 nslookup salvador.local
19 ping salvador.local
20 nslookup salvador.local
21 nano /etc/resolv.conf
22 nslookup salvador.local
23 nano /etc/cloud/cloud.cfg.d/99-installer.cfg
24 nano /etc/cloud/cloud.cfg.d/20-disable-cc-dpkg-grub.cfg
25 netplan apply
26 reboot
27 nslookup salvador.local
28 nano /etc/resolv.conf
29 nano /etc/netplan/50-cloud-init.yaml
30 ping salvador.local
31 nano /etc/resolv.conf
32 chattr +i /etc/resolv.conf
33 sudo chattr +i /etc/resolv.conf
34 reboot
35 nano /etc/resolv.conf
36 nano /run/systemd/resolve/stub-resolv.conf
37 nano /etc/hosts
38 nano /etc/dhcpcd.conf
39 ip a
40 nano /etc/dhcpcd.conf
41 reboot
42 nslookup salvador.local
43 netplan apply
44 nslookup salvador.local
45 nano /etc/dhcpcd.conf
46 dhclient -r
47 apt install isc-dhcp-client-ddns
48 dhclient -r
49 nano /etc/dhcpcd.conf
50 nslookup salvador.local
51 reboot
52 nano /etc/dhcp/dhclient.conf
53 nano /etc/dhcpcd.conf
54 nano /etc/dhcp/dhclient.conf
55 reboot
56 history
57 nslookup salvador.local
58 nano /etc/resolv.conf
59 ip a
60 nano /etc/netplan/50-cloud-init.yaml
61 ping 192.168.0.10
62 nano /etc/resolv.conf
63 nslookup salvador.local
64 netplan apply
65 reboot
66 nslookup salvador.local
67 dhclient -r
68 dhclient
69 nslookup salvador.local
70 reboot
71 nslookup salvador.local
72 dhclient -r
73 C
74 nslookup salvador.local
75 chattr -i /etc/resolv.conf
76 nslookup salvador.local
77 apt-get remove resolconf
78 apt-get remove resolvconf
79 rm /etc/resolv.conf
80 touch /etc/resolv.conf
81 chattr +i /etc/resolv.conf
82 chattr -i /etc/resolv.conf
83 nano /etc/resolv.conf
84 chattr +i /etc/resolv.conf
85 reboot
86 nslookup salvador.local
87 nano /etc/resolv.conf
88 chattr -i /etc/resolv.conf
89 nano /etc/resolv.conf
90 chattr +i /etc/resolv.conf
91 reboot
92 nslookup salvador.local
93 history
94 reboot
95 nslookup salvador.local
96 ping salvador.local
97 exit
98 history

sudo su
apt install isc-dhcp-client-ddns -y
dhclient -r
dhclient
apt-get remove resolvconf
rm /etc/resolv.conf
touch /etc/resolv.conf
chattr -i /etc/resolv.conf
nano /etc/resolv.conf
nameserver 192.168.0.10
chattr +i /etc/resolv.conf
nslookup salvador.local
apt update && apt upgrade -y

apt install curl apt-transport-https ca-certificates software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install docker-ce docker-ce-cli containerd.io -y
systemctl start docker
systemctl enable docker
docker --version
docker version
usermod -aG docker $USER

  1. sudo apt update ve sudo apt upgrade
  2. sudo apt install curl apt-transport-https ca-certificates software-properties-common
  3. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  4. echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. sudo apt update
  6. sudo apt install docker-ce docker-ce-cli containerd.io -y
  7. sudo systemctl start docker
  8. sudo systemctl enable docker
  9. sudo systemctl status docker
  10. docker --version
  11. docker version
  12. sudo su # ile root kullanıcısına geç
  13. docker run hello-world
  14. docker ps
  15. docker ps -a
  16. docker ps -q
  17. docker run -d -p 8081:80 --name my-apache-container ubuntu /bin/bash -c "apt update && apt install -y apache2 && apache2ctl -D FOREGROUND"
  18. docker run -d -p 8082:80 --name my-nginx-container nginx
  19. docker run -d -p 8380:80 --name my-nginx-hello-world -v ~/nginx-html:/usr/share/index.html nginx
  20. docker run -d -p 8383:80 --name my-nginx-index-html -v ~/nginx-html:/usr/share/nginx/index.html nginx

docker run -d -p 9090:80 --name mert1 -v /mert/mert:/usr/share/nginx/html nginx
docker run -d -p 9090:80 --name mert1 -v /mert/mert:/usr/share/nginx/html nginx
docker run -d -p 9090:80 --name mert1 -v /mert/mert:/usr/share/nginx/html nginx

sudo su
apt update && apt upgrade -y
apt install curl apt-transport-https ca-certificates software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install docker-ce docker-ce-cli containerd.io -y
systemctl start docker
systemctl enable docker
systemctl status docker
docker --version
docker version
usermod -aG docker $USER