Tam Tran
  • VMware
    • All
    • Licensing
    • Triển khai vSphere
    • VMware Partner Connect
    • vSAN
    • vSphere
    Tổng quan toàn bộ sản phẩm của VMWare

    Hướng dẫn triển khai ảo hóa VMware vSphere toàn tập

    Hướng dẫn tạo tài khoản và tải phần mềm VMware

    Hướng dẫn tạo tài khoản và tải phần mềm VMware

    Hướng dẫn cài đặt ESXi host

    Hướng dẫn cài đặt ESXi host

    Hướng dẫn cài đặt VMware vCenter không cần DNS Server

    Hướng dẫn cài đặt VMware vCenter không cần DNS Server

    Triển khai Microservice Application demo trên TKG

    Triển khai Microservice Application demo trên TKG

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 2)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 3)

    Hướng dẫn ký Certificate bằng EasyRSA

    Hướng dẫn ký Certificate bằng EasyRSA

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 2)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 2)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 1)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 1)

  • Network
    • All
    • Tự học CCNA
    Lợi ích điện toán biên (edge computing)

    Lợi ích điện toán biên (edge computing)

    Access List – ACL

    Access List – ACL

    OSPF

    OSPF

    EtherChannel

    EtherChannel

    Dự phòng Default Gateway

    Dự phòng Default Gateway

    Network Programmability and Automation

    Network Programmability and Automation

    Spanning-Tree Protocol (STP)

    Spanning-Tree Protocol (STP)

    DHCP

    DHCP

    Định tuyến giữa các Vlan

    Định tuyến giữa các Vlan

    • Tự học CCNA
  • Ebook
    Mastering Ansible

    Mastering Ansible

    Network Programmability and Automation Fundamentals

    Network Programmability and Automation Fundamentals

    Mastering Ansible

    Programming and Automating Cisco Networks

    Network Automation Made Easy

    Network Automation Made Easy

    Network Programmability and Automation

    Network Programmability and Automation

    Ebook Cisco Software Defined Wide Area Networks (SDWAN)

    Ebook Cisco Software Defined Wide Area Networks (SDWAN)

    Ebook Cisco DEVCOR 350-901 Study Guide

    Ebook Cisco DEVCOR 350-901 Study Guide

    Ebook DEVASC 200-901 – DevNet Associate

    Ebook DEVASC 200-901 – DevNet Associate

    Ebook ENCOR 350-401 – CCNP and CCIE Enterprise Core

    Ebook ENCOR 350-401 – CCNP and CCIE Enterprise Core

  • Website
    Cách viết bài chuẩn SEO

    Cách viết bài chuẩn SEO

    Phân biệt Category và Tag

    Phân biệt Category và Tag

  • Applications
    Container là gì?

    Container là gì?

    Mối liên hệ giữa Container và microservice

    Mối liên hệ giữa Container và microservice

    So sánh kiến trúc Monolithic và Microservice

    So sánh kiến trúc Monolithic và Microservice

liên hệ
No Result
View All Result
Tam Tran
  • VMware
    • All
    • Licensing
    • Triển khai vSphere
    • VMware Partner Connect
    • vSAN
    • vSphere
    Tổng quan toàn bộ sản phẩm của VMWare

    Hướng dẫn triển khai ảo hóa VMware vSphere toàn tập

    Hướng dẫn tạo tài khoản và tải phần mềm VMware

    Hướng dẫn tạo tài khoản và tải phần mềm VMware

    Hướng dẫn cài đặt ESXi host

    Hướng dẫn cài đặt ESXi host

    Hướng dẫn cài đặt VMware vCenter không cần DNS Server

    Hướng dẫn cài đặt VMware vCenter không cần DNS Server

    Triển khai Microservice Application demo trên TKG

    Triển khai Microservice Application demo trên TKG

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 2)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 3)

    Hướng dẫn ký Certificate bằng EasyRSA

    Hướng dẫn ký Certificate bằng EasyRSA

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 2)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 2)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 1)

    Hướng dẫn triển khai VMware Tanzu với NSX-ALB (Phần 1)

  • Network
    • All
    • Tự học CCNA
    Lợi ích điện toán biên (edge computing)

    Lợi ích điện toán biên (edge computing)

    Access List – ACL

    Access List – ACL

    OSPF

    OSPF

    EtherChannel

    EtherChannel

    Dự phòng Default Gateway

    Dự phòng Default Gateway

    Network Programmability and Automation

    Network Programmability and Automation

    Spanning-Tree Protocol (STP)

    Spanning-Tree Protocol (STP)

    DHCP

    DHCP

    Định tuyến giữa các Vlan

    Định tuyến giữa các Vlan

    • Tự học CCNA
  • Ebook
    Mastering Ansible

    Mastering Ansible

    Network Programmability and Automation Fundamentals

    Network Programmability and Automation Fundamentals

    Mastering Ansible

    Programming and Automating Cisco Networks

    Network Automation Made Easy

    Network Automation Made Easy

    Network Programmability and Automation

    Network Programmability and Automation

    Ebook Cisco Software Defined Wide Area Networks (SDWAN)

    Ebook Cisco Software Defined Wide Area Networks (SDWAN)

    Ebook Cisco DEVCOR 350-901 Study Guide

    Ebook Cisco DEVCOR 350-901 Study Guide

    Ebook DEVASC 200-901 – DevNet Associate

    Ebook DEVASC 200-901 – DevNet Associate

    Ebook ENCOR 350-401 – CCNP and CCIE Enterprise Core

    Ebook ENCOR 350-401 – CCNP and CCIE Enterprise Core

  • Website
    Cách viết bài chuẩn SEO

    Cách viết bài chuẩn SEO

    Phân biệt Category và Tag

    Phân biệt Category và Tag

  • Applications
    Container là gì?

    Container là gì?

    Mối liên hệ giữa Container và microservice

    Mối liên hệ giữa Container và microservice

    So sánh kiến trúc Monolithic và Microservice

    So sánh kiến trúc Monolithic và Microservice

No Result
View All Result
Tam Tran
No Result
View All Result
Trang chủ VMware

Triển khai Microservice Application demo trên TKG

Triển khai Microservice Application demo trên TKG
Share on FacebookShare on Twitter

Các bạn đã triển khai xong Tanzu, bây giờ hãy demo trên TKG bằng một Microservice Application từ github

Tắt PSP

Mặc định, TKG sẽ bật PSP (Pod Security Policies). Cho nên bạn phải tắt PSP trước khi deploy ứng dụng

Sử dụng depoyment sau. Lưu nội dung thành file psp.yaml

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: clusterrole:psp:restricted
rules:
- apiGroups:
  - extensions
  resources:
  - podsecuritypolicies
  resourceNames:
  - vmware-system-privileged # the psp we are giving access to
  - vmware-system-restricted # the psp we are giving access to
  verbs:
  - use
---
#This applies psp/restricted to all authenticated users
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: clusterrolebind:psp:restricted
subjects:
- kind: Group
  name: system:authenticated # All authenticated users
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: clusterrole:psp:restricted # A references to the role above
  apiGroup: rbac.authorization.k8s.io

Apply deployment

tamtran20@cli-vm:~$ kubectl apply -f psp.yaml
clusterrole.rbac.authorization.k8s.io/clusterrole:psp:restricted created
clusterrolebinding.rbac.authorization.k8s.io/clusterrolebind:psp:restricted created

Triển khai ứng dụng Shop Sock

https://microservices-demo.github.io/deployment/kubernetes-start.html

Ứng dụng này là phần user-facing của một cửa hàng trực tuyến bán tất. Nó nhằm mục đích hỗ trợ demo và thử nghiệm microservice và cloud native .

Nó được xây dựng bằng Spring Boot, Go kit và Node.js và được đóng gói trong các Docker containers

Architecture.pngDownload microservices-demo từ github https://github.com/microservices-demo/microservices-demo

Nháy phải vào Download ZIP -> Copy Link Address

demo trên TKG

Download về máy

tamtran20@cli-vm:~$ wget https://github.com/microservices-demo/microservices-demo/archive/refs/heads/master.zip

Unzip file, chúng ta sẽ được package mong muốn.

tamtran20@cli-vm:~$ unzip master.zip.1

Tìm đến file complete-demo.yaml ở /deploy/kubernetes, và review file

Thực hiện deploy ứng dụng

tamtran20@cli-vm:~$ kubectl apply -f complete-demo.yaml
namespace/sock-shop created
deployment.apps/carts created
service/carts created
deployment.apps/carts-db created
service/carts-db created
deployment.apps/catalogue created
service/catalogue created
deployment.apps/catalogue-db created
service/catalogue-db created
deployment.apps/front-end created
service/front-end created
deployment.apps/orders created
service/orders created
deployment.apps/orders-db created
service/orders-db created
deployment.apps/payment created
service/payment created
deployment.apps/queue-master created
service/queue-master created
deployment.apps/rabbitmq created
service/rabbitmq created
deployment.apps/session-db created
service/session-db created
deployment.apps/shipping created
service/shipping created
deployment.apps/user created
service/user created
deployment.apps/user-db created
service/user-db created

Đảm bảo lớp mạng của worker nodes có thể đi ra internet để get file image từ public repo về.

 

Kiểm tra quá trình deploy

tamtran20@cli-vm:~$  kubectl get all -n sock-shop
NAME                                READY   STATUS    RESTARTS   AGE
pod/carts-b4d4ffb5c-cwslq           1/1     Running   0          9h
pod/carts-db-6c6c68b747-pqjwc       1/1     Running   0          9h
pod/catalogue-759cc6b86-n9npn       1/1     Running   0          9h
pod/catalogue-db-96f6f6b4c-whlqw    1/1     Running   0          9h
pod/front-end-5c89db9f57-85bbr      1/1     Running   0          9h
pod/orders-7664c64d75-4xsk6         1/1     Running   0          9h
pod/orders-db-659949975f-2q2jv      1/1     Running   0          9h
pod/payment-7bcdbf45c9-qn5hf        1/1     Running   0          9h
pod/queue-master-5f6d6d4796-s4rg5   1/1     Running   0          9h
pod/rabbitmq-5bcbb547d7-bbvnc       2/2     Running   0          9h
pod/session-db-7cf97f8d4f-4vchk     1/1     Running   0          9h
pod/shipping-7f7999ffb7-bmq5w       1/1     Running   0          9h
pod/user-68df64db9c-x5v2b           1/1     Running   0          9h
pod/user-db-6df7444fc-ssjpv         1/1     Running   0          9h

NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
service/carts          ClusterIP   100.71.57.117            80/TCP              9h
service/carts-db       ClusterIP   100.68.73.85             27017/TCP           9h
service/catalogue      ClusterIP   100.71.75.98             80/TCP              9h
service/catalogue-db   ClusterIP   100.67.157.227           3306/TCP            9h
service/front-end      NodePort    100.71.97.83             80:30001/TCP        9h
service/orders         ClusterIP   100.70.1.110             80/TCP              9h
service/orders-db      ClusterIP   100.67.230.21            27017/TCP           9h
service/payment        ClusterIP   100.67.209.50            80/TCP              9h
service/queue-master   ClusterIP   100.66.244.130           80/TCP              9h
service/rabbitmq       ClusterIP   100.66.46.206            5672/TCP,9090/TCP   9h
service/session-db     ClusterIP   100.66.242.39            6379/TCP            9h
service/shipping       ClusterIP   100.65.252.113           80/TCP              9h
service/user           ClusterIP   100.64.192.33            80/TCP              9h
service/user-db        ClusterIP   100.71.127.62            27017/TCP           9h

NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/carts          1/1     1            1           9h
deployment.apps/carts-db       1/1     1            1           9h
deployment.apps/catalogue      1/1     1            1           9h
deployment.apps/catalogue-db   1/1     1            1           9h
deployment.apps/front-end      1/1     1            1           9h
deployment.apps/orders         1/1     1            1           9h
deployment.apps/orders-db      1/1     1            1           9h
deployment.apps/payment        1/1     1            1           9h
deployment.apps/queue-master   1/1     1            1           9h
deployment.apps/rabbitmq       1/1     1            1           9h
deployment.apps/session-db     1/1     1            1           9h
deployment.apps/shipping       1/1     1            1           9h
deployment.apps/user           1/1     1            1           9h
deployment.apps/user-db        1/1     1            1           9h

NAME                                      DESIRED   CURRENT   READY   AGE
replicaset.apps/carts-b4d4ffb5c           1         1         1       9h
replicaset.apps/carts-db-6c6c68b747       1         1         1       9h
replicaset.apps/catalogue-759cc6b86       1         1         1       9h
replicaset.apps/catalogue-db-96f6f6b4c    1         1         1       9h
replicaset.apps/front-end-5c89db9f57      1         1         1       9h
replicaset.apps/orders-7664c64d75         1         1         1       9h
replicaset.apps/orders-db-659949975f      1         1         1       9h
replicaset.apps/payment-7bcdbf45c9        1         1         1       9h
replicaset.apps/queue-master-5f6d6d4796   1         1         1       9h
replicaset.apps/rabbitmq-5bcbb547d7       1         1         1       9h
replicaset.apps/session-db-7cf97f8d4f     1         1         1       9h
replicaset.apps/shipping-7f7999ffb7       1         1         1       9h
replicaset.apps/user-68df64db9c           1         1         1       9h
replicaset.apps/user-db-6df7444fc         1         1         1       9h

Quá trình deploy đang xảy ra

Kiểm tra service

tamtran20@cli-vm:~$ kubectl get services --namespace=sock-shop
NAME           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
carts          ClusterIP   100.71.57.117                  80/TCP              10h
carts-db       ClusterIP   100.68.73.85                   27017/TCP           10h
catalogue      ClusterIP   100.71.75.98                   80/TCP              10h
catalogue-db   ClusterIP   100.67.157.227                 3306/TCP            10h
front-end      NodePort    100.71.97.83                   80:30001/TCP        10h
orders         ClusterIP   100.70.1.110                   80/TCP              10h
orders-db      ClusterIP   100.67.230.21                  27017/TCP           10h
payment        ClusterIP   100.67.209.50                  80/TCP              10h
queue-master   ClusterIP   100.66.244.130                 80/TCP              10h
rabbitmq       ClusterIP   100.66.46.206                  5672/TCP,9090/TCP   10h
session-db     ClusterIP   100.66.242.39                  6379/TCP            10h
shipping       ClusterIP   100.65.252.113                 80/TCP              10h
user           ClusterIP   100.64.192.33                  80/TCP              10h
user-db        ClusterIP   100.71.127.62                  27017/TCP           10h

Expose service front-end để user kết nối vào

tamtran20@cli-vm:~$ kubectl expose service front-end --name=front-end-lb --port=80 --target-port=8079 --type=LoadBalancer --namespace=sock-shop
service/front-end-lb exposed

Trên NSX-ALB một loadbalancer sẽ được tạo; Address: 192.168.22.26

Loadbalacing về 3 worker nodes

 

Kiểm tra lại external IP

tamtran20@cli-vm:~$ kubectl get services --namespace=sock-shop
NAME           TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)             AGE
.....
front-end      NodePort       100.71.97.83                     80:30001/TCP        10h
front-end-lb   LoadBalancer   100.68.246.3     192.168.22.26   80:30827/TCP        12m
...

Bây giờ user có thể truy cập vào web thông qua front-end network

demo trên TKG

Next Post
Hướng dẫn cài đặt VMware vCenter không cần DNS Server

Hướng dẫn cài đặt VMware vCenter không cần DNS Server

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recommended.

So sánh kiến trúc Monolithic và Microservice

So sánh kiến trúc Monolithic và Microservice

February 3, 2023
Hướng dẫn đăng ký VMware Partner Connect

Hướng dẫn đăng ký VMware Partner Connect

November 6, 2023

Trending.

Định tuyến giữa các Vlan

Định tuyến giữa các Vlan

November 5, 2023
Tổng quan toàn bộ sản phẩm của VMWare

Hướng dẫn triển khai ảo hóa VMware vSphere toàn tập

November 6, 2023
Hướng dẫn cài đặt Veritas Backup Exec

Hướng dẫn cài đặt Veritas Backup Exec

February 14, 2025
Hướng dẫn cài đặt VMware vCenter không cần DNS Server

Hướng dẫn cài đặt VMware vCenter không cần DNS Server

November 6, 2023
Hướng dẫn tạo tài khoản và tải phần mềm VMware

Hướng dẫn tạo tài khoản và tải phần mềm VMware

November 6, 2023

Tam Tran là một blog cá nhân, nơi chia sẻ những tin tức, sản phẩm, và giải pháp công nghệ thông tin mới nhất từ các hãng công nghệ nổi tiếng.

Follow Us

  • About
  • Advertise
  • Privacy & Policy
  • Contact

No Result
View All Result
  • Trang chủ
  • Network
  • VMware
    • Licensing
  • Applications
  • Website
  • Kubernetes
  • Ebook

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.