Kubernetes에 Asp.Net WebApi 및 MySql 데이터베이스 컨테이너 배포(1부) - 설정
간결함을 위해 이 프로세스를 두 부분으로 나누었습니다.
이 자습서에서는 Docker 및 Kubernetes의 기본 원칙에 대해 알고 있다고 가정합니다. 그렇지 않은 경우 및에서 내 이전 기사를 확인할 수 있습니다. 또는 이 멋진 비디오를 확인하십시오. 진행하면서 몇 가지 용어를 설명하려고 합니다.
Docker Desktop을 사용하여 로컬 Kubernetes 설정
다소 시간이 걸릴 수 있습니다.
이제 다음 항목이 있습니다.
설치 확인
터미널에서 다음 명령을 실행하여 Kubernetes 설치를 확인하십시오.
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:41:49Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
클러스터 정보 확인
자동으로 Kubernetes 마스터가 되는 하나의 클러스터가 있습니다.
$ kubectl cluster-info
Kubernetes master is running at https://kubernetes.docker.internal:6443
KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
클러스터의 노드 확인
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
docker-desktop Ready master 30m v1.19.3
Kubernetes 대시보드 설치
Kubernetes 대시보드는 Kubernetes 시스템의 시각적 표현을 제공합니다.
이 명령을 실행하여 설치하십시오.
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.1.0/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
대시보드 애플리케이션은 Kube-system 네임스페이스에 Pod로 배포됩니다. 다음 명령을 통해 해당 네임스페이스에 있는 모든 Pod 목록을 가져올 수 있습니다.
$ kubectl get pods --namespace=kube-system
NAME READY STATUS RESTARTS AGE
coredns-f9fd979d6-9f7mb 1/1 Running 0 36m
coredns-f9fd979d6-bxlkw 1/1 Running 0 36m
etcd-docker-desktop 1/1 Running 0 35m
kube-apiserver-docker-desktop 1/1 Running 0 35m
kube-controller-manager-docker-desktop 1/1 Running 0 35m
kube-proxy-g8mwq 1/1 Running 0 36m
kube-scheduler-docker-desktop 1/1 Running 0 35m
storage-provisioner 1/1 Running 0 35m
vpnkit-controller 1/1 Running 0 35m
다음을 사용하여 대시보드 서버 시작
$ kubectl proxy
Starting to serve on 127.0.0.1:8001
대시보드를 열고 다음으로 이동합니다.
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
503 오류가 발생하면 약 5분 정도 기다렸다가 새로고침하세요.
대시보드에 대한 인증 페이지가 표시되어야 합니다.
클러스터 관리자 서비스 계정 만들기
모든 리소스에 액세스할 수 있는 클러스터 관리자 역할로 서비스 계정을 만들 수 있습니다.
$ kubectl create serviceaccount cluster-admin-dashboard-sa
serviceaccount/cluster-admin-dashboard-sa created
$ kubectl create clusterrolebinding cluster-admin-dashboard-sa \
--clusterrole=cluster-admin \
--serviceaccount=default:cluster-admin-dashboard-sa
clusterrolebinding.rbac.authorization.k8s.io/cluster-admin-dashboard-sa created
(cluster-admin-dashboard-sa)는 이제 Kubernetes에서 cluster-admin 권한을 가집니다.
$ kubectl get secret | grep cluster-admin-dashboard-sa
cluster-admin-dashboard-sa-token-k95tz kubernetes.io/service-account-token 3 9d
cli에서 생성된 자체 토큰을 사용하는 것을 잊지 마십시오.
$ kubectl describe secret cluster-admin-dashboard-sa-token-k95tz
Name: cluster-admin-dashboard-sa-token-k75tz
Namespace: default
Labels: <none>
Annotations: kubernetes.io/service-account.name: cluster-admin-dashboard-sa
kubernetes.io/service-account.uid: 7055ee38-1bc6-4fe9-ac3d-075040cc4f3f
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1025 bytes
namespace: 7 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlQwY0prajRPYUttSzdEYU45RmUwQ3JEdG16VS1TbVZVRDRpS0lQLWZDU2cifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImNsdXN0ZXItYWRtaW4tZGFzaGJvYXJkLXNhLXRva2VuLWs3NXR6Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImNsdXN0ZXItYWRtaW4tZGFzaGJvYXJkLXNhIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNzA1NWVlMzgtMWJjNi00ZmU5LWFjM2QtMDc1MDQwY2M0ZjNmIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmRlZmF1bHQ6Y2x1c3Rlci1hZG1pbi1kYXNoYm9hcmQtc2EifQ.tS3fscFJAzzUuObtwq59A9PtADpeEyuJk1KnfAfWfFTmBMS5J9lcVv6wQfU1GY3a4pza062BLef8AG619zYIC4diY5yzXt1n5qjcXwdMGe_pCu-uDx-AWKRgWe744Jc7UF2mdJoavzy0ttIZN6eEiQVvCtK6bTiNe9GQIGsFwBm8H1JlW9TuZ8nFWrWgezkOb9FjgdamkLM8B8h302NiI--Coj3KL_eTPUvELJ0orZ7weaLmoqjHB7QgJyFXDzBZjqkiKdJu9I5vpPoRCwymPC9iujF42LrYUaPp-MuC3l6SCWgRDcvMPG1m1F1XA1uAHJn3UITPzMlCLCqbbuHMMA
당신은 이것을보아야합니다.
Kubernetes를 성공적으로 설정하고 로컬 시스템에서 Kubernetes 대시보드를 구성한 것을 축하합니다. 이 기사의 2부에서는 Asp.Net Web Api 및 MySQL 컨테이너를 Kubernetes에 배포할 것입니다. 확인 해봐
Reference
이 문제에 관하여(Kubernetes에 Asp.Net WebApi 및 MySql 데이터베이스 컨테이너 배포(1부) - 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gbengelebs/deploying-an-asp-net-webapi-and-mysql-database-container-to-kubernetes-part-1-setup-1ll9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)