כרטיסי באגי סביבה
Docker build נופל ב-DNS
Section titled “Docker build נופל ב-DNS”- סימפטום:
Temporary failure in name resolutionב-pip installבתוךdocker build. - סיבה:
/etc/resolv.confמצביע ל-stub של systemd-resolved (127.0.0.53), שלא נגיש מתוך container של build. - תיקון: להגדיר
dnsב-/etc/docker/daemon.jsonולהפעיל מחדש את Docker (דורש sudo). הפקודות המדויקות, כולל איך מוצאים את כתובת ה-DNS: docker/overview.
docker push נכשל עם blob unknown
Section titled “docker push נכשל עם blob unknown”- סימפטום: ה-image הראשון נדחף, השני נכשל:
blob unknown to registry. - סיבה: ב-Docker 29 ברירת המחדל היא containerd image store, ו-cross-repo mount שלו שבור מול registry של gitlab.com.
- תיקון: לכבות את
containerd-snapshotterב-daemon.json(קוד ה-pipeline לא משתנה). מזגו את המפתח לקובץ הקיים ואל תדרסו אותו; ואז מריצים את ה-pipeline המלא מחדש, כי המעבר מרוקן את ה-images. פירוט: docker/overview.
CRLF בסקריפטים
Section titled “CRLF בסקריפטים”- סימפטום:
bad interpreter,\r: command not found. - סיבה: סיומות שורה של Windows בקובץ
.sh. - תיקון והרשאה:
sed -i 's/\r$//' <FILE>chmod +x <FILE>איך מוודאים: bash -n <FILE> בלי פלט; grep -c $'\r' <FILE> מחזיר 0. עוד: git/hygiene.
runner: scope ו-tag
Section titled “runner: scope ו-tag”- סימפטום: job תקוע ב-pending או
no runner for tags. - סיבה: ה-runner צריך גם scope תואם וגם tag תואם. בתרגול ב-Free לא היה group runner, ה-runner היה של project אחד.
- תיקון: להפעיל את ה-runner ל-project הנוסף; לא להריץ
gitlab-runner run(ה-service כבר רץ; רקregister).
sudo gitlab-runner listאיך מוודאים: ה-runner מופיע; ה-job מתחיל. פירוט: gitlab/runners.
כלים חסרים ב-VM
Section titled “כלים חסרים ב-VM”- סימפטום:
argocd: command not found,glab,yq. - סיבה: לא מותקנים. זה לא באג.
- תיקון: Argo דרך
kubectlו-UI; GitLab דרך ה-UI; לקריאת YAMLjq+kubectl ... -o json.
איך מוודאים: command -v kubectl helm jq git docker מדפיס נתיבים.
kubeconfig רק ב-VM
Section titled “kubeconfig רק ב-VM”- סימפטום:
kubectlב-Mac לא מתחבר; ה-runner לא יכולkubectl. - סיבה: kubeconfig קיים רק ב-VM, ולמשתמש של ה-runner אין אחד בכוונה (CI לא נוגע ב-cluster).
- תיקון:
kubectl/helmב-VM;gitב-Mac או ב-VM (חייבים לדעת auth גם ב-VM).
sudo -u gitlab-runner bash -lc 'echo $KUBECONFIG; ls ~/.kube 2>&1'איך מוודאים: אין kubeconfig למשתמש ה-runner.