DPC 19.10 yükseltmesi kullanıcı arayüzünün "localhost'a bağlanamadı" mesajını gösteriyor
Summary: DPC 19.10 a yükselttikten sonra DPC kullanıcı arayüzünde "Failed to connection to localhost/127.0.0.1:8143" mesajı gösterilir.
Symptoms
DPC 19.10 a yükselttikten sonra DPC kullanıcı arayüzüne erişemezsiniz.
/var/log/dpc/elg/elg.log dosyasını kontrol ettiğinizde aşağıdaki hataları görürsünüz:
2024-05-09 13:34:54,911 DEBUG reactor-http-epoll-4 c.d.i.i.k.c.IAMCliRunner Received error during execution: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:8143; nested exception is io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:8143
Çalıştırma docker ps komutu, Keycloak kapsayıcısının 'EXITED' olduğunu gösterir:
/data01/docker/volumes/keycloak-postgres-db/_data # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 05dd8ebc74e8 dpd/dpc/iam-service:latest "java -cp iam:iam/li…" 52 minutes ago Up 48 minutes 127.0.0.1:8870->8870/tcp, ::1:8870->8870/tcp iam-service 34a6b3c4c5c4 dpd/dpc/dp-keycloak:2.3.0-2 "/opt/keycloak/bin/k…" 52 minutes ago Exited (127) 10 minutes ago iam-provider df560f07da93 dpd/dpc/postgres-db:2.3.0-2 "docker-entrypoint.s…" 52 minutes ago Up 49 minutes (healthy) 5432/tcp postgres-db
Docker günlüklerini kontrol ettiğinizde aşağıdaki hatayı alıyorsunuz:
/data01/docker/volumes/keycloak-postgres-db/_data # docker logs --tail 100 34a6b3c4c5c4 Fatal glibc error: CPU does not support x86-64-v2
Cause
DPC 19.10'da (Keycloak 21) kullanılan Keycloak sürümü, x86-64-v2 veya üzeri CPU tipi gerektirir.
DPC için oluşturulan VM'de bu CPU tipi yoktur, bu nedenle Keycloak kapsayıcısı kapanıyor ve çalışmıyor.
Resolution
Bu sorun birkaç sorundan kaynaklanıyor olabilir.
- ESXi ana bilgisayarı x86-64-v2'yi desteklemez. 2008'den sonra üretilen çoğu işlemci bu mikro mimariyi destekler.
- VM, bu mikro mimari desteği olmadan oluşturulmuş olabilir.
Bu sorunu çözmek için ana bilgisayarınızın x86-64-v2'yi destekleyip desteklemediğini belirleyin.
- Varsa, bu mikro mimarinin yapılandırıldığı yeni bir VM dağıtabilir ve ardından DPC'yi bu VM'ye dağıtabilirsiniz.
- Desteklemiyorsa bu mikro mimariyi destekleyen bir ana bilgisayar bulmanız ve DPC VM sini bu ana bilgisayara taşımanız gerekir.
VM'nizin bunu destekleyip desteklemediğini denetlemek için Linux VM'de aşağıdakilerin bulunduğu bir cpuinfo.sh betiği oluşturun:
#!/usr/bin/awk -f
BEGIN {
while (!/flags/) if (getline < "/proc/cpuinfo" != 1) exit 1
if (/lm/&&/cmov/&&/cx8/&&/fpu/&&/fxsr/&&/mmx/&&/syscall/&&/sse2/) level = 1
if (level == 1 && /cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/) level = 2
if (level == 2 && /avx/&&/avx2/&&/bmi1/&&/bmi2/&&/f16c/&&/fma/&&/abm/&&/movbe/&&/xsave/) level = 3
if (level == 3 && /avx512f/&&/avx512bw/&&/avx512cd/&&/avx512dq/&&/avx512vl/) level = 4
if (level > 0) { print "CPU supports x86-64-v" level; exit level + 1 }
exit 1
}
Ardından chmod +x bu komut dosyasını çalıştırın ve ardından aşağıdaki komutla çalıştırın:
./cpuinfo.sh
Aşağıdaki çıktıyı alırsanız desteklenir:
./cpu-type.sh CPU supports x86-64-v2