컨테이너 기술의 도입으로 애플리케이션 개발의 용이성이 크게 향상되었으며 쿠버네티스는 이러한 발전의 선두에 있습니다. Kubernetes는 여러 시스템에서 컨테이너 오케스트레이션을 처리하는 오픈 소스 플랫폼입니다. 이러한 Kubernetes 플랫폼 중 하나인 Red Hat OpenShift(Red Hat 제공), 사용자에게 클라우드 애플리케이션을 자동 확장할 수 있는 기능을 제공합니다. 다음으로 구동되는 애플리케이션 컨테이너가 있습니다. 도커 Kubernetes의 오케스트레이션 및 관리 서비스를 통해 따라서 OpenShift는 간단한 컨테이너 아키텍처로 인기를 얻고 있습니다. Kubernetes 오케스트레이션 서비스를 사용하여 컨테이너를 관리하기 위한 통합 배포 아키텍처를 제공합니다. 따라서 여러 제품에서 이 배포를 활용하고 있습니다.
예를 들어, 그것은 완전히 NCache-지원됩니다. NCache 고성능과 확장성을 보장하는 인메모리 분산 캐싱 솔루션입니다. 데이터 캐싱 NCache 데이터가 애플리케이션에 더 가까운 캐시에 상주하므로 네트워크 이동과 데이터베이스의 로드가 줄어듭니다. 이 문서에서 우리의 초점은 필요한 단계에 있습니다. NCache Red Hat OpenShift에서 배포.
NCache 세부 정보 NCache OpenShift-Docs에서 배포 NCache OpenShift-비디오에서
NCache Red Hat OpenShift의 배포 아키텍처
와 NCache, 추가로 OpenShift 환경 기반 클라우드 오케스트레이션을 즐길 수 있습니다. NCache 관리하기 쉬운 컨테이너 애플리케이션을 사용하는 기능. 서로 다른 애플리케이션 배포가 있는 단일 Kubernetes 클러스터로 시작할 수 있으며, NCache 클러스터 배포. 현재 환경에서 실행되는 Docker 기반 컨테이너 애플리케이션은 다음과 같습니다.
- 자바 웹 애플리케이션
- 자바 웹 서비스 애플리케이션
- ASP.NET Core 신청
이러한 응용 프로그램에는 NCache 설치; 특히 Java 응용 프로그램은 다음의 Java 클라이언트를 사용합니다. NCache, 별도의 배포는 ASP.NET core 애플리케이션은 다음에서 Docker 이미지를 사용합니다. Linux 그리고 고용 .NET Core 클라이언트 NCache 의사소통. 서버측 배포의 경우 다음을 사용합니다. Linux 기반 Docker 에 대한 이미지 NCache 사용 가능한 도커 허브.
애플리케이션은 Kubernetes 내의 헤드리스 서비스인 Cache Discovery Service라는 서비스에 연결됩니다. 그것은 라우팅의 일부인 리소스의 할당 및 라우팅을 관리하는 목적을 제공합니다. NCache 무리. 마찬가지로 원격 모니터링 게이트웨이도 이 서비스에 연결하여 다음과 같은 작업을 위해 Kubernetes 외부에서 캐시 클러스터를 모니터링할 수 있습니다. NCache 캐시 관리.
Kubernetes로 작업하는 동안 포드를 사용합니다. 기본적으로 Kubernetes에서는 IP가 포드에 할당됩니다. 팟(Pod)은 컨테이너 위에서 가상 레이어 역할을 하면서 기본 컨테이너 인스턴스를 캡슐화하는 Kubernetes 객체입니다. 단일 포드에 여러 컨테이너가 있을 수 있지만 단일 포드에 단일 컨테이너가 포함되는 것이 좋습니다. 즉, Kubernetes 클러스터의 모든 리소스 할당은 컨테이너가 아닌 포드에서 발생합니다.
다음 다이어그램은 아키텍처 흐름의 전반적인 묘사를 제공합니다. NCache 전개:
1 단계 : 배포 NCache 서버
배포 NCache Red Hat OpenShift의 서버에서는 다음을 사용하여 YAML 파일을 생성해야 합니다. NCache 구성. 이러한 YAML 배포에는 애플리케이션의 모든 구성 요소가 포함되어 있으며 배포가 매우 쉽습니다. 애플리케이션 요구 사항에 따라 이러한 구성 요소를 조정해야 합니다. 다음은 구성이 포함된 샘플 YAML 파일입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: ncache labels: app: ncache spec: replicas: 2 template: metadata: labels: app: ncache spec: containers: - name: ncache image: docker.io/alachisoft/ncache:latest ports: - name: management-tcp containerPort: 8250 - name: management-http containerPort: 8251 - name: client-port containerPort: 9800 |
Kubernetes는 매우 빠르게 발전하고 있으며 새로운 기능을 계속 제공하고 있으며 이러한 기능은 빠르게 핵심 API의 일부가 되고 있습니다. 그러나 몇 가지 기능은 실험적 특성으로 인해 이 궤적을 따르지 않습니다. 따라서 그에 따라 "apiVersion"을 설정합니다. 여기서 사용된 버전은 "v1beta1"이며 기본 Kubernetes 버전에 따라 다릅니다. 따라서 더 이상 사용되지 않는 버전을 사용하고 있지 않은지 확인하십시오.
배포 파일에 언급된 포트는 다음과 같습니다.
- 포트 8250: TCP 관리용.
- 포트 8251: HTTP 관리 및 모니터링용.
- 포트 9800: 접속하는 클라이언트 애플리케이션 간의 통신을 위해 NCache.
먼저 종류를 배포로 설정합니다. 다음은 복제본 수(이 경우 2개)이며 논리에 따라 늘릴 수 있습니다. 포드 복제본에 대한 자세한 내용은 다음을 참조하세요. 여기에서 지금 확인해 보세요.. 컨테이너의 경우 경로를 제공하여 Docker 이미지를 지정해야 합니다. NCache Enterprise 서버 Linux Docker 이미지 사용 가능 도커 허브. 이 Docker 이미지를 가져오는 일반 명령은 다음과 같습니다.
1 |
docker pull alachisoft/ncache:latest |
필요한 모든 구성으로 YAML 파일을 생성한 후에는 OpenShift 웹 콘솔을 사용하여 파일을 가져와야 합니다. 원하는 이름으로 새 프로젝트를 만들고 YAML 파일을 다음이 포함된 프로젝트로 가져옵니다. NCache 배포. 당신은 또한 사용할 수 있습니다 OpenShift CLI 도구, 배포 상태를 보여줍니다.
NCache 세부 정보 NCache 배포 시나리오 포트 포워딩 도커
2단계: 캐시 검색 서비스 생성
이전에 설정한 것처럼 캐시 검색 서비스는 모든 NCache 기본 포드에 대한 통신. 이 검색 서비스는 클라이언트 애플리케이션과 클라이언트 애플리케이션 간의 중앙 통신 게이트웨이 역할을 합니다. NCache Kubernetes 클러스터의 일부인 캐시 클러스터. 또한 헤드리스 서비스이며 기본 서버의 IP 주소를 검색합니다. NCache Kubernetes 클러스터의 캐시 서버 포드.
이러한 서비스를 만들려면 아래와 같이 다른 YAML을 빌드해야 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
apiVersion: v1 kind: Service metadata: name: cacheserver labels: app: cacheserver spec: clusterIP: None sessionAffinity: ClientIP selector: app: ncache ports: - name: management-tcp port: 8250 targetPort: 8250 - name: client-port port: 9800 targetPort: 9800 |
여기에 이름이 있습니다. 캐시서버. 그러나 구성에 따라 적절하게 참조할 수 있습니다. 이 경우 "종류"는 서비스. 또한 검색 서비스와 함께 통신에 필요한 이름과 포트 번호가 있는 포트가 포함되어 있습니다. "sessionAffinity"는 ClientIP로 설정되어 Kubernetes 클러스터 외부의 관리 및 모니터링 작업이 지정된 시간에 포드 중 하나에 고정되도록 합니다. YAML 파일을 생성한 후 마법사를 통해 이 파일을 가져오면 아래 이미지와 같이 캐시 검색 서비스가 자동으로 빌드됩니다.
3단계: 관리 게이트웨이 생성
이 단계에서는 Kubernetes 클러스터 외부 작업의 관리 및 모니터링을 조정합니다. 발생하는 모든 관리 작업은 이 게이트웨이를 통해 이 캐시 검색 서비스로 라우팅되며, 그러면 모든 기본 포드를 관리하고 모니터링하는 데 도움이 됩니다.
관리 게이트웨이를 생성하려면:
- OpenShift 포털의 "네트워킹" 섹션으로 이동합니다.
- 드롭다운 메뉴에서 "경로"를 선택합니다.
- 캐시 검색 서비스라고도 하는 헤드리스 서비스에 대한 경로를 만듭니다.
- 경로 이름을 제공하고 이전 단계에서 만든 서비스 "cacheserver"를 선택합니다. 또한 Kubernetes 클러스터 외부의 관리 및 모니터링을 위해 대상 포트 8251을 제공합니다.
5. 생성되면 다음으로 리디렉션할 위치 경로를 선택합니다. NCache 웹 관리자 "위치"에 대한 캐시 서버 포드 중 하나에서.
4단계: 캐시 클러스터 생성
이제 성공적으로 배포되었습니다. NCache Red Hat OpenShift에서는 다음을 사용하여 캐시 클러스터를 생성할 수 있습니다. NCache 웹 관리자.
의 단계에 따라 캐시 클러스터를 생성합니다. 선적 서류 비치 사용된 IP가 캐시 팟(Pod)의 IP인지 확인하십시오. 캐시 포드의 IP를 얻으려면 OpenShift 웹 콘솔 또는 명령줄 도구에서 "Pods" 섹션으로 이동하십시오. 일단 캐시 생성 완료되면 다음을 사용하여 캐시를 시작하십시오. NCache 웹 관리자.
NCache 세부 정보 캐시 클러스터 생성 캐시 관리 작업
5단계: 클라이언트 애플리케이션 배포
이제 클라이언트 배포가 포함된 YAML 파일을 생성하여 클라이언트 애플리케이션을 배포하고 실행할 수 있습니다. OpenShift 포털을 사용하여 이 배포 파일을 가져옵니다. 클라이언트 애플리케이션은 다음과 같을 수 있습니다. .NET Core 또는 필요에 따라 자바.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: clientapp labels: app: clientapp spec: replicas: 1 template: metadata: labels: app: clientapp spec: containers: - name: clientapp image: your-client-application-repo-path ports: - name: management-tcp containerPort: 8250 |
여기서 캐시에 연결하기 위해 캐시 포드의 IP 주소가 필요하지 않습니다. "cacheServer"라는 이름으로 생성한 캐시 검색 서비스는 런타임 시 클라이언트 애플리케이션에 캐시 포드의 IP 주소를 제공합니다. 그만큼 NCache 클라이언트에는 이름이 지정된 서비스와 통신하고 OpenShift Kubernetes 플랫폼 내에서 모든 기본 리소스를 자동으로 검색하는 이 내장 논리가 있습니다.
따라서 NCache 클라이언트는 서비스 이름을 제공하여 완전히 연결된 클러스터에 연결할 수 있을 만큼 지능적입니다.
6단계: 모니터링 NCache 클러스터
NCache 캐시 클러스터를 모니터링하는 데 도움이 되는 다양한 도구가 함께 제공됩니다. 캐시 클러스터를 모니터링하면 클러스터 상태, 캐시 활동, 수행되는 작업 수 등에 대한 실시간 정보를 얻을 수 있습니다. 또한 캐시 클러스터를 모니터링하여 네트워크 중단, 메모리 오버헤드 등에 대해 적절한 조치를 취할 수 있습니다.
NCache 웹 관리자 에서 제공하는 관리 도구입니다. NCache 캐시를 구성하고 성능을 모니터링합니다. 비슷하게, NCache 웹 모니터 실시간 캐시 성능을 모니터링할 수 있는 웹 관리 도구입니다.
7단계: 확장 NCache 클러스터
NCache 매우 확장 가능한 아키텍처를 갖춘 분산 캐싱 시스템입니다. 따라서 향상된 용량과 기능을 달성하기 위해 NCache OpenShift 환경에서 확장할 수 있습니다. NCache 포드를 더 추가하여 클러스터링합니다. 이 작업을 수행하는 방법에는 여러 가지가 있습니다. OpenShift 웹 포털부터 시작:
- "배포"로 이동합니다.
- "개수 편집" 버튼을 클릭합니다.
- "+" 버튼을 클릭하여 포드 수를 늘립니다.
이러한 단계를 자동으로 진행하면 추가된 포드 수에 따라 배포 파일의 복제본 수가 증가합니다. 다음을 사용하여 발생할 수도 있습니다. OpenShift CLI(oc) 도구.
이러한 포드를 추가하면 다른 포드가 생성되지만 자체적으로 클러스터의 일부가 되지는 않습니다. 그래서, 캐시 서버 추가 실행 중인 캐시 클러스터로 이동하려면 서버 노드 페이지로 이동하십시오. NCache Web Manager로 이동하여 클러스터에 해당 서버 노드를 추가하기 위한 서버 IP를 추가합니다. 서버 노드는 런타임 시 캐시 클러스터에 추가되며 다음을 통해 성능을 크게 향상시킵니다. NCache의 손쉬운 스케일링.
NCache 세부 정보 NCache OpenShift에서 배포 NCache 오픈시프트에서
결론
기본적으로, NCache Red Hat OpenShift에서의 배포는 따라하기 쉬운 단계별 절차입니다. 컨테이너화는 그들이 제공하는 가벼운 특성 때문에 오늘날 세계에서 새롭게 떠오르는 기술적 필요성입니다. NCache 매우 빠른 분산 캐싱 솔루션이며 Red Hat OpenShift를 사용하면 컨테이너화된 Kubernetes 클러스터를 쉽게 관리할 수 있습니다. 자, 의 세계에 발을 들여 NCache 몇 가지 간단한 단계만으로 Kubernetes 클러스터에서 애플리케이션을 실행할 수 있습니다.