使用AKO为TKG提供LoadBalancer

news/2025/2/5 14:36:25/

本文记录了使用AKO(AVI)为TKG提供对外LoadBalancer服务的配置过程。

TKG的介绍请参考:Tanzu Kubernetes Grid介绍
TKG以及其安装配置参考:安装 Tanzu Kubernetes Grid
Tanzu Kubernetes Grid基本操作

环境

项目内容备注
VMware ESXi7.0.117325551
vCenter Server7.0.1.0030017491101
NSX-T3.113.1.1.0.0.17483185
Tanzu Kubernetes Grid CLI1.21tkg-linux-amd64-v1.2.1+vmware.1
kubectl cluster cliv1.19.3kubectl-linux-v1.19.3
Client OSCentOS 7CentOS-7-x86_64-DVD-2009.iso
AVI Controller20.1.3AKO 1.3.3
NSX-T3.1

安装过程

AVI 配置准备

AVI的环境沿用在前面文:实现VMware Horizo​​n+负载均衡(AVI)中的环境。

IP网段配置

本次使用的地址段是172.20.0.0/24,为此段ip进行预配置:
导航到Infrastructure–>Networks–>Default-Cloud,编辑172.20.0.0/24网段
在这里插入图片描述
增加Subnet。
导航到Templates–>Profiles–>IPAM/DNS Profiles,编辑原有IPAM-VMLAB,在Default-Cloud增加172.20.0.0/24网段。
在这里插入图片描述

新增SE-Group

为了和前面的环境区分,配置新的SE Group,导航到Infrastructure–>Service Engine Group–>CREATE
在这里插入图片描述

TKG Cluster 配置

参数修改

  • 已经安装好TKG 管理Cluster和TKG Cluster:
[root@hop-172 ~]# kubectl config get-contexts
CURRENT   NAME                                    CLUSTER           AUTHINFO                NAMESPACEmgmt-admin@mgmt                         mgmt              mgmt-admin              tanzu-cluster-admin@tanzu-cluster       tanzu-cluster     tanzu-cluster-admin     -         tanzu20-cluster-admin@tanzu20-cluster   tanzu20-cluster   tanzu20-cluster-admin   
  • CentOS跳板机已经安装好Helm
  • 增加repository到 helm CLI
helm repo add ako https://projects.registry.vmware.com/chartrepo/ako

搜索 Charts for AKO:

[root@hop-172 ~]# helm search repo
NAME                    CHART VERSION   APP VERSION     DESCRIPTION                             
ako/ako                 1.3.3           1.3.3           A helm chart for Avi Kubernetes Operator
ako/ako-operator        1.3.1           1.3.1           A Helm chart for Kubernetes AKO Operator
ako/amko                1.3.1           1.3.1           A helm chart for Avi Kubernetes Operator
  • 利用命令获取参数,并根据AVI环境进行编辑。
helm show values ako/ako --version 1.3.3 > values.yaml
  • VALUES修改的内容:
    ClusterName:
KOSettings:logLevel: WARN   #enum: INFO|DEBUG|WARN|ERRORfullSyncFrequency: '1800' # This frequency controls how often AKO polls the Avi controller to update itself with cloud configurations.apiServerPort: 8080 # Internal port for AKO's API server for the liveness probe of the AKO pod default=8080deleteConfig: 'false' # Has to be set to true in configmap if user wants to delete AKO created objects from AVI disableStaticRouteSync: 'false' # If the POD networks are reachable from the Avi SE, set this knob to true.clusterName: 'tanzu20-cluster'   # A unique identifier for the kubernetes cluster, that helps distinguish the objects for this cluster in the avi controller. // MUST-EDIT

网络参数:

NetworkSettings:## This list of network and cidrs are used in pool placement network for vcenter cloud.## Node Network details are not needed when in nodeport mode / static routes are disabled / non vcenter clouds.nodeNetworkList: []subnetIP: '172.20.0.0' # Subnet IP of the vip networksubnetPrefix: '24' # Subnet Prefix of the vip networknetworkName: 'ls-172.20.0' # Network Name of the vip networkenableRHI: false # This is a cluster wide setting for BGP peering.

AVI参数:

ControllerSettings:serviceEngineGroupName: se-group   # Name of the ServiceEngine Group.controllerVersion: 20.1.2   # The controller API versioncloudName: Default-Cloud   # The configured cloud name on the Avi controller.controllerHost: '10.105.130.55' # IP address or Hostname of Avi ControllertenantsPerCluster: 'false' # If set to true, AKO will map each kubernetes cluster uniquely to a tenant in AvitenantName: admin   # Name of the tenant where all the AKO objects will be created in AVI. // Required only if tenantsPerCluster is set to True

注意:AVI到版本是20.1.3,可是实测不能通过。改为20.1.2可以成功。

AKO安装

利用上文修改好的value.yaml文件,安装AKO

root@hop-172 ~]# helm install  ako/ako  --generate-name --version 1.3.3 -f values.yaml  -n avi-system
NAME: ako-1613991974
LAST DEPLOYED: Mon Feb 22 11:06:15 2021
NAMESPACE: avi-system
STATUS: deployed
REVISION: 1

查看pod情况

[root@hop-172 ~]# kubectl get po -n avi-system 
NAME    READY   STATUS    RESTARTS   AGE
ako-0   1/1     Running   0          11s
[root@hop-172 ~]# helm list -n avi-system
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
ako-1613991974  avi-system      1               2021-02-22 11:06:15.446844648 +0000 UTC deployed        ako-1.3.3       1.3.3    

验证

在Cluster上利用yaml文件创建Deployment,指定Service type为LoadBalancer

apiVersion: v1
kind: Service
metadata:name: hello-kubernetes
spec:type: LoadBalancerports:- port: 80targetPort: 8080selector:app: hello-kubernetes
---
apiVersion: apps/v1
kind: Deployment
metadata:name: hello-kubernetes
spec:replicas: 3selector:matchLabels:app: hello-kubernetestemplate:metadata:labels:app: hello-kubernetesspec:containers:- name: hello-kubernetesimage: paulbouwer/hello-kubernetes:1.5ports:- containerPort: 8080env:- name: MESSAGEvalue: I just deployed Web Service via AVI for pod Cluster!!

查看SVC情况:

[root@hop-172 ~]# kubectl get svc
NAME               TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)        AGE
hello-kubernetes   LoadBalancer   111.69.112.27   172.20.0.100   80:30321/TCP   85m
kubernetes         ClusterIP      111.64.0.1      <none>         443/TCP        114m

可以看到这里的外部IP地址172.20.0.100,正是在AVI 172.20.0.0/24中配置的地址段172.20.0.100-172.20.0.149中的一个。
在AVI上查看:
在这里插入图片描述
体验效果
在这里插入图片描述

在这里插入图片描述
参考文档:
avi-helm-charts
以上。


http://www.ppmy.cn/news/233664.html

相关文章

【RE-GCN_2021.04】基于进化表示学习的时态知识图谱推理

提示&#xff1a; 文章目录 摘要一、引言二、相关工作三、问题表述四、RE-GCN模型4.1 进化单元4.1.1 并发事实之间的结构依赖性4.1.2 跨时间邻近事实的序列模式4.1.3 静态特性 4.2 针对不同任务的评分函数4.3 参数学习4.4 计算复杂度分析 五、实验5.1 实验设置5.1.1 数据集5.1.…

一文了解 TKG 如何使用 GPU 资源池

相关文章&#xff1a; 有了这个办法&#xff0c;跑AI任务再也不用在机器上插GPU卡了 随着科技进步和产业变革的加速演进&#xff0c;人工智能&#xff08;AI&#xff09;已经成为兵家必争之地。在政府、学术机构、企业等各个层面&#xff0c;AI都受到高度重视&#xff0c;其在学…

云桌面参数相关

涉及到云桌面选型&#xff0c;首先要考虑到云桌面的客户机配置与服务器参数之间的关系。&#xff08;一个小白的折腾&#xff01;&#xff09; 例如&#xff1a;客户机配置:2vCPU6GB300GB 无显卡。 一台服务器支持50个用户&#xff01; 虚拟CPU&#xff1a;物理CPU5:1 则服…

iQOOU1x和iQOOU3x的区别 iQOOU1x和iQOOU3x参数对比

iQOO U1x这款手机采用6.51英寸IPS材质的全面屏&#xff0c;支持60Hz刷新频率&#xff0c;屏幕分辨率为1600x720像素 vivoU3x采用了正面这块6.35英寸的水滴全面屏 vivo手机爆降600这活动太给力了 机会不容错过 https://www.vivo.com.cn iQOOU1x搭载了后置1300万200万200万像素…

红米note9pro和红米10x 参数对比 哪个好

红米note9pro采用了一块6.67英寸的LCD挖孔屏&#xff0c;2400x1080像素的屏幕分辨率&#xff0c;支持90Hz的屏幕刷新率。 红米手机爆降500这活动太给力了 机会不容错过 https://www.xiaomi.com.cn 红米10x采用6.57英寸的AMOLED屏幕是支持2400x1080像素分辨率但是没有高刷。 红米…

chrome启动参数

序号参数解释1–报告伪分配跟踪。伪跟踪从当前活动的跟踪事件派生。2–/prefetch:1/prefetch:启动各种流程类型时使用的&#xff03;arguments。已经观察到&#xff0c;当文件读取与具有相同/prefetch:&#xff03;参数的3个进程启动一致时&#xff0c;Windows预取器开始在进程…

结合Sklearn的网格和随机搜索进行自动超参数调优

什么是超参数? 今天&#xff0c;隐藏着数学世界的算法只需要几行代码就可以训练出来。它们的成功首先取决于训练的数据&#xff0c;然后取决于用户使用的超参数。这些超参数是什么? 超参数是用户定义的值&#xff0c;如kNN中的k和Ridge和Lasso回归中的alpha。它们严格控制模…

oppok7x可以用鸿蒙系统吗,oppok7x支持nfc吗_oppok7x手机怎么样

在双十一期间&#xff0c;OPPO发布了一款性价比极高的千元机——oppo k7x&#xff0c;这款手机主打续航&#xff0c;使用时间非常久&#xff0c;适合家里的老人和小孩使用&#xff0c;最近看到有人好奇oppok7x支持nfc吗&#xff1f; 一、oppok7x支持nfc吗 首先要说的就是oppok7…