Skip to content

flytux/paas-sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

PaaS SandBox


1) Install k3s cluster

# K3S 클러스터를 생성합니다.
$ curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.25.9+k3s1 sh 
$ mkdir ~/.kube
$ cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
$ sed -i 's/default/k3s/g'  ~/.kube/config

# Cert-Manager와 Dynamic Storage Class를 생성합니다.
$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.10.0/cert-manager.yaml
$ kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml
$ kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

# Epinio cli 를 설치합니다.
$ curl -o epinio -L https://github.com/epinio/epinio/releases/download/v1.8.1/epinio-linux-x86_64
$ chmod +x epinio
$ mv epinio /usr/local/bin

Epinio Approach



2) Install epinio

# Helm을 이용하여 Epinio를 설치합니다.
$ curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
$ helm repo add epinio https://epinio.github.io/helm-charts
$ helm repo update
$ LB_IP=$(kubectl get svc -n kube-system traefik -o jsonpath={@.status.loadBalancer.ingress} | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
$ echo $LB_IP
$ helm upgrade --install epinio epinio/epinio --namespace epinio --create-namespace  --set global.domain=$LB_IP.nip.io

# Epinio에 로그인 합니다.
$ epinio login https://epinio.10.214.156.38.nip.io

3) Run epinio application

$ git clone https://github.com/flytux/kw-mvn.git
$ cd kw-mvn
$ epinio push --name kw-mvn --path .

Acorn Approach



3) Install Acorn

$ curl -LO https://cdn.acrn.io/cli/default_linux_amd64_v1/acorn
$ sudo mv acorn /usr/local/bin
$ acorn install

4) Deploy Acorn App

$ cat << EOF >> Dockerfile
# syntax=docker/dockerfile:1
FROM eclipse-temurin:17-jdk-jammy
WORKDIR /app
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:resolve
COPY src ./src
CMD ["./mvnw", "spring-boot:run"]
EOF

$ cat << EOF >> Acornfile
containers: {
  app: {
    build: "."
    ports: publish: "8080/http"
  }
}
EOF

$ acorn run .

  • Crossplane for controlling cloud infrastuctures from my k8s cluster

About

application platforms from source to deploy

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published