১. সংক্ষিপ্ত বিবরণ
ল্যাবের প্রথম অংশে , আপনি একটি ASP.NET Core অ্যাপ্লিকেশন তৈরি করেছেন, সেটিকে কন্টেইনারাইজ করে Google Kubernetes Engine (GKE)-তে ডেপ্লয় করেছেন এবং Istio দ্বারা এর ট্র্যাফিক পরিচালনার জন্য কনফিগার করেছেন।
ল্যাবের এই দ্বিতীয় অংশে ধরে নেওয়া হচ্ছে যে, আপনার কুবারনেটিস ক্লাস্টার এবং প্রথম ল্যাবের অ্যাপ্লিকেশনটি ইতিমধ্যেই চালু আছে। আপনি দেখতে পাবেন, কীভাবে Istio খুব সামান্য কোড পরিবর্তনের মাধ্যমে আপনার সার্ভিসগুলোকে পরিচালনা, পর্যবেক্ষণ এবং সুরক্ষিত করতে সাহায্য করতে পারে। বিশেষত, আপনি Istio-এর মেট্রিক্স, ট্রেসিং, সার্ভিস ভিজ্যুয়ালাইজেশন, ডাইনামিক ট্র্যাফিক ম্যানেজমেন্ট, ফল্ট ইনজেকশন এবং আরও অনেক ফিচার সম্পর্কে জানবেন।
আপনি যা শিখবেন
- প্রমিথিউস দিয়ে কীভাবে মেট্রিক্স কোয়েরি করবেন
- গ্রাফানার সাহায্যে কীভাবে মেট্রিক্স ভিজ্যুয়ালাইজ করবেন।
- আপনার পরিষেবার একটি নতুন সংস্করণ কীভাবে তৈরি করবেন।
- কীভাবে একটি সার্ভিসকে নির্দিষ্ট ভার্সনে পিন করা যায়।
- বিভিন্ন ভার্সনের মধ্যে ট্র্যাফিক কীভাবে ভাগ করবেন
- সার্ভিস কলে কীভাবে ত্রুটি অন্তর্ভুক্ত করা যায়
আপনার যা যা লাগবে
- ক্রোম বা ফায়ারফক্সের মতো একটি ব্রাউজার
আপনি এই টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন?
গুগল ক্লাউড প্ল্যাটফর্মের সাথে আপনার অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?
২. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিতে পরিবেশ সেটআপ
- ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন অথবা বিদ্যমান কোনো প্রজেক্ট পুনরায় ব্যবহার করুন। (যদি আপনার আগে থেকে Gmail বা G Suite অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।)
প্রজেক্ট আইডিটি মনে রাখবেন, যা সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যে ব্যবহৃত হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এই কোডল্যাবে এটিকে পরবর্তীতে PROJECT_ID হিসাবে উল্লেখ করা হবে।
- এরপরে, গুগল ক্লাউড রিসোর্স ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে।
এই কোডল্যাবটি চালাতে খুব বেশি খরচ হওয়ার কথা নয়, এমনকি আদৌ কোনো খরচ নাও হতে পারে। "পরিষ্কার-পরিচ্ছন্নতা" (Cleaning up) বিভাগে দেওয়া নির্দেশাবলী অবশ্যই অনুসরণ করবেন, যেখানে রিসোর্স বন্ধ করার পরামর্শ দেওয়া হয়েছে, যাতে এই টিউটোরিয়ালের বাইরে আপনার কোনো বিল না আসে। গুগল ক্লাউডের নতুন ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।
ক্লাউড শেল শুরু করুন
যদিও গুগল ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালনা করা যায়, এই কোডল্যাবে আপনি গুগল ক্লাউড শেল ব্যবহার করবেন, যা গুগল ক্লাউডে চলমান একটি কমান্ড লাইন পরিবেশ।
ক্লাউড শেল সক্রিয় করুন
- ক্লাউড কনসোল থেকে, Activate Cloud Shell-এ ক্লিক করুন।
.
আপনি যদি আগে কখনো ক্লাউড শেল চালু না করে থাকেন, তাহলে এটি কী তা বর্ণনা করে একটি মধ্যবর্তী স্ক্রিন (নিচে দেওয়া আছে) আপনার সামনে আসবে। যদি তাই হয়, তাহলে 'Continue'-তে ক্লিক করুন (এবং আপনি এটি আর কখনো দেখতে পাবেন না)। একবারের জন্য আসা সেই স্ক্রিনটি দেখতে এইরকম:
ক্লাউড শেল প্রস্তুত করতে এবং এর সাথে সংযোগ স্থাপন করতে মাত্র কয়েক মুহূর্ত সময় লাগা উচিত।
এই ভার্চুয়াল মেশিনটিতে আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুলস লোড করা আছে। এটি একটি স্থায়ী ৫ জিবি হোম ডিরেক্টরি প্রদান করে এবং গুগল ক্লাউডে চলে, যা নেটওয়ার্ক পারফরম্যান্স ও অথেনটিকেশনকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার প্রায় সমস্ত কাজই শুধুমাত্র একটি ব্রাউজার বা আপনার ক্রোমবুক দিয়ে করা সম্ভব।
ক্লাউড শেলে সংযুক্ত হওয়ার পর আপনি দেখতে পাবেন যে, আপনাকে ইতিমধ্যেই প্রমাণীকৃত করা হয়েছে এবং প্রজেক্টটি আপনার প্রজেক্ট আইডিতে সেট করা আছে।
- আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list
কমান্ড আউটপুট
Credentialed Accounts
ACTIVE ACCOUNT
* <my_account>@<my_domain.com>
To set the active account, run:
$ gcloud config set account `ACCOUNT`
gcloud config list project
কমান্ড আউটপুট
[core] project = <PROJECT_ID>
যদি তা না থাকে, তবে আপনি এই কমান্ডটি দিয়ে এটি সেট করতে পারেন:
gcloud config set project <PROJECT_ID>
কমান্ড আউটপুট
Updated property [core/project].
৩. অ্যাপ্লিকেশনটি পরীক্ষা করুন
ল্যাব শুরু করার আগে, নিশ্চিত হয়ে নিন যে অ্যাপ্লিকেশনটি আগের ল্যাব থেকে এখনও কাজ করছে। মনে করিয়ে দেওয়ার জন্য, EXTERNAL-IP এর অধীনে তালিকাভুক্ত গেটওয়ের এক্সটার্নাল আইপি এবং পোর্ট আপনি এইভাবেই দেখতে পাবেন:
kubectl get svc istio-ingressgateway -n istio-system
অ্যাপ্লিকেশনটি দেখার জন্য, আপনি আপনার ব্রাউজার খুলে http://<gatewayurl> -এ যেতে পারেন।

আপনি যদি অ্যাপ্লিকেশনটি দেখতে না পান, তাহলে আগের ল্যাবে ফিরে গিয়ে নিশ্চিত করুন যে আপনি সমস্ত ধাপ অনুসরণ করেছেন এবং অ্যাপ্লিকেশন ও Istio উভয়ই সঠিকভাবে ইনস্টল ও চালু আছে।
এই পর্যায়ে, আপনার মনে প্রশ্ন জাগতে পারে, "ইস্টিও ব্যবহারের সুবিধা কী?"। আপনার অ্যাপ্লিকেশনের ট্র্যাফিক পরিচালনার দায়িত্ব ইস্টিও-কে দিলে, আপনি মেট্রিক্স, ট্রেসিং, ডাইনামিক ট্র্যাফিক ম্যানেজমেন্ট, সার্ভিস ভিজ্যুয়ালাইজেশন, ফল্ট ইনজেকশন-এর মতো আরও অনেক ফিচার বিনামূল্যে পেয়ে যাবেন।
পরবর্তী ধাপে আপনি মেট্রিক্স অন্বেষণ করা শুরু করবেন।
৪. গ্রাফানা এবং প্রোমিথিউস ব্যবহার করে মেট্রিক্স
ডিফল্টরূপে, Istio কিছু মেট্রিক তৈরি করে। আপনি অ্যাড-অন ব্যবহার করে এই ডিফল্ট মেট্রিকগুলো কোয়েরি ও ভিজ্যুয়ালাইজ করতে পারেন।
প্রমিথিউস
প্রমিথিউস একটি ওপেন-সোর্স মনিটরিং সলিউশন। আপনি ইস্তিও দ্বারা জেনারেট করা মেট্রিক্স কোয়েরি করতে প্রমিথিউস ব্যবহার করতে পারেন, কিন্তু এর জন্য আপনাকে প্রথমে প্রমিথিউস অ্যাড-অন ইনস্টল করতে হবে।
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.8/samples/addons/prometheus.yaml
প্রমিথিউস চালু আছে কিনা তা যাচাই করুন:
kubectl get svc prometheus -n istio-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE prometheus ClusterIP 10.31.243.62 <none> 9090/TCP 1d
কয়েকবার http://<gatewayurl> ভিজিট করে অথবা curl কমান্ডটি চালিয়ে অ্যাপ্লিকেশনটিতে কিছু ট্র্যাফিক পাঠান।
প্রমিথিউস UI-এর জন্য পোর্ট ফরওয়ার্ডিং সেটআপ করুন:
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 8080:9090
এখন আপনি ক্লাউড শেলের উপরের ডান কোণায় থাকা ওয়েব প্রিভিউ বোতামে ক্লিক করে এবং পোর্ট ৮০৮০-তে প্রিভিউ-তে ক্লিক করে একটি কোয়েরি চালাতে পারেন:

আপনি একটি নতুন ট্যাবে প্রোমিথিউস UI দেখতে পাবেন:

Prometheus সম্পর্কে আরও জানতে, Querying Metrics with Prometheus দেখুন।
গ্রাফানা
মেট্রিকগুলো দৃশ্যমান করার জন্য গ্রাফানা আরেকটি অ্যাড-অন।
গ্রাফানা ইনস্টল করুন। istio-version এর জায়গায় আপনার বর্তমান Istio ভার্সনটি বসান, যেমন, 1.0.3-gke.3 :
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.8/samples/addons/grafana.yaml
গ্রাফানা চালু আছে কিনা তা যাচাই করুন:
kubectl get svc grafana -n istio-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana ClusterIP 10.31.248.230 <none> 3000/TCP 1d
কয়েকবার http://<gatewayurl> ভিজিট করে অথবা curl কমান্ডটি চালিয়ে অ্যাপ্লিকেশনটিতে কিছু ট্র্যাফিক পাঠান।
গ্রাফানা UI-এর জন্য পোর্ট ফরওয়ার্ডিং সেটআপ করুন:
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 8080:3000
ওয়েব প্রিভিউতে গিয়ে আপনি গ্রাফানা ড্যাশবোর্ডগুলো দেখতে পারেন:


Grafana সম্পর্কে আরও জানতে, Visualizing Metrics with Grafana দেখুন।
৫. অ্যাপ্লিকেশনটির একটি নতুন সংস্করণ তৈরি করুন।
এক পর্যায়ে, আপনার প্রোডাকশনে ডেপ্লয় করা অ্যাপ্লিকেশনটিতে বাগ ফিক্স বা অতিরিক্ত ফিচারের প্রয়োজন হবে। চলুন দেখি সেই প্রক্রিয়াটি কেমন।
প্রথমে, অ্যাপ্লিকেশনটি পরিবর্তন করা যাক। ক্লাউড শেল থেকে কোড এডিটরটি খুলুন।
HelloWorldAspNetCore > Views > Home এর অধীনে থাকা Index.cshtml এ যান এবং ক্যারোসেলের বার্তাগুলোর মধ্যে একটি আপডেট করুন।
নিম্নলিখিত লাইনটি খুঁজুন:
Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core
এবং এটিকে এভাবে পরিবর্তন করুন:
Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core on Google Cloud
পরিবর্তনগুলি সংরক্ষণ করুন এবং তারপর ক্লাউড শেলে ফিরে যান। HelloWorldAspNetCore, ডকার ইমেজটি বিল্ড করুন:
docker build -t gcr.io/${GOOGLE_CLOUD_PROJECT}/hello-dotnet:v2 .
এবং কন্টেইনার রেজিস্ট্রি-তে পুশ করুন:
docker push gcr.io/${GOOGLE_CLOUD_PROJECT}/hello-dotnet:v2
কন্টেইনার ইমেজটি পুশ করার পর, আপনি পরবর্তী ধাপে নতুন সংস্করণটি ডিপ্লয় করতে পারবেন।
৬. নতুন ডেপ্লয়মেন্টটি তৈরি করুন।
নতুন সংস্করণটি ডেপ্লয় করতে, আপনাকে প্রথমে Kubernetes-এ এর জন্য একটি নতুন ডেপ্লয়মেন্ট তৈরি করতে হবে। aspnetcore.yaml ফাইলের শেষে নিম্নলিখিতটি যোগ করুন:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: aspnetcore-v2
spec:
replicas: 1
selector:
matchLabels:
app: aspnetcore
version: v2
template:
metadata:
labels:
app: aspnetcore
version: v2
spec:
containers:
- name: aspnetcore
image: gcr.io/YOUR-PROJECT-ID/hello-dotnet:v2
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
kubectl ব্যবহার করে নতুন সংস্করণটি ডিফল্ট নেমস্পেসে স্থাপন করুন:
kubectl apply -f aspnetcore.yaml
service "aspnetcore" unchanged deployment.extensions "aspnetcore-v1" unchanged deployment.extensions "aspnetcore-v2" created
প্রত্যাশিত পডগুলো চালু আছে কিনা তা যাচাই করুন:
kubectl get pods
NAME READY STATUS RESTARTS AGE aspnetcore-v1-6cf64748-mddb 2/2 Running 0 34s aspnetcore-v2-5d765db-l9xmg 2/2 Running 0 1m
এখন, অ্যাপ্লিকেশনটি আবার পরীক্ষা করুন। গেটওয়ের এক্সটার্নাল আইপি সংগ্রহ করুন:
kubectl get svc istio-ingressgateway -n istio-system
এটি EXTERNAL-IP এর অধীনে তালিকাভুক্ত আছে। একটি ইনকগনিটো ব্রাউজার খুলুন এবং http://<replace-with-external-ip> এ যান।
যখন আপনি রিফ্রেশ করবেন, মাঝে মাঝে, আপনি "ASP.NET Core দিয়ে ওয়েব অ্যাপ তৈরি করা সম্পর্কে জানুন" এই বার্তাটি দেখতে পাবেন:

অন্য সময়, আপনি "গুগল ক্লাউডে ASP.NET Core দিয়ে ওয়েব অ্যাপ তৈরি করা সম্পর্কে জানুন" এই বার্তাটি দেখতে পাবেন:

এর কারণ হলো, v1 এবং v2 উভয় ডেপ্লয়মেন্টই একই Kubernetes সার্ভিসের ( aspnetcore-service ) পেছনে উন্মুক্ত থাকে এবং পূর্ববর্তী ল্যাবে আপনার তৈরি করা VirtualService-টি ( aspnetcore-virtualservice ) সেই সার্ভিসটিকেই হোস্ট হিসেবে ব্যবহার করে।
পরবর্তী ধাপে, আপনি একটি DestinationRule ব্যবহার করে সার্ভিসটিকে v2 ডিপ্লয়মেন্টের সাথে যুক্ত করবেন।
৭. আপনার পরিষেবাটি নতুন সংস্করণে পিন করুন।
এই ধাপে, আপনি আপনার সার্ভিসকে v2 ডেপ্লয়মেন্ট ব্যবহার করার জন্য নির্দিষ্ট করবেন এবং আপনি একটি DestinationRule ব্যবহার করে তা করতে পারেন। একটি VirtualService রাউটিং অপারেশন সম্পন্ন হওয়ার পর কোনো অনুরোধের উপর যে নীতিমালাগুলো প্রয়োগ করা হবে, একটি DestinationRule সেগুলো কনফিগার করে।
একটি DestinationRule সংশ্লিষ্ট গন্তব্য হোস্টের অ্যাড্রেসযোগ্য উপসেট, অর্থাৎ নামযুক্ত সংস্করণও সংজ্ঞায়িত করে। সার্ভিসের নির্দিষ্ট সংস্করণে ট্র্যাফিক পাঠানোর সময় VirtualService রাউট স্পেসিফিকেশনে এই উপসেটগুলি ব্যবহৃত হয়।
aspnetcore-destinationrule.yaml নামে একটি নতুন ফাইল তৈরি করুন:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: aspnetcore-destinationrule
spec:
host: aspnetcore-service
trafficPolicy:
tls:
mode: ISTIO_MUTUAL
subsets:
- name: v1
labels:
version: v1
- name: v2
labels:
version: v2
এরপরে, DestinationRule তৈরি করুন। এটি দুটি সাবসেট (v1 এবং v2) তৈরি করে যা আপনি VirtualService থেকে ব্যবহার করতে পারবেন:
kubectl apply -f aspnetcore-destinationrule.yaml
destinationrule.networking.istio.io "aspnetcore-destionationrule" created
এখন, v2 সাবসেট ব্যবহার করার জন্য VirtualService-টি আপডেট করতে aspnetcore-virtualservice.yaml ফাইলে ফিরে যান:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: aspnetcore-virtualservice
spec:
hosts:
- "*"
gateways:
- aspnetcore-gateway
http:
- route:
- destination:
host: aspnetcore-service
subset: v2
VirtualService আপডেট করুন:
kubectl apply -f aspnetcore-virtualservice.yaml
আপনার ব্রাউজার খুলুন এবং http://<replace-with-external-ip>. একাধিকবার রিফ্রেশ করার পরেও, আপনি "Learn about building Web apps with ASP.NET Core on Google Cloud" বার্তাটি দেখতে পাবেন:

৮. সংস্করণগুলোর মধ্যে ট্র্যাফিক ভাগ করুন
কখনও কখনও, পরীক্ষার জন্য আপনি বিভিন্ন ভার্সনের মধ্যে ট্র্যাফিক ভাগ করতে চাইতে পারেন। উদাহরণস্বরূপ, আপনি সার্ভিসের ৭৫% ট্র্যাফিক v1 এবং ২৫% ট্র্যাফিক v2 ভার্সনে পাঠাতে চাইতে পারেন। Istio ব্যবহার করে আপনি সহজেই এটি করতে পারেন। ভিন্ন ভিন্ন ওয়েট সহ দুটি সাবসেটকে উল্লেখ করার জন্য একটি নতুন aspnetcore-virtualservice-weights.yaml ফাইল তৈরি করুন:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: aspnetcore-virtualservice
spec:
hosts:
- "*"
gateways:
- aspnetcore-gateway
http:
- route:
- destination:
host: aspnetcore-service
subset: v1
weight: 75
- destination:
host: aspnetcore-service
subset: v2
weight: 25
VirtualService আপডেট করুন:
kubectl apply -f aspnetcore-virtualservice-weights.yaml
এখন, আপনি যখন ব্রাউজারটি রিফ্রেশ করবেন, তখন দেখবেন v1 এবং v2 ভার্সন দুটি প্রায় ৩:১ অনুপাতে পরিবেশিত হচ্ছে।
আরও জানতে, Istio-তে ট্র্যাফিক স্প্লিটিং দেখুন।
৯. ত্রুটি প্রবেশ করান
টেস্টিংয়ের জন্য আরেকটি দরকারি ডেভেলপমেন্ট কাজ হলো ট্র্যাফিকের মধ্যে ত্রুটি বা বিলম্ব যোগ করে দেখা যে, তার প্রতিক্রিয়ায় সার্ভিসগুলো কীভাবে আচরণ করে।
উদাহরণস্বরূপ, আপনি হয়তো v1 সংস্করণের ৫০% ট্র্যাফিকের জন্য একটি ত্রুটিপূর্ণ অনুরোধ (HTTP 400) প্রতিক্রিয়া ফেরত দিতে চাইতে পারেন। নিম্নলিখিত বিষয়গুলোর সাথে মিলিয়ে aspnetcore-virtualservice-fault-abort.yaml ফাইলটি তৈরি করুন:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: aspnetcore-virtualservice
spec:
hosts:
- "*"
gateways:
- aspnetcore-gateway
http:
- fault:
abort:
percentage:
value: 50
httpStatus: 400
route:
- destination:
host: aspnetcore-service
subset: v1
VirtualService আপডেট করুন:
kubectl apply -f aspnetcore-virtualservice-fault-abort.yaml
এখন, আপনি যখন ব্রাউজার রিফ্রেশ করবেন, তখন দেখবেন যে অর্ধেক সময় v1 সার্ভিসটি একটি HTTP 400s রেসপন্স কোড ফেরত দিচ্ছে।
অথবা হয়তো আপনি অনুরোধগুলিতে ৫ সেকেন্ডের বিলম্ব যোগ করতে চান। নিম্নলিখিত বিষয়গুলো মিলিয়ে aspnetcore-virtualservice-fault-delay.yaml ফাইলটি তৈরি করুন:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: aspnetcore-virtualservice
spec:
hosts:
- "*"
gateways:
- aspnetcore-gateway
http:
- fault:
delay:
fixedDelay: 5s
percentage:
value: 100
route:
- destination:
host: aspnetcore-service
subset: v1
VirtualService আপডেট করুন:
kubectl apply -f aspnetcore-virtualservice-fault-delay.yaml
এখন, আপনি যখন ব্রাউজার রিফ্রেশ করবেন, তখন দেখবেন যে অনুরোধগুলো ৫ সেকেন্ড বিলম্বিত হচ্ছে।
Istio-এর টাইমআউট, রিট্রাই, কন্ডিশনাল রুল, সার্কিট ব্রেকার এবং আরও অনেক ফিচার সম্পর্কে বিস্তারিত জানতে, ট্র্যাফিক ম্যানেজমেন্ট ফিচারস দেখুন।
১০. অভিনন্দন!
আশা করি, এই ল্যাবটি আপনাকে একটি ধারণা দিয়েছে যে Istio আপনার পরিষেবাগুলির জন্য স্বয়ংক্রিয়ভাবে কী কী করতে পারে। Istio এবং GKE সম্পর্কে আরও জানতে।
পরবর্তী পদক্ষেপ
- Istio সম্পর্কে আরও জানুন।
- Kubernetes সম্পর্কে আরও জানুন।
- গুগল কুবারনেটিস ইঞ্জিন সম্পর্কে আরও জানুন।
- গুগল ক্লাউড প্ল্যাটফর্মে .NET সম্পর্কে আরও জানুন।
লাইসেন্স
এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন ২.০ জেনেরিক লাইসেন্সের অধীনে রয়েছে।
১১. পরিচ্ছন্নতা
আপনি অ্যাপটি ডিলিট করে Istio আনইনস্টল করতে পারেন অথবা সরাসরি Kubernetes ক্লাস্টারটি ডিলিট করে দিতে পারেন।
অ্যাপ্লিকেশনটি মুছে ফেলুন
অ্যাপ্লিকেশনটি মুছে ফেলতে:
kubectl delete -f aspnetcore-gateway.yaml kubectl delete -f aspnetcore-virtualservice.yaml kubectl delete -f aspnetcore-destinationrule.yaml kubectl delete -f aspnetcore.yaml
অ্যাপ্লিকেশনটি চলে গেছে কিনা তা নিশ্চিত করতে:
kubectl get gateway kubectl get virtualservices kubectl get destinationrule kubectl get pods
Istio আনইনস্টল করুন
Istio মুছে ফেলতে:
kubectl delete -f install/kubernetes/istio-demo-auth.yaml
ইস্তিও চলে গেছে তা নিশ্চিত করতে:
kubectl get pods -n istio-system
কুবারনেটিস ক্লাস্টার মুছে ফেলুন
gcloud container clusters delete hello-dotnet-cluster