AKS 시리즈.netcore 응용 프로그램:사전 준비

11830 단어 ACRdotnetcoreAKS
이 시리즈는 ASp입니다.AKS에서 net core 애플리케이션을 설계하는 방법은 다음과 같습니다.이번에는 사전 준비인 만큼 솔루션 구성과 자원 제작을 진행한다.
게다가 시리즈는 이미 다음과 같은 시리즈의 지식이 있는 전제가 되었다.
  • AKS 자습서의 깊은 도랑
  • AKS에서 SQL Server 2017 사용
  • 솔루션 구성


    다음 제작의 구성은 다음과 같다.
  • Linux 노드로 구성된 AKS
  • 다중 웹 서버
  • SQL Server 2017 on Linux
  • Azure Container Registry(ACR)에서 어플리케이션 가져오기
  • 로드 밸런서를 통한 외부 액세스
  • 웹 서버와 SQL 간 클러스터 IP 경유

  • 사전 준비


    다음 환경을 준비하십시오.
  • Visual Studio 2019 또는 dotnet core 3.0을 사용하는 환경
  • 로컬 PC의 Docker 최신 버전
  • Azure 활용 환경 및 Azure CLI
  • AKS 설치


    먼저 ACR 및 AKS를 설치합니다.자세한 내용은 AKS 자습서의 깊은 도랑를 참조하십시오.이미 환경이 있다면 건너뛰세요.

  • az 명령을 통해 로그인을 실행합니다.마법사에 따라 로그인합니다.
    az login
    

  • 사용할 가입을 설정합니다.
    az account list
    az account set --subscription <subscription id>
    az account show
    

  • 리소스 그룹 및 ACR 작성
    az group create --name netcoresample --location japaneast
    az acr create -g netcoresample -n kenakamuacr --sku basic
    az acr login -n kenakamuacr
    

  • 생성된 ACR에 대한 Admin 인증 사용
    az acr update -n kenakamuacr --admin-enabled true
    

  • AKS에서 사용하는 서비스 트리거를 만듭니다.
    az ad sp create-for-rbac --skip-assignment
    

  • 작성된 ACR 리소스를 가져옵니다.
    az acr show --resource-group netcoresample --name kenakamuacr --query "id" --output tsv   
    

  • ACR의 리소스 및 서비스 공급자의 AppId를 사용하여 ACR PULL 권한을 설정합니다.
    az role assignment create --assignee <appId> --scope <acrId> --role acrpull
    

  • AKS 제작
    az aks create -g netcoresample -n myaks -c 2 --service-principal <appId> --client-secret <password> --generate-ssh-keys
    

  • kubectl 설치 및 인증
    az aks install-cli
    az aks get-credentials --resource-group netcoresample --name myaks 
    

  • 노드를 얻어 설치를 확인하다.
    >kubectl get nodes
    NAME                       STATUS   ROLES   AGE     VERSION
    aks-nodepool1-23705949-0   Ready    agent   4m14s   v1.13.11
    aks-nodepool1-23705949-1   Ready    agent   4m16s   v1.13.11
    
  • SQL Server 2017 설치


    이번 ASpnetcore 응용 프로그램에서 SQL Server 2017을 데이터베이스로 설치합니다.자세한 내용은 확인하십시오AKS에서 SQL Server 2017 사용.단계만 표시됩니다.
    1. 다음 내용은 sql2017입니다.만들다
  • 시크릿의 값은 echo -n 'MyC0m9l&xP@ssw0rd' | base64를 통해 얻은 값
  • sql2017.yaml
    kind: StorageClass
    apiVersion: storage.k8s.io/v1beta1
    metadata:
         name: azure-disk
    provisioner: kubernetes.io/azure-disk
    parameters:
      storageaccounttype: Premium_LRS
      kind: Managed
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: mssql-data
      annotations:
        volume.beta.kubernetes.io/storage-class: azure-disk
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 8Gi
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: mssql
    type: Opaque
    data:
      SA_PASSWORD: "TXlDMG05bCZ4UEBzc3cwcmQ="
    ---
    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: mssql-deployment
    spec:
      replicas: 1
      template:
        metadata:
          labels:
            app: mssql
        spec:
          terminationGracePeriodSeconds: 10
          containers:
          - name: mssql
            image: mcr.microsoft.com/mssql/server:2017-latest
            ports:
            - containerPort: 1433
            env:
            - name: MSSQL_PID
              value: "Developer"
            - name: ACCEPT_EULA
              value: "Y"
            - name: MSSQL_SA_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mssql
                  key: SA_PASSWORD 
            volumeMounts:
            - name: mssqldb
              mountPath: /var/opt/mssql
          volumes:
          - name: mssqldb
            persistentVolumeClaim:
              claimName: mssql-data
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: mssql-deployment
    spec:
      selector:
        app: mssql
      ports:
        - protocol: TCP
          port: 1433
          targetPort: 1433
      type: LoadBalancer
    
    2. 응용 프로그램, 응용 프로그램.
    kubectl apply -f sql2017.yaml
    
    3. 프로그램을 사용한 후 Poddo 서비스를 확인합니다.
    > kubectl get svc
    NAME               TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
    kubernetes         ClusterIP      10.0.0.1       <none>        443/TCP          11m
    mssql-deployment   LoadBalancer   10.0.228.137   52.243.63.3   1433:30488/TCP   3m5s
    > kubectl get pods
    NAME                                READY   STATUS    RESTARTS   AGE
    mssql-deployment-5b74bdb6f7-755wh   1/1     Running   0          4m16s
    
    4. Azure Data Studio를 통해 외부 포트에 연결되었는지 확인합니다.

    총결산


    이번에는 ACR, AKS, SQL을 준비했습니다.또한 SQL은 일반에서 액세스할 수 있는 상태입니다.이렇게 해서 아주어 측의 준비가 다 되었다.다음은 ASp.로컬에서 넷 코어 응용 프로그램을 개발하는 방법을 보겠습니다.
    다음 글로 이동
    디렉토리로 돌아가기

    좋은 웹페이지 즐겨찾기