ASP 설정 방법NET Core C#Kubernetes 마이크로 서비스 체계 구조, 로컬 Docker 데스크톱에서 Ingress 사용
Kubernetes runs in a local environment with docker desktop. It is similar to a cloud environment. You can use it for developing and testing. There are no extra costs. You can always easily deploy it later to the cloud.
구성 요소 개요:
컨텐트
1. ASP를 구성합니다.NET 코어 REST-API 백엔드
ASP를 사용하여 설치Visual Studio Community(무료).NET 및 웹 개발 작업량
ASP를 만듭니다.NET Core 5.0 웹 API 프로젝트를 "DemoApi"라고 합니다.Docker를 활성화하고 Linux 설정을 사용합니다.HTTPS를 비활성화하려면 다음과 같이 하십시오.
새 디렉터 "DemoController"를 추가합니다.Hello World 만 반환됩니다.
포트 4200(개발) 및 80에서 Angular 응용 프로그램에 대한 CORS 활성화:
시작 설정을 편집합니다.json은 DemoApi 구성의 URL을 포트 80으로 변경합니다.그런 다음 DemoApi 구성을 선택하고 시작합니다.
브라우저에서 테스트:
2. Create the Angular Frontend App
다운로드 및 설치Node.js/NPM
폴더 C:\dev\demo 만들기 및 명령 프롬프트 열기
Angular 설치(안내서를 작성할 때 Angular 9 사용):
C:\dev\demo>npm install -g @angular/cli
프로그램 만들기:
C:\dev\demo>ng new DemoApp
자세히 보기: Understanding Angular and Creating Your First Application 중력정(Rob Tomlin)
Call the REST-API
C:\dev\demo\DemoApp\src\app의 코드 조정
HttpClientModule을 응용 프로그램에 추가합니다.모듈ts:
응용 프로그램에서 REST-API를 호출합니다.구성 요소ts:
응용 프로그램에 불러온 데이터를 표시합니다.구성 요소html:
Test the app
안전을 확보합니다.NET 핵심 API가 실행 중입니다.Angular 응용 프로그램을 시작하고 브라우저에서 열어 모든 것이 정상인지 확인합니다:
C:\dev\demo\DemoApp>ng serve
데이터 "Hello World"를 불러오고 표시해야 합니다.
3. Dockerize the .NET Core API and the Angular App
docker 이미지를 만들고 실행하는 두 가지 방법을 보여 드리겠습니다.맞다NET 핵심 API, UI를 사용합니다.Angular 애플리케이션의 경우 명령줄을 클릭하십시오
Dockerize the .NET Core API
Visual Studio DemoApi 프로젝트에서 프로젝트 브라우저의 파일 "Dockerfile"의 이름을 "Dockerfile"(첫 번째 소문자)로 변경합니다.그리고 Docker 파일을 마우스 오른쪽 단추로 클릭하고 [Docker 이미지 만들기]
모든 것이 정상이라면 출력 생성을 확인하십시오:
Visual Studio의 API 항목이 계속 실행 중이면, docker와 Visual Studio가 포트 80에 동시에 연결할 수 없기 때문에 중지하십시오./p>
Docker 데스크톱 UI 및 맵 포트 80에서 "최신"demoapi 이미지 실행:
진일보 읽기: How to deploy a .NET 5 API in a Kubernetes cluster 이만 보타
Dockerize the Angular App
파일 만들기 C:\dev\demo\DemoApp\dockerfile
Make sure the file “dockerfile” has no file extension
이 응용 프로그램은 NGI:
파일 ".dockrignore"만들기 (시작 지점):
명령 알림 문자를 열고 docker 그림을 만듭니다. (마지막 점은 중요합니다.)
C:\dev\demo\DemoApp>docker build -t demoapp .
Angular 애플리케이션이 계속 실행 중이면 중지하십시오.명령줄(한 줄의 전체 명령)을 사용하여 컨테이너에서 응용 프로그램을 시작하고 포트 4200:
C:\dev\demo\DemoApp>docker run --publish 4200:80 --name demoappcontainer demoapp
추가 읽기: Build and run Angular application in a Docker container 저자 Wojciech Krzywiec
Test Both Containers
용기를 표시할 수 있습니다. (용기 ID와 시간 스탬프가 다를 것입니다.)
브라우저에서 프로그램 시작:
이 안내서의 다음 단계에서 포트를 막지 않도록 두 용기를 정지합니다:
C:\dev\demo\DemoApp>docker stop demoappcontainer
C:\dev\demo\DemoApp>docker stop demoapi
4. Deploy to Kubernetes on Docker Desktop
Docker Desktop에서 Kubernetes:
활성화NGINX 입구 컨트롤러 설치(명령줄의 한 줄에서):
C:\dev\demo>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.41.2/deploy/static/provider/cloud/deploy.yaml
에 대한 자세한 정보는 NGINX Ingress Installation Guide
C:\dev\demo\kubernetes를 만듭니다.아마르:
yaml 적용:
C:\dev\demo>kubectl apply -f kubernetes.yaml
이것은 두 개의 Kubernetes' 배치 '를 만들고, 각각의 배치에' 서비스 '를 만들 것입니다.그리고 포트 80의 입구를 통해 이 두 서비스를 공개합니다
에 대한 자세한 정보는 Kubernetes documentation
첫 번째 배치는 DemoAPI 이미지와 두 개의 복사본을 사용하여 확장하는 방법을 보여 줍니다.두 번째 배포는 DemoApp의 단일 복제본을 사용합니다.포털은 경로 접두사에 따라 서비스로 라우팅됩니다.
Test the Deployments
"get deployments"(배치 가져오기) 는 배치와 POD의 수량을 표시합니다:
포트 80에서 브라우저 열기(!)Kubernetes 배포 테스트:
진일보 읽기: How to deploy a .NET 5 API in a Kubernetes cluster 이만 보타
5. Final Thoughts and Outlook
마이크로서비스 기반 클라우드 구조의 작업 기반을 만들었습니다.하지만 아직도 부족한 게 많아
내 후속 게시물 및 참조p>
저는 앞으로의 게시물에서 더 많은 정보를 보여 드리겠습니다. 쿠버네트스의 비밀, SSL, 통신, 로그 기록, 디버깅, CI/CD, 키맵, (코드) 품질, (자동) 축소와 치유 등 안전 방면
나의 다른 이야기가 어떤지 보자:
질문, 생각 또는 건의가 있으면 저에게 연락하세요
Reference
이 문제에 관하여(ASP 설정 방법NET Core C#Kubernetes 마이크로 서비스 체계 구조, 로컬 Docker 데스크톱에서 Ingress 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/christianzink/how-to-build-an-asp-net-core-kubernetes-microservices-architecture-with-angular-on-local-docker-desktop-using-ingress-395n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)