왜 그럴까?이유는 간단하다파이참에서 읽을 때와 pyinstaller로 배포한 상태에서 읽는 것이 다르기 때문이다.코드에서는 그럼 어떻게 해결해?아래 코드를 보자.코드를 살펴보면 배포되었을 때와 파이참에서 실행 중일때의 코드가 분기문으로 처리되고 있다.해당 코드를 유틸로 만들어서 사용하면 좋을 듯하다.if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'): # 배포되었을 때 # When running in a PyInstaller bundle base_path = sys._MEIPASS print('Running in a PyInstaller bundle')else: # 파이참에서 실행 할 때 # When runnin..
구조 TestServiceTest.java package com.company.slot.oasis.api.slot.service; import com.company.slot.oasis.api.config.TestConfig; import com.company.slot.oasis.api.config.YamlPropertySourceFactory; import com.company.slot.oasis.api.test.domain.TestService; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.spring..
쿠버네티스 대시보드 설치 # 설치 파일 다운로드 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml # 외부에서 접속하기 위한 NodePort 설정 vi recommended.yaml # 해당 부분 찾아서 추가 kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: type: NodePort # < 이부분 추가하세요 ports: - port: 443 targetPort: 8443 nodePor..
파일 생성 # 파일 생성 # cat > 하면 붙여넣기가 가능한데 그만 입력하고 싶으면 Ctrl + D cat > nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: containers: - name: nginx-container image: nginx ports: - containerPort: 80 파일 수정 특정 단어 찾아서 바꾸기 # sed -i 's/찾을문자열/바꿀문자열/g' sed -i 's/old/new/g' example.txt sed -i 's/old/new/g' *.txt 파일 검색 # 로그에서 에러를 찾음. grep -n ERROR pod-nginx-label.yaml ..
kubectl 자동 완성 활성화 echo 'source >~/.bashrc echo 'alias k=kubectl' >>~/.bashrc echo 'complete -o default -F __start_kubectl k' >>~/.bashrc exec bash
Kubelet의 현재 실행상태 확인하기 위 사진을 보면 enabled로 설정되어 있어서 시스템이 실행되면 자동으로 서비스가 실행되어야 하지만 activeation( auto-restart) 상태로 남아있고 실행되지 않는다. 로그를 통한 원인 분석하기 # kubelet.service 실행로그를 보여준다. sudo journalctl -u kubelet.service # systemctl에 의해 관리되므로 아래 명령어로도 확인 가능 tail /var/log/syslog 확인해보면 위 내용과 같은 에러를 발견 할 수 있다 2Ʞ3 19:36:17 k8s-master kubelet[5696]: E0203 19:36:17.346886 5696 run.go:74] "command failed" err="failed ..
도커 설치 방법 # 우선, 시스템 업데이트를 수행합니다: sudo apt update sudo apt upgrade # Swap 메모리 비활성화 sudo swapoff -a && sudo sed -i '/swap/s/^/#/' /etc/fstab # 필요 패키지 설치 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # Docker GPG 키 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Docke..
쿠버네티스 공부를 위한 네트워크 설정 Nat Network 생성 도구에서 네트워크를 선택하고 NAT Network탭을 선택해주세요 네트워크 대역을 확인해주시고 포트 포워딩을 설정해줍니다. 위 사진의 의미는 호스트 OS에서 127.0.0.1:2022 포트로 호출하면 게스트 OS의 10.0.2.10:22 번으로 포트포워딩 한다는 이야기입니다. 이렇게 설정하면 호스트 OS에서 게스트 OS로 SSH 접속이 가능합니다. 오라클 버추얼머신을 켜고서 Terminal을 실행해서 작업을 진행하셔도 되지만 여러대를 사용해야 하면 번거롭고 UI 존재하기 때문에 호스트OS 리소스도 많이 차지합니다. 따라서 위 처럼 설정하고 Putty나 Xshell 같은 SSH 클라이언트를 이용해서 게스트 OS에 접속하시는 것을 추천드립니다...
오라클 버추얼박스 다운로드 및 설치 일단 가장 먼저 오라클 버추얼 박스를 다운로드 하기 위해서 아래 사이트로 이동한다. https://www.virtualbox.org/wiki/Downloads 자신의 OS에 맞는 실행 프로그램을 받아서 설치를 진행한다. 우분투 다운로드 우분투 다운로드 사이트로 이동해서 이미지를 다운로드 받는다. https://ubuntu.com/download/desktop LTS는 "Long-Term Support"의 약자입니다. 주로 소프트웨어나 운영 체제의 버전 중에서 장기 지원을 받을 수 있는 안정화된 버전을 가리킬 때 사용됩니다 따라서 LTS 버전을 받습니다. 우분투 설치 가상 머신 생성 원하는 이름을 입력하고 폴더를 지정합니다. 보통 20GB 정도의 디스크 용량을 차지하기 ..
호스트네임 변경 (Master, Worker 동일) # Ubunto 기준 sudo vi /etc/hostname # 파일이 열리며 원하는 이름으로 수정 호스트 네임은 아래 클러스터 Name으로 사용되니 잘 설정하도록 하자 주의점은 클러스터가 구성된 이후 hostname을 변경하면 노드의 상태를 조회해오지 못해서 Status가 NotReady로 표시되니 주의 하도록 하자 Swap 메모리 비활성화 (Master, Worker에 각각 수행) sudo swapoff -a && sudo sed -i '/swap/s/^/#/' /etc/fstab 쿠버네티스를 설치할 때 "sudo swapoff -a" 명령어를 사용하여 스왑 메모리를 비활성화 하는 이유는 주로 성능 및 안정성과 관련이 있습니다. 스왑 ..