Langkau ke kandungan utama

Bahagian 1 : Pasang Kubernetes dengan AKS (Azure Kubernetes Service)

Pasang Kubernetes dengan AKS (Azure Kubernetes Service) :-

  • Latihan: Buat Resource Group baharu. Konfigurasi kluster rangkaian.

  • Buat kluster AKS. Sambung ke kluster Kubernetes dengan menggunakan kubectl. Cipta Namespace Kubernetes.


Penting: 

Dalam latihan ini dan anda mungkin dikenakan caj. Jika anda belum mempunyai langganan Azure, buat akaun percuma sebelum anda mula.


Cipta Resource Group baharu. 

Mula-mula anda perlu membuat kumpulan sumber untuk digunakan oleh sumber anda. Log masuk ke Azure Cloud Shell (https://shell.azure.com) dengan akaun Azure anda. Pilih versi Bash Cloud Shell. Kita akan menggunakan semula beberapa nilai sepanjang skrip penggunaan. Sebagai contoh, anda perlu memilih wilayah Resourse Group yang anda ingin dibuat, seperti AS Timur. Jika anda memilih nilai yang berbeza, ingat nilai itu untuk latihan lain dalam modul ini. Anda mungkin perlu mentakrifkan semula nilai antara sesi Cloud Shell. Jalankan arahan berikut untuk merekodkan nilai ini dalam pembolehubah Bash.


Set subscription :- 

#Set PaygDev subscri ption 

az account set --subscription xxxxxx-xxxxx-xxxx-xxxx


REGION_NAME=southeastasia 

RESOURCE_GROUP=RG-K8S-DEV 

SUBNET_NAME=aks-dev-subnet 

VNET_NAME=aks-dev-vnet 


You can check each value using the echo command, for example,  

echo $REGION_NAME 

echo $aksworkshop 

echo $RESOURCE_GROUP 

echo $VNET_NAME 

echo $SUBNET_NAME 

  1. Cipta Resource Group baru dengan nama aksworkshop. Gunakan semua sumber yang dibuat dalam latihan. Satu Resource Group adalah mudah untuk dibersihkan selepas anda menamatkan modul ini.


az group create --name $RESOURCE_GROUP --location $REGION_NAME 

 

mohd@Azure:~$ echo $REGION_NAME 

eastasia 

mohd@Azure:~$ echo $aksworkshop 

  

mohd@Azure:~$ echo $RESOURCE_GROUP 

aksworkshop 

mohd@Azure:~$ echo $VNET_NAME 

aks-vnet 

Konfigurasi rangkaian 

  1. Kita mempunyai dua model rangkaian untuk dipilih apabila menggunakan kluster AKS. Model pertama ialah rangkaian Kubenet, dan yang kedua ialah Azure Container Networking Interface (CNI).

  2. Apakah rangkaian Kubenet? Rangkaian Kubenet ialah model rangkaian default dalam Kubernetes. Dengan rangkaian Kubenet, nod diberikan alamat IP daripada subnet rangkaian maya Azure. Pod menerima alamat IP daripada ruang alamat yang berbeza secara logik. Terjemahan alamat rangkaian (NAT) kemudiannya dikonfigurasikan supaya pod boleh mencapai sumber pada rangkaian maya Azure. Sumber Alamat IP diterjemahkan kepada alamat IP utama Nod dan kemudian dikonfigurasikan pada Nod. Ambil perhatian, bahawa pod menerima alamat IP yang "tersembunyi" di belakang IP Nod. Apakah rangkaian Azure Container Networking Interface (CNI)? Kelompok AKS disambungkan kepada sumber & konfigurasi rangkaian maya sedia ada. Dalam model rangkaian ini, setiap pod mendapat alamat IP daripada subnet dan boleh diakses terus. Alamat IP ini mestilah unik di seluruh ruang rangkaian anda dan dikira terlebih dahulu. Sesetengah ciri yang anda akan gunakan memerlukan anda untuk menggunakan kluster AKS dengan menggunakan konfigurasi rangkaian CNI. Mari buat rangkaian maya untuk kluster AKS anda. Kita akan menggunakan rangkaian maya ini dan menentukan model rangkaian apabila kita menggunakan kluster. Pertama, buat rangkaian maya dan subnet. Pod yang digunakan dalam kluster anda akan diberikan alamat IP


  3. Jalankan arahan berikut untuk mencipta rangkaian maya.

az network vnet create --resource-group $RESOURCE_GROUP --location $REGION_NAME --name $VNET_NAME --address-prefixes 10.0.0.0/8 --subnet-name $SUBNET_NAME --subnet-prefix 10.240.0.0/16 


 

  1. Seterusnya, dapatkan semula dan simpan ID subnet dalam pembolehubah Bash dengan menjalankan arahan di bawah.

#SUBNET_ID=$(az network vnet subnet show --resource-group $RESOURCE_GROUP --vnet-name $VNET_NAME --name $SUBNET_NAME --query id -o tsv) 

 

 

Cipta Kluster AKS.

Dengan adanya rangkaian maya baharu, anda boleh meneruskan dan mencipta kluster baharu. Terdapat dua nilai yang perlu anda ketahui sebelum menjalankan arahan #az aks create. Yang pertama ialah versi versi Kubernetes terbaharu, bukan pratonton yang tersedia di wilayah pilihan anda dan yang kedua ialah nama unik untuk kluster anda. Untuk mendapatkan versi Kubernetes bukan pratonton terkini, anda menggunakan perintah #az aks get-versions. Simpan nilai yang kembali daripada arahan dalam pembolehubah Bash dari Alias VERSION. Jalankan arahan di bawah dapatkan semula dan simpan nombor versi.


VERSION=$(az aks get-versions --location $REGION_NAME --query 'orchestrators[?!isPreview] | [-1].orchestratorVersion' --output tsv)

 

  1. Nama kelompok AKS mestilah unik. Jalankan arahan berikut untuk mencipta pembolehubah Bash yang memegang nama unik.

AKS_CLUSTER_NAME=aksworkshop-$RANDOM 

 

AKS_CLUSTER_NAME=aks-dev-$RANDOM 

 

  1. Jalankan arahan berikut untuk mengeluarkan nilai yang disimpan dalam $AKS_CLUSTER_NAME. Perhatikan ini untuk kegunaan kemudian. Anda memerlukannya untuk mengkonfigurasi semula pembolehubah pada masa hadapan, jika perlu. Catatkan nilai ini kerana anda memerlukannya dalam makmal akan datang.

echo $AKS_CLUSTER_NAME 

 

  1. Jalankan arahan az aks create berikut untuk mencipta kluster AKS yang menjalankan versi Kubernetes terkini. Perintah ini boleh mengambil masa beberapa minit untuk diselesaikan.

#az aks create --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER_NAME --vm-set-type VirtualMachineScaleSets --load-balancer-sku standard --location $REGION_NAME --kubernetes-version $VERSION --network-plugin azure --vnet-subnet-id $SUBNET_ID --service-cidr 10.2.0.0/24 --dns-service-ip 10.2.0.10 --docker-bridge-address 172.17.0.1/16 --generate-ssh-keys 

Jawap YES. 

 

Mari kita semak semula pembolehubah dalam arahan sebelumnya: 

  • $AKS_CLUSTER_NAME specifies the name of the AKS cluster. 

  • $VERSION is the latest Kubernetes version you retrieved earlier. 

  • $SUBNET_ID is the ID of the subnet created on the virtual network to be configured with AKS. 

Note the following deployment configuration: 

  • --vm-set-type: We're specifying that the cluster is created by using virtual machine scale sets. The virtual machine scale sets enable you to switch on the cluster autoscaler when needed. 

  • --network-plugin: We're specifying the creation of the AKS cluster by using the CNI plug-in. 

  • --service-cidr: This address range is the set of virtual IPs that Kubernetes assigns to internal services in your cluster. The range must not be within the virtual network IP address range of your cluster. It should be different from the subnet created for the pods. 

  • --dns-service-ip: The IP address is for the cluster's DNS service. This address must be within the Kubernetes service address range. Don't use the first IP address in the address range, such as 0.1. The first address in the subnet range is used for the kubernetes.default.svc.cluster.local address. 

  • --docker-bridge-address: The Docker bridge network address represents the default docker0 bridge network address present in all Docker installations. AKS clusters or the pods themselves don't use docker0 bridge. However, you have to set this address to continue supporting scenarios such as docker build within the AKS cluster. It's required to select a classless inter-domain routing (CIDR) for the Docker bridge network address. If you don't set a CIDR, Docker chooses a subnet automatically. This subnet could conflict with other CIDRs. Choose an address space that doesn't collide with the rest of the CIDRs on your networks, which includes the cluster's service CIDR and pod CIDR. 

 

Uji ketersambungan kluster dengan menggunakan kubectl:-

kubectl ialah arahan Kubernetes utama yang anda gunakan untuk berinteraksi dengan kluster dan tersedia dalam Cloud Shell. Konteks kluster diperlukan untuk membenarkan kubectl menyambung ke kluster. Konteks mengandungi alamat kluster, pengguna dan Namespace. Gunakan perintah az aks get-credentials untuk melihat mengkonfigurasi. Dapatkan semula bukti kelayakan kluster dengan menjalankan arahan di bawah.

az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER_NAME 

  

  1. Mari kita lihat perkara yang telah digunakan dengan menyenaraikan semua nod dalam kluster anda. Gunakan arahan kubectl get nodes untuk menyenaraikan semua nod.

kubectl get nodes 

Anda akan melihat senarai nod kluster anda. Berikut adalah contoh.

NAME                                STATUS   ROLES   AGE  VERSION 

aks-nodepool1-24503160-vmss000000   Ready    agent   1m   v1.15.7 

aks-nodepool1-24503160-vmss000001   Ready    agent   1m   v1.15.7 

aks-nodepool1-24503160-vmss000002   Ready    agent   1m   v1.15.7 

Cipta Namespace Kubernetes untuk aplikasi. 

Bagi menjalankan lebih dari satu kluster, kita boleh menggunakan ciri Kubernetes yang membolehkan anda mengasingkan pasukan dan beban kerja secara logik dalam kluster yang sama. Matlamatnya adalah untuk memberi sedikit keistimewaan & skop yang diperlukan oleh setiap pasukan. Apakah Namespace? Namespace dalam Kubernetes mencipta sempadan pengasingan logik. Nama sumber Namespace mestilah unik. Jika anda tidak menentukan Namespace apabila anda bekerja dengan Kubernetes, Namespace lalai akan digunakan.

Mari buat Namespace untuk aplikasi anda. Arahan untuk senaraikan Namespace.

kubectl get namespace 

Anda akan melihat senarai Namespace yang serupa dengan output ini.

NAME              STATUS   AGE 

default           Active   1h 

kube-node-lease   Active   1h 

kube-public       Active   1h 

kube-system       Active   1h 

  1. Gunakan perintah #kubectl create namespace untuk mencipta Namespace untuk aplikasi yang dipanggil ratingsapp.

kubectl create namespace ratingsapp 

 

You'll see a confirmation that the namespace was created. 

namespace/ratingsapp created 


Cth Deployment fail YAML

#kubectl apply --namespace financio-stag -f endoscope-financio-stag.yaml 

kubectl apply \ 

    --namespace ratingsapp \ 

    -f ratings-api-deployment.yaml 

 

 

Validasi:- 

#kubectl get pods --namespace financio-stag 


Ringkasan:- 

Dalam latihan ini, anda mencipta Resourse Group untuk sumber anda. Anda mencipta rangkaian maya untuk digunakan kluster anda. Anda kemudiannya menggunakan kluster AKS anda, termasuk mod rangkaian Azure CNI. Anda kemudiannya menyambung ke kluster anda dengan kubectl dan mencipta namespace untuk Kubernetes anda.




Ulasan

Catatan popular daripada blog ini

Setting APACHE Tomcat Dengan Configure mod_jk Connector pada RHEL6.4 cara ringkas.

 Asas - Apakah mod_jk?   Penyambung mod_jk ialah modul Apache httpd yang membolehkan httpd untuk berkomunikasi dengan Apache Tomcat  bagi  seluruh  keadaan  protokol AJP. Modul ini digunakan bersama- s ama dengan komponen Penyambung AJP Tomcat ini.  Mengenai Penyambung   Apache Tomcat menggunakan komponen Penyambung untuk membolehkan komunikasi antara contoh nya  Tomcat dan pihak lain, seperti pelayar, pelayan atau contoh lain Tomcat yang merupakan sebahagian daripada rangkaian yang sama. Sebagai contoh, penyambung HTTP mendengar untuk permintaan lebih protokol HTTP/1.1 pada pelbagai port TCP...

Pasang Fedora 21 pada Surface Pro 3

Sila buat recovery untuk pc anda dulu guna USB yang bersaiz > 8 GB. Windows 8 Tak boleh  shrink volume lebih dari 4 partision. Tapi boleh guna cara khas nak    shrink volume. Jika alat Pengurusan Cakera tidak membenarkan berbuat demikian kerana "fail unmovable", anda akan perlu memasang semula Windows - dan menggunakan helah khas.  Gunakan opsyen Pemulihan untuk Pasang semula (tidak memuat semula) Windows.  Jangan meneruskan Ubahsuaian Awal selepas Windows but untuk kali pertama, sebaliknya, secara paksa mematikannya menggunakan butang kuasa, dan hidupkannya semula. Anda mungkin perlu mematikannya dan pada dua atau tiga kali, sehingga but Windows dan dicadangkan anda untuk menggunakan Advanced Startup untuk membaikinya.  Masukkan Command Prompt daripada pilihan Advanced Startup - Troubleshoot - advance options - command prompt - administrator - continue. .  Gunakan DISKPART mengecut partition C dengan saiz yang anda inginkan.  But s...

GlusterFS & cara penggunaan

Apa itu GlusterFS? GlusterFS ialah sistem fail storan yang dilampirkan berskala. Ia aplikasi yang dijumpai di pengkomputeran awan, perkhidmatan media streaming dan penghantaran kandungan rangkaian . GlusterFS telah dibangunkan semula oleh Gluster, Inc. dan kemudian oleh Red Hat, Inc. Hasilnya Red Hat memperoleh Gluster pada tahun 2011. Pada Jun 2012, Red Hat Storage Server diumumkan sebagai penyepaduan komersil antara GlusterFS dengan Red Hat Enterprise Linux. Red Hat membeli  Inktank Storage  pada bulan April 2014, yang merupakan syarikat di sebalik sistem teragih (Ceph), dan menjenamakan semula Red Hat Storage Server berasaskan GlusterFS kepada "Red Hat Gluster Storage". GlusterFS mengagregat pengiraan, penyimpanan, dan sumber I/O ke dalam ruang nama global.Setiap pelayan ditambah storan komoditi sama ada (storan berhubung langsung, JBOD atau menggunakan storan SAN) dianggap sebagai nod. Kapasiti diperkecil dengan menambahkan nod tambahan atau menambahkan storan ...