macOS 10.15 홈서버 구축 -(1)설치

zion·2025년 6월 8일

Mac

목록 보기
1/3

1. ChatGPT 사용을 위한 Chrome 114버전 다운로드

아래 사이트 맨 마지막 > 다른 플랫폼 선택
https://www.google.co.kr/chrome/next-steps.html?platform=mac129&statcb=0&installdataindex=empty&defaultbrowser=0

2. minicube v1.30.1 다운로드

curl -LO https://github.com/kubernetes/minikube/releases/download/v1.30.1/minikube-darwin-amd64

chmod +x minikube-darwin-amd64
mv minikube-darwin-amd64 minikube
mkdir -p ~/bin
mv minikube ~/bin/
echo 'export PATH=$HOME/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
minikube version

3. Docker Desktop 설치

Intel 기반 Mac용 Docker Desktop 4.15.0 다운로드 링크:
https://desktop.docker.com/mac/main/amd64/78933/Docker.dmg

minikube start --driver=docker
  • VirtualBox는 macOS 10.15에서 안 되고
  • Hyperkit도 deprecated에 Xcode 설치 의존 문제로 어려움

4. 웹사이트 Docker 이미지로 배포하기

1) 배포 파일 생성

echo '<!DOCTYPE html>
<html>
<head>
  <title>Zion\'s Site</title>
</head>
<body>
  <h1>Hello from Zion\'s Home Server!</h1>
</body>
</html>' > index.html
echo 'FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html' > Dockerfile

2) 내부도커 배포 설정

docker build -t zion-web:v1 .
kubectl create deployment zion-web --image=zion-web:v1
kubectl expose deployment zion-web --type=NodePort --port=80
minikube service zion-web

** 오류 발생시

eval $(minikube -p minikube docker-env)
docker build -t zion-web:v1 .
docker images | grep zion-web
eval $(minikube -p minikube docker-env -u)
kubectl delete pod -l app=zion-web //재배포

kubectl get pods //pod 상태 확인
kubectl get svc //서비스 상태 확인
kubectl logs deployment/zion-web // 컨테이터 로그
kubectl delete service zion-web //서버 삭제

3) 외부 도커 설정

docker build -t zion/my-website:v1 .
docker login
docker tag zion/my-website:v1 [your-dockerhub-username]/my-website:v1
docker push [your-dockerhub-username]/my-website:v1
kubectl apply -f deployment.yaml
kubectl expose deployment zion-web --type=NodePort --port=80
kubectl get service zion-web
minikube service zion-web

5. java21 설치

https://adoptium.net/temurin/releases/?os=any&arch=any&version=11

mkdir -p ~/jdk
tar -xzf ~/Downloads/OpenJDK21U-jdk_x64_mac_hotspot_21.0.7_6.tar.gz -C ~/jdk
export JAVA_HOME=~/jdk/jdk-21.0.7+6/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH   
java -version 
  • java11, java -jar jenkins.war 실패

6. Jenkins 설치

https://www.jenkins.io/download/
java -jar jenkins.war --httpPort=8081 --prefix=/jenkins

/Users/apple/.jenkins/secrets/initialAdminPassword
(Command (⌘) + Shift (⇧) + . (마침표))

7. Nginx 설치

brew install nginx
nginx -V 2>&1 | grep -- --conf-path
nano /usr/local/etc/nginx/nginx.conf
brew services restart nginx
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8080;
        server_name  [도메인 이름];

        location / {
            proxy_pass         [minicube URL];
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
        }

        location /jenkins {
            proxy_pass         http://localhost:8081;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
        }
    }
}

minicube URL 은 service 실행시 확인 가능하다.
또는

minikube ip //ip 확인
kubectl edit service zion-web //nodePart설정에서 포트 확인가능

✅ 기본 echoserver 테스트 완료

🔜 나만의 웹사이트 Docker + 배포

🔜 Ingress + 여러 서비스 배포

🔜 Jenkins로 CI/CD 구성

🔜 Terraform으로 전체 자동화

profile
be_zion

0개의 댓글