-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add hodu-server #190
Add hodu-server #190
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wafflestudio/hodu 팀 있어요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다
apps/hodu-dev/hodu/hodu-server.yaml
Outdated
- istio-ingress/waffle-ingressgateway | ||
- mesh | ||
hosts: | ||
- #TODO |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1) 아직 도메인 발급이 안 된 상태이지만, 도메인 발급되면 해당 도메인과 함께 서비스 DNS 도 추가해주세요!
저희가 테스트할 때는 퍼블릭 도메인으로 직접 요청할 수 있지만, wacruit-dev 서버와 통신할 때는 굳이 퍼블릭 도메인을 거칠 필요가 없어서요.
apps/hodu-prod/hodu/hodu-server.yaml
Outdated
- istio-ingress/waffle-ingressgateway | ||
- mesh | ||
hosts: | ||
- hodu-server.hodu-prod.svc.cluster.local |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2) 요거 제가 알기론 hodu-server 라고만 적어도 될 거예요 (http.route.destination.host 와 마찬가지로)
@wafflestudio/waffle-k8s-admin k8s 대장님들 안녕하십니까 오랜만입니다..
등을 발급 대기 중이어서 완성된 Manifest 는 아니지만, 저걸 다 받고 리뷰를 요청 드리면 너무 늦어질 것 같아서 미리 리뷰 요청드립니다. |
resources: | ||
requests: | ||
cpu: 200m | ||
memory: 256Mi | ||
limits: | ||
cpu: 200m | ||
memory: 256Mi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
나름 트래픽이 몰릴 리크루팅 서버인데 리소스는 조금 더 증설해도 되지 않을까요?
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
ip-192-168-5-125.ap-northeast-2.compute.internal 68m 3% 1643Mi 49%
ip-192-168-5-142.ap-northeast-2.compute.internal 37m 1% 999Mi 30%
ip-192-168-5-233.ap-northeast-2.compute.internal 52m 2% 1926Mi 58%
ip-192-168-5-31.ap-northeast-2.compute.internal 253m 13% 1754Mi 53%
ip-192-168-5-68.ap-northeast-2.compute.internal 36m 1% 789Mi 23%
ip-192-168-5-97.ap-northeast-2.compute.internal 57m 2% 1750Mi 52%
ip-192-168-6-148.ap-northeast-2.compute.internal 273m 14% 1951Mi 58%
ip-192-168-6-153.ap-northeast-2.compute.internal 51m 2% 1799Mi 54%
ip-192-168-6-30.ap-northeast-2.compute.internal 54m 2% 2095Mi 63%
ip-192-168-6-37.ap-northeast-2.compute.internal 40m 2% 1301Mi 39%
ip-192-168-6-80.ap-northeast-2.compute.internal 49m 2% 1793Mi 54%
ip-192-168-6-90.ap-northeast-2.compute.internal 86m 4% 1124Mi 33%
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prod 기준 리소스 훨씬 많이 증설해야합니다!..
지금은 리소스를 얼마나 요청드려야할지 감이 안잡혀서 개발 완료 후 로드 테스트 해보고 재요청드리려 했습니다.
kind: Application | ||
metadata: | ||
namespace: argocd | ||
name: hodu |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
운영환경에 올라갈 각종 API resource 네이밍이 (namespace 포함) hodu-prod인데, argoApp 이름을 hodu라고 짓는 이유가 따로 있을까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이건 기존에 작성된 앱들 보고 따라하신 것 같습니다!
다른 애들도 전부 dev 의 경우에만 -dev prefix를 붙이는 걸로 보입니다.
app: hodu-server | ||
spec: | ||
serviceAccountName: hodu-server | ||
containers: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isolate 실행하기 위한 최소 조건입니다. privileged 옵션 추가해주세요.
containers: | |
containers: | |
securityContext: | |
privileged: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wafflestudio/waffle-k8s-admin 이거 추가해도 괜찮을까요??
파드 내에 샌드박스 환경을 구축하기 위해 필요합니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public한 api서버인거죠? 다른 방법은 없나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Hank-Choi 에구 이 댓글을 지금 봤네요 ㅠㅠ
넵 퍼블릭한 서버가 맞고, cgroup 을 사용하기 위한 최소한의 조건이라 다른 방법이 없습니다.
- isolate → cgroup 에 의존,
- cgropu → privileged 필요입니다.
관련 링크 첨부합니다.
- Writable cgroup for unprivileged containers kubernetes/kubernetes#121190 (k8s 에서 privileged 없이 cgroup 사용이 가능하냐는 질문)
- Is it safe to run isolate as a service in a Docker container? ioi/isolate#35 (comment) (isolate 를 구동하기 위해선 반드시 privileged 옵션이 필요하다는 글)
그리고 이거 wacruit랑은 다른건가요? |
@Hank-Choi 이 서버는 wacruit-judge에 해당하는 기능을 하고 있습니다. 기존 wacruit는 각종 백엔드 기능들을 담당하는 wacruit-server에서 코드 채점 부분을 외부 api인 judge0에 의존하고 있었습니다. hodu는 judge0의 기능을 직접 구현한 서버로, 채점 로직만을 담당하고 있습니다. |
@woohm402 오호 있었군요! 리소스 수정할 때 같이 수정하겠습니다. |
--- | ||
apiVersion: v1 | ||
kind: Namespace | ||
metadata: | ||
name: babble | ||
labels: | ||
istio-injection: enabled | ||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
리크루팅을 위한 채점 서버인 "hodu"를 배포하려고 합니다.
현재 아래 내용이 해결되어 있지 않아서 draft pr로 올립니다.
+) 요청 자원의 경우 아직 내부적으로 스펙에 대한 토의가 끝나지 않아서, 토의가 끝난 이후에 수정하겠습니다.
+) hodu 팀에 대한 그룹이 없는거 같아서 따로 CODEOWNER은 건드리지 않았습니다.