본문 바로가기
반응형

IT/kuberntes10

쿠버네티스 환경에서 Mendix app 적용하기 ( 성공!!!) 2024-08-01드디어 성공했습니다!!!오류는 모두 멘딕스 설정관련이었네요.1. MendixAdmin 암호가 base64 인코딩이 안되었었다.2. MendixAdmin 암호에 대문자가 안들어갔다!좀 허무하지만 이런것들 이었습니다. 정상으로 설정된걸 확인하고, 접속하기 위해 서비스 노드포트를 추가로 선언했습니다.kubectl expose deployment mendixkoreancommunity-master --type=NodePort --name=mendixkoreancommunity-nodeport -n bsa-dev 그리고 접속할 수 있는 주소를 확인하는 미니쿠베 명령어 입니다. ( localhost로 접속이 되는게 아니더군요... ㅡㅜ )minikube service mendixkoreancomm.. 2024. 7. 29.
kubectl top 실행 오류 해결(Metrics API not available) CLI 환경에서 쿠버네티스 가용률 체크를 위한 명령어가 있다는 소문을 듣고 실행했는데 오류가 발생했습니다.error: Metrics API not available 결론부터 말하면, 컴포넌트가 설치가 안되어서 나는 오류 였고, 설치 후에도 https 통신이 기본이라, 저같이 보안을 신경쓰지 않는 환경에서는 또 오류가 발생하니 아래와 같이 하면 됩니다. 1. Metrics Server 설치kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 2. 정상 확인kubectl get pods -n kube-system metrics-server0/1 running 상태로 서버.. 2024. 6. 6.
PV 고민 해결 - local-path-provisioner 설정 k3s 는 기본으로 로컬 디스크를 pv 로 쓰게 되어 있지만, k8s 는 그렇지 않다.기본적으로 디스크를 쓰게 만들기 위해서는 local-path 를 StorageClass 에 등록해줘야 한다. 1. 설치kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.26/deploy/local-path-storage.yaml 2. 확인kubectl -n local-path-storage get pod## 오류발생시 로그확인kubectl -n local-path-storage logs -f -l app=local-path-provisioner 실제 물리디스크에 생성되는 위치는 /opt/local-path-provi.. 2024. 5. 23.
트러블 슈팅!! Q. 워커노드의 10250 에 접속을 못한다는 오류가 계속적으로 발생Error from server: error dialing backend: dial tcp 118.40.0.59:10250: connect: no route to host워커노드 방화벽 확인하고 꼭!! 리로드를 실행한다.telnet 으로 확인해도 동일한 오류가 발생함 Q.calico node 가 실행되지 않고 있음 calico-node-x 0/1 running 상태(실패) 방화벽 문제 이다 마스터노드에서 129 포트 오픈firewall-cmd --add-port 179/tcp --zone=public --permanent firewall-cmd --reload--> calico 의 작동방식에 따라 해당 노드가 실행되는데 ip to ip .. 2024. 5. 23.
쿠버네티스 클러스터 재설정 쿠버네티스를 설치했다가, 마스터노드01이 불안정해저서마스터노드02를 01로 바꾸어 재설정을 했다. 1. /etc/hosts 설정변경제거할 호스트들을 빼고, 이름을 변경했다. 2. 초기화sudo kubeadm reset## 위의 명령어 실행할때 나온 가이드 같이 삭제 커맨드 실행한다.rm -rf /etc/cni/net.d/*rm -rf ~/.kube 3. 서비스 재시작systemctl restart kubelet -. 워커노드 추가 삭제 폴더rm -rf /etc/kubernetes/* 쿠버네티스 관련 프로그램은 모두 설치가 잘되어 있을테니, kube init 명령어 부분만 재실행 해서 설정한다. 1. haproxy 를 설치했다면, 마스터 노드 설정을 변경하고 재시작한다.vi /etc/haproxy/hapr.. 2024. 5. 22.
쿠버네티스 설치하기( k8s, feat kubeadm ) 쿠버네티스를 가상환경에 설치해보겠습니다. 1. Rocky8.9 환경2. VirtualBox 7.0 이용3. 2core 4G 자원으로 고정함 1. 리눅스 설치는 생략!GUI를 제외한 서버로 설치했습니다.네트워크는 브리지 네트워크swap 메모리는 설치시부터 설정하지 않았습니다! 2. 최신 패키지 업뎃 후, dnf update master01 - worker01 설정 예정으로3. hostname 을 각각 위와같이 지정해 줍니다. hostnamectl set-hostname master01hostnamectl set-hostname worker01 4. 혹시 모르니, 스왑을 모두 꺼줍니다.sudo swapoff -asudo sed -i -e '/swap/d' /etc/fstab 5. /etc/hosts 파일에 .. 2024. 5. 17.
docker 볼륨 생성 및 공유 윈도우에서 wsl2 설치하고 도커에 연결해서 사용하고 있어서, 볼륨도 리눅스 스타일로 생성한다. #볼륨생성 docker volume create todo-list #볼륨경로 정의(파워쉘에서 실행) $target='/data' #todo v1 실행 docker container run -d -p 8011:80 -v todo-list:$target --name todo-v1 diamol/ch06-todo-list ## 볼륨 쓰는작업.... #삭제( 볼륨을 설정하지 않으면, 컨테이너 삭제시 데이터가 모두 날아간다. ) docker container rm -f todo-v1 #todo v2 실행 docker container run -d -p 8011:80 -v todo-list:$target --name to.. 2022. 12. 12.
docker 빌드 최적화 컴파일을 하는 프로그램인 경우, 레이어를 분리하여, 빌드된 바이너리파일 만 들어있는 파일이 최종적으로 나오게 해야 한다! 즉, 빌드환경 포함 + 이미지 == 엄청크다! 빌드 후, 실행파일만 포함 + 이미지 = 작아진다! golang 예제! ## 빌드환경 포함된 이미지에서 빌드하고 실행! FROM diamol/golang WORKDIR web COPY index.html . COPY main.go . RUN go build -o /web/server RUN chmod +x /web/server CMD ["/web/server"] ENV USER=sixeyed EXPOSE 80 ## 빌드 후, 리눅스만 있는 베이지 이미지에 빌드된 파일을 복사하여 생성 FROM diamol/golang AS builder C.. 2022. 12. 11.
docker 빌드 및 네트워크 생성 예제 출처 : 도커 교과서 ##Dockerfile mvn 으로 스프링 을 빌드 한다. FROM diamol/maven AS builder ## 기본이미지 지정 #도커내 위치를 지정해 호스트의 파일을 카피 하고 WORKDIR /usr/src/iotd COPY pom.xml . # 도커내에서 빌드를 실행함 RUN mvn -B dependency:go-offline COPY . . RUN mvn package # app - jdk 가 설치된 이미지를 이용 FROM diamol/openjdk WORKDIR /app COPY --from=builder /usr/src/iotd/target/iotd-service-0.1.0.jar . #도커에서 호스트로 노출할 포트 ( 도커의 80이 노출되는거 ) EXPOSE 80 EN.. 2022. 12. 10.
반응형