컨테이너화의 도입으로 애플리케이션의 개발, 배포 및 관리가 더 쉬워졌기 때문에 클라우드 배포가 점점 인기를 얻고 있습니다. 업계 최고인 Azure는 Kubernetes 배포를 다음과 같은 형태로 가장 빠르고 쉽게 제공합니다. Azure Kubernetes Service (AKS).
Azure Kubernetes 환경에서 애플리케이션의 성능을 향상시키려면 NCache AKS 클러스터 내에서 배포 및 사용해야 합니다. NCache 캐시가 애플리케이션에 더 가까울수록 애플리케이션의 성능을 여러 배로 향상시키는 메모리 내 분산 캐싱 솔루션입니다. 사용 NCache본질적으로 분산되어 있으므로 대기 시간을 개선하는 데 필요한 만큼 서버를 추가할 수 있으므로 AKS에서 극도의 확장성을 유도합니다.
NCache 세부 정보 컨테이너 배포 NCache AKS 문서
NCache Azure Kubernetes Service의 배포 아키텍처
전체적인 레이아웃은 NCacheAzure Kubernetes Service에서 의 배포는 다음과 같습니다. 헤드리스에 연결된 애플리케이션이 있습니다. 캐시 검색 서비스. 이 서비스는 캐시 서비스를 실행 중인 클러스터 포드에 대한 클라이언트 액세스를 허용하는 역할을 합니다. 또한 게이트웨이 서비스 제공된 클라이언트 IP를 기반으로 트래픽을 특정 포드로 가져오는 로드 밸런서를 제공합니다.
포드는 모든 컨테이너가 동일한 호스트에 있도록 하는 서비스를 구축하기 위한 기본 단위입니다. 포드에는 RAM, CPU 및 네트워크와 같은 리소스를 공유하는 하나 이상의 컨테이너가 포함되지만 포드당 하나의 컨테이너를 갖는 것이 좋습니다.
요청 흐름 및 AKS 클러스터 구조 NCache 아래 다이어그램에 배치되어 있습니다.
에서 제공하는 다양한 즉시 사용 가능한 기능을 사용하려면 NCache Azure Kubernetes Service 클러스터에서 배포해야 합니다. NCache AKS 설정에서 필요한 서비스. 아래 제공된 단계는 배포 및 사용을 시작하는 데 도움이 됩니다. NCache Azure Kubernetes 클러스터에서.
NCache 세부 정보 컨테이너 배포 NCache AKS 문서
1 단계 : 생성 NCache 전개
Azure Kubernetes Service에서 애플리케이션 또는 서비스 배포에 대해 이야기할 때마다 YAML 파일을 만들어야 합니다. 이 YAML 파일에는 AKS 클러스터 내에 Pod를 만드는 데 필요한 모든 정보가 포함되어 있습니다. 다음을 포함하는 포드를 성공적으로 생성하기 위해 YAML 파일이 어떤 모습이어야 하는지 보여 드리겠습니다. NCache 서비스를 제공합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
kind: Deployment apiVersion: apps/v1beta1 # underlying Kubernetes version metadata: name: ncache labels: app: ncache spec: replicas: 2 template: metadata: labels: app: ncache spec: nodeSelector: "beta.kubernetes.io/os": linux containers: - name: ncache image: docker.io/alachisoft/ncache:enterprise-server-linux-5.0.2 ports: - name: cache-mgmt-tcp # for tcp communication containerPort: 8250 - name: cache-mgmt-http # for http communication containerPort: 8251 ... # remaining necessary ports |
생성 중인 항목이 배포 포드가 될 것임을 클러스터가 이해하려면 "종류"를 다음과 같이 언급해야 합니다. 전개. 여기서 주의해야 할 것은 "apiVersion" 태그 아래에 있는 Kubernetes의 기본 버전입니다. Kubernetes는 이 버전 번호를 계속 수정하므로 배포 시 주의해야 합니다. NCache 이 버전 번호는 기본 Kubernetes의 해당 버전 번호로 설정됩니다.
여기에서 "복제본"의 수는 이 배포가 가질 포드 수를 나타내며 이 경우에는 2입니다. 요구 사항에 따라 이 값을 변경할 수 있습니다. "컨테이너" 태그 아래에 다음 경로를 제공합니다. NCache Enterprise 서버 도커 이미지. 이 경로는 다음에서 찾을 수 있습니다. 도커 허브.
NCache 세부 정보 컨테이너 배포 NCache AKS 문서
배포하기 위해 알아야 할 기타 요구 사항 중 일부 NCache Azure Kubernetes 클러스터에는 포트 정보가 있습니다. 고객이 성공적으로 상호 작용할 수 있도록 NCache YAML 파일에 컨테이너 포트 번호를 지정해야 합니다.
주로 성공적인 배포를 위해 이해해야 하는 기본 요구 사항입니다. NCache AKS 클러스터에서. 이 YAML 파일이 생성되면 이 파일을 사용하여 AKS에서 포드를 생성합니다.
이 YAML 파일을 생성하기만 하면 성공적으로 배포할 수 있습니다. NCache AKS 클러스터에서. Azure Cloud Shell에서 다음 명령을 실행하면 짜잔! 당신의 NCache 배포는 이제 Azure Kubernetes Service에서 본격적인 실행 포드입니다!
1 |
kubectl create -f [dir]/ncache.yaml |
2 단계 : 생성 NCache 디스커버리 서비스
Kubernetes 클러스터 외부에서 캐시 서버와 연결하는 캐시 클라이언트에 대해 이야기할 때 캐시 서버의 IP 주소가 필요하다는 것은 충분히 이해할 수 있습니다. 이러한 IP 주소는 정적이며 해당 시스템의 일부인 모든 클라이언트에 알려져 있습니다. 그러나 동일한 요소를 가져 와서 Kubernetes 환경에 넣으면 구현이 변경됩니다. Kubernetes 클러스터 내에서 모든 배포 포드에는 런타임에 클라이언트 애플리케이션에 알려지지 않은 동적 IP 주소가 할당됩니다. 이 구현은 클라이언트 애플리케이션이 식별하는 데 방해가 됩니다. NCache 성능과 확장성을 달성하기 위해 서버.
이 문제를 해결하기 위해 Kubernetes를 사용하면 동적이 아닌 고정된 서비스를 생성할 수 있습니다. 따라서 이를 활용하여 클라이언트 애플리케이션이 포드에 쉽게 액세스할 수 있도록 하는 헤드리스 검색 서비스를 생성해야 합니다. NCache 서비스가 실행 중입니다. 이 서비스에서 YAML 파일로 제공되는 정보를 통해 모든 클라이언트 애플리케이션이 이 서비스에 연결할 수 있습니다. 그런 다음 이 서비스는 모든 클라이언트 연결 요청에 하나의 서버를 할당합니다. AKS 클러스터 내부에 머무르는 동안 모두.
따라서 더 이상 고민하지 않고 배포 준비가 된 YAML 파일 생성을 시작하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
kind: Service apiVersion: v1 # underlying Kubernetes version metadata: name: cacheserver labels: app: cacheserver spec: clusterIP: None selector: app: ncache # same label as provided in the ncache YAML file ports: - name: management-tcp port: 8250 targetPort: 8250 - name: client-port port: 9800 targetPort: 9800 |
귀하의 "종류"는 서비스 "apiVerison"은 Kubernetes의 기본 버전으로 설정됩니다. 이것을 헤드리스 서비스로 만들려면 "clientIP" 태그를 다음으로 설정해야 합니다. 없음 검색 서비스에 공용 IP가 할당되지 않도록 지정합니다. 나머지는 다음에 필요한 포트입니다. NCache 클라이언트와 통신 NCache 서버.
여기에서 Azure Cloud Shell로 이동하고 제공된 명령을 실행하여 Kubernetes 클러스터 내에서 헤드리스 검색 서비스를 완전히 작동하도록 합니다.
1 |
kubectl create -f [dir]/discoveryservice.yaml |
NCache 세부 정보 컨테이너 배포 NCache AKS 문서
3 단계 : 생성 NCache 게이트웨이 서비스
AKS 클러스터 내에서 발생하는 모든 작업은 클러스터로 제한됩니다. 그리고 당신이 사용하기 위해 NCache 로컬 머신에서 다음을 통과하는 방법이 필요합니다. NCache 관리 작업은 해당 클러스터 내에서 수행할 수 있습니다. 이것이 바로 게이트웨이 서비스를 만드는 이유입니다. 액세스, 관리 및 모니터링을 담당하는 서비스 NCache Azure Kubernetes Service 외부에서.
다시 말하지만 클러스터에서 이 기능을 사용하려면 실행 중인 포드가 필요합니다. 실행 중인 포드를 생성하려면 필요한 모든 태그와 값을 포함하는 YAML 파일을 생성해야 합니다. 이제 게이트웨이 서비스를 생성하기 위한 YAML 파일 작성부터 시작하겠습니다. NCache 관리 할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
kind: Service apiVersion: v1 # underlying Kubernetes version metadata: name: gateway spec: selector: app: ncache # same label as provided in the ncache YAML file type: LoadBalancer sessionAffinity: ClientIP ports: - name: management-http port: 8251 targetPort: 8251 |
여기에서 Azure Kubernetes Service 클러스터가 이 포드가 아무 것도 배포하는 대신 특정 목적을 위한 서비스로 작동한다는 것을 알기 위해서는 "종류"를 다음과 같이 명시해야 합니다. 서비스를 제공합니다. 이 파일은 게이트웨이 서비스가 오류 없이 작동하는 데 필요한 포트도 언급해야 합니다. "유형" 태그 지정 로드밸런서 이 게이트웨이 서비스는 여러 서버에서 클라이언트 요청의 균형을 조정하는 외부 로드 밸런서가 될 것이라고 명시합니다. 확인해야 할 점은 "sessionAffinity"가 다음으로 설정되어 있다는 것입니다. 클라이언트IP 한 클라이언트가 매번 동일한 서버로 리디렉션되도록 합니다.
이것은 귀하의 게이트웨이 서비스를 생성하는 데 필요한 거의 모든 정보입니다. NCache 전개. 지금 해야 할 일은 다음을 실행하는 것입니다. 만들 Azure Shell의 명령과 AKS가 이 서비스를 만들고 시작합니다.
1 |
kubectl create -f [dir]/gatewayservice.yaml |
NCache 세부 정보 컨테이너 배포 NCache AKS 문서
4단계: 캐시 클러스터 생성
지금까지 가지고 있는 것이 효과가 있습니다. NCache 서버, 게이트웨이 서비스 및 검색 서비스 NCache 클라이언트. 제대로 즐기기 위해 지금 필요한 것 NCache Azure Kubernetes Service에서 Kubernetes 클러스터 내에 캐시 클러스터를 만드는 것입니다. 간단합니다.
다음을 사용하여 이 단계를 수행할 수 있습니다. NCache 통합되어 제공되는 웹 관리자 NCache 전개. 클러스터를 성공적으로 만들고 여기에 서버 노드를 추가하는 데 필요한 단계는 에서 제공됩니다. NCache 문서 클러스터형 캐시 생성. 이 단계에서 유일한 트위스트는 필요한 서버의 IP입니다. 이들은 Kubernetes 클러스터가 캐시 팟(Pod)에 할당한 것과 동일한 IP여야 합니다. 다음을 실행하여 이러한 IP를 얻을 수 있습니다. 포드를 얻다 Azure Cloud Shell의 명령입니다.
5단계: 애플리케이션 배포 생성
클러스터에서 클라이언트 애플리케이션(.NET 또는 Java)을 배포하고 실행하려면 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 |
kind: Deployment apiVersion: apps/v1beta1 # Underlying Kubernetes version metadata: name: client spec: replicas: 1 template: metadata: labels: app: client spec: imagePullSecrets: - name: client-private nodeSelector: "beta.kubernetes.io/os": linux containers: - name: client image: # Your docker client image here ports: - name: port1 containerPort: 8250 - name: port2 containerPort: 9800 |
파일에 언급된 "nodeSelector"는 다음과 같을 수 있습니다. 창 Kubernetes는 두 운영 체제를 모두 지원하기 때문입니다. 또한 요구 사항에 따라 동일한 클러스터 내에 여러 클라이언트 애플리케이션을 배포할 수 있는 장점이 있습니다. 각 클라이언트 애플리케이션에 대해 모든 애플리케이션이 별도의 포드에서 실행되도록 유사한 YAML 파일을 생성해야 합니다.
Microsoft Azure에서 제공하는 Cloud Shell에서 다음 명령을 실행하여 클라이언트 애플리케이션 포드를 성공적으로 생성하고 시작합니다.
1 |
kubectl create -f [dir]/client.yaml |
제공된 NCache 클라이언트는 클러스터 내에서 연결을 생성할 때 매우 지능적입니다. 이 클라이언트가 필요로 하는 모든 것은 자동으로 모든 기본 구성 요소를 검색하기 위해 대화해야 하는 서비스의 이름입니다. NCache Azure Kubernetes 클러스터 내부에 있는 지정된 캐시에 대한 클러스터 노드입니다.
사용의 가장 실현 가능한 이점 NCache AKS에서 클라이언트 연결을 위해 캐시 포드의 IP 주소를 제공할 필요가 없다는 것입니다. 이전에 생성한 헤드리스 검색 서비스는 런타임 시 캐시 포드의 IP 주소를 클라이언트 애플리케이션에 제공하는 역할을 합니다.
NCache 세부 정보 컨테이너 배포 NCache AKS 문서
6단계: 모니터링 NCache 클러스터
이제 서비스, 서버 및 애플리케이션을 준비하고 실행했으므로 클러스터 내부의 캐시 활동을 모니터링할 방법이 필요합니다. 이 정확한 이유 때문에, NCache 캐시 클러스터를 모니터링하는 데 도움이 되는 다양한 도구가 함께 제공됩니다. 이러한 도구는 클러스터의 상태, 성능, 네트워크 결함 및 연결에 대한 더 나은 아이디어를 얻는 데 도움이 됩니다.
NCache 를 제공합니다 웹 모니터 캐시의 실시간 성능을 그래픽으로 보여줍니다.
마찬가지로, 당신은 캐시 통계 캐시 활동에 대한 보다 자세한 분석을 제공하는 옵션입니다.
7단계: 확장 NCache 클러스터
NCache확장성이 매우 뛰어난 분산 캐시이므로 런타임에 서버 노드를 추가 및 제거하여 전체 성능을 향상시킬 수 있습니다. NCache. 클러스터를 모니터링하는 동안 요청/초가 이러한 요청을 처리하는 데 사용할 수 있는 서버 수보다 훨씬 많다고 생각되면 배치 내에 하나 이상의 캐시 노드를 추가할 수 있습니다.
확장할 수 있는 여러 가지 방법이 있습니다. NCache AKS 배포의 클러스터. 당신은 사용할 수 있습니다 NCache 웹 관리자 또는 NCache PowerShell 도구 또는 NCache YAML 파일. 이러한 방법을 사용하여 클러스터에서 노드를 추가 및 제거하는 방법에 대한 자세한 내용은 다음 설명서를 참조하십시오. AKS 클러스터에 캐시 서버 추가 과 AKS 클러스터에서 캐시 서버 제거.
NCache 세부 정보 컨테이너 배포 NCache AKS 문서
우리는 무엇을 배웠는가?
우리가 본 바로는 Azure Kubernetes Service가 업그레이드 및 패치를 자동화하는 완전히 통합되고 관리되는 컨테이너 오케스트레이터라는 것을 추론할 수 있습니다. 애플리케이션과 리소스가 상주하는 AKS 클러스터에서 확장성과 고가용성을 달성하려면 다음을 배포해야 합니다. NCache 그것합니다. NCache AKS 클러스터 내에서 높은 성능과 확장성을 제공하는 확장 가능한 메모리 내 분산 캐시입니다.
배포에 대한 자세한 단계별 그림을 보려면 NCache AKS에서 자세한 내용은 설명서를 참조하세요. 배포 NCache Azure Kubernetes 서비스에서.
깨끗한 문구를 사용한 다음 크고 긴 멋진 문장을 사용해 주시겠습니까? 귀하의 웹사이트에 있는 기사와 문서를 읽는 것은 정말 힘든 일입니다…