minikube에 Istio 설치 및 데모 웹 앱 배포

4942 단어 istiokubernetes

환경


  • minikube v1.22.0
  • Istio 1.10.3
  • Docker 20.10.2
  • 우분투 18.04
  • RAM: 4GB
  • SSD 30GB
  • CPU v2Core


  • 절차



    Istio가 사용할 수있는 메모리가 4GB가되도록 VM의 메모리를 6GB로 늘립니다.

    Istio 본체의 기동에는 2G로 충분합니다만, BookInfo의 동작에는 4G이상의 메모리가 필요한 것에 주의해 주세요.

    참고 URL) htps : // 이 m / ぢ c ぇ / ms / 949b0f68 a c18b7 a 95d8

    minikube를 한 번 지운다.
    $ minikube delete
    

    minikube는 4096mb의 메모리로 부팅됩니다.
    $ minikube start --memory=4096 --cpus=2
    

    Istio를 다운로드합니다.
    $ curl -L https://istio.io/downloadIstio | sh -
    $ cd istio-1.10.3
    $ export PATH=$PWD/bin:$PATH
    

    Istio를 설치합니다.
    $ istioctl install --set profile=demo -y
    $ kubectl label namespace default istio-injection=enabled
    

    샘플 앱을 배포합니다.
    $ pwd
    /home/koyama/istio-1.10.3
    $ kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
    

    배포되었는지 확인합니다.
    $ kubectl get svc
    NAME          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    details       ClusterIP   10.102.37.85     <none>        9080/TCP   74s
    kubernetes    ClusterIP   10.96.0.1        <none>        443/TCP    15h
    productpage   ClusterIP   10.103.190.110   <none>        9080/TCP   74s
    ratings       ClusterIP   10.100.108.5     <none>        9080/TCP   74s
    reviews       ClusterIP   10.101.220.149   <none>        9080/TCP   74s
    
    $ kubectl get pods
    NAME                              READY   STATUS    RESTARTS   AGE
    details-v1-79f774bdb9-m8q5w       2/2     Running   0          53s
    productpage-v1-6b746f74dc-wlv2x   2/2     Running   0          53s
    ratings-v1-b6994bb9-fn9z6         2/2     Running   0          53s
    reviews-v1-545db77b95-pt62r       2/2     Running   0          53s
    reviews-v2-7bf8c9648f-qwglq       2/2     Running   0          53s
    reviews-v3-84779c7bbc-frs8t       2/2     Running   0          53s
    

    다음 명령은 데모 웹 응용 프로그램의 동작을 확인합니다.
    $ kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"
    
    <title>Simple Bookstore App</title>
    

    클러스터 외부에서 액세스 해보십시오. 다음 그림은 포트 포워딩 설정의 개요를 보여줍니다.



    Kubernetes 클러스터의 서비스 producpage가 제공하는 포트 9080을 localhost의 포트 3300에 게시합니다.
    $ kubectl port-forward svc/productpage 3300:9080
    

    위의 명령과는 별도로 쉘을 시작합니다.
    손에있는 노트북의 포트 3210을 Kubernetes 클러스터의 포트 3300으로 전달합니다.
    $ ssh -L 3210:localhost:3300 koyama-k8s
    

    웹 브라우저에서 localhost의 포트 3210에 액세스합니다.





    배포 된 웹 응용 프로그램의 세부 사항은 다음과 같습니다.

    사용자 정의 방법은 다음과 같습니다.

    Bookinfo 데모로 Istio 체험 | Think IT (싱크 잇)

    좋은 웹페이지 즐겨찾기