K8s实战4-使用Helm在Azure上部署Ingress-Nginx和Tokengateway

news2024/9/17 7:33:44

手动发布Ingress-Nginx

1 登录到aks(dfinder-gw-aks)

az login

az account set --subscription ${sub ID}

az aks get-credentials --resource-group ${groupname} --name ${aks name}

2 下载 ingress-nginx-4.2.5.tgz

curl -LO https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.7.1/ingress-nginx-4.7.1.tgz

3 解压,修改文件

sudo tar -xvf ingress-nginx-4.2.5.tgz && sudo cd ingress-nginx

commonLabels: {}



controller:

  name: controller

  image:

    registry: registry.cn-hangzhou.aliyuncs.com # 根据自己情况修改

    image: google_containers/nginx-ingress-controller # 同上  

    tag: "v1.3.0"

    # digest: sha256:31f47c1e202b39fadecf822a9b76370bd4baed199a005b3e7d4d1455f4fd3fe2      # 注释掉


  dnsPolicy: ClusterFirstWithHostNet                     # 修改好的



  hostNetwork: true         # 改成true        



  kind: DaemonSet                          # 已经修改好的



  nodeSelector:

    kubernetes.io/os: linux

    ingress: "true"                              # 改成true



    patch:

      enabled: true

      image:

        registry: registry.cn-hangzhou.aliyuncs.com # 根据自己情况修改

        image: google_containers/kube-webhook-certgen # 同上


        tag: v1.3.0

        # digest: sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660      # 注释掉

4 安装ingress-nginx

#创建命名空间

kubectl create ns ingress-nginx-public

# 使用helm进行安装

helm install ingress-nginx-public -f values.yaml -n ingress-nginx-public .

helm install ingress-nginx-public -f values.yaml -n ingress-nginx-public . --set controller.service.loadBalancerIP="159.27.190.62" --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-resource-group"="cn-prdcnn3-dfinder-pubip-rg"

其他命令

helm list -n ingress-nginx-public

kubectl -n ingress-nginx-public get pods  -o wide

kubectl -n ingress-nginx-public get svc -o wide

# 删除ingress-nginx

helm delete ingress-nginx-public -n ingress-nginx-public

# 更新ingress-nginx

helm upgrade ingress-nginx-public -n -f values.yaml -n ingress-nginx-public .

错误处理1

错误描述:Ingress-nginx发布后,Load Balancer,Frontend IP configuration中没有生成申请的public ip的记录,只有自动生成的public ip记录

错误信息:

Error syncing load balancer: failed to ensure load balancer:

  findMatchedPIPByLoadBalancerIP: failed to listPIP: Retriable: false,

  RetryAfter: 0s, HTTPStatusCode: 403, RawError:

  {"error":{"code":"AuthorizationFailed","message":"The client

  '9f32426d-729e-4d88-8c62-d9d3b6ad4921' with object id

  '9f32426d-729e-4d88-8c62-d9d3b6ad4921' does not have authorization to perform

  action 'Microsoft.Network/publicIPAddresses/read' over scope

  '/subscriptions/fc10f621-0a92-4106-941e-cb7c63b9295a/resourceGroups/cn-prdcnn3-dfinder-pubip-rg/providers/Microsoft.Network'

  or the scope is invalid. If access was recently granted, please refresh your

  credentials."}}

执行命令:

这个需要有subcriptions权限才能执行成功,haidi执行未成功,但liuxiao执行成功,haidi再次执行helm install,Load Balancer中就有两条记录了。

az role assignment create --assignee <object ID> --scope <resource ID of the Vnet> --role “Network Contributor”

5 测试是否DNS是否通了

1 通过在DNS的public endpoint页面点击health check按钮,如果status变为绿色,implemented,则为通过

 

2 通过命令测试

openssl s_client -crlf -connect 159.27.190.62:443 -servername dfdr-nonprod.query.api.dvb.corpinter.net.cn

curl -X GET -k -I --resolve dfdr-nonprod.query.api.dvb.corpinter.net.cn:443:159.27.190.62 https://dfdr-nonprod.query.api.dvb.corpinter.net.cn


 

手动发布Tokengateway

1 下载tokengateway的helm模版

git clone https://dev.azure.com/daimler-mic/IAMS/_git/mic-gateway

git pull -r

cd mic-gateway/helm-chart

2 通过Helm部署到Aks

helm upgrade \

    --install ${NAME} . \

    --namespace ${NAMESPACE} \

    --values ${VALUES_FILE} \

    --set "global.clientsecret=${CLIENT_SECRET}"

upgrade前准备工作,需要修改Values.yaml中的

region

stage

pullPolicy

clientid

clientsecret

aksversion

dockerPullID: "${dockerPullID}"

dockerPullSecret: "${dockerPullSecret}"

acrValues: "gas:strong"

requestedScopes:

      - "groups"  # standard OIDC scope

      - "openid"  # standard OIDC scope

      - "profile" # standard OIDC scope

      - "email"   # standard OIDC scope

      - "offline_access"

项目总结:

这个项目是要接入一个字节的埋点系统,目前的Step是要在公司的AKS上部署Ingress-Nginx和TokenGateway来打通域名解析,为后面接入第三方系统提供支持。

我刚开始接到这个工作时,还是觉得有些挑战的。

挑战1 没有实际用helm部署过应用。只是部署了一个简单的nginx(幸好动手部署一次,这次省了很多事),还有就是在配置pipeline时,对helm有一些了解。

挑战2 对配置DNS,IP这些心里没底。之前都是同事配置的,我负责把开发的应用,部署到搭建好的环境,真正可以在浏览器访问到,需要其他同事支持。

挑战3 对K8s中的一些知识点理解的还不深。比如Ingress-nginx(之前以为是个简单的nginx,心里还想我部署过,其实还是有区别的),Deamset,endpoint,Load banlancer,K8s开发工具lens.

挑战4 对这个部署的套路不熟悉。部署Ingress-Nginx之前有个pipeline,但当我部署是禁用了,于是负责的同事给我推荐了好几种其他方案,本来简单的事,需要尝试好几种方案。再有tokengateway之前也是有pipeline,但具体项目需要重新建立,这个项目目前不需要pipeline,只能参考。虽然部署不需要写代码,但部署不成功,需要找原因解决,也是需要工具,需要有方法的。Lens比直接在portal看到更多的信息,修改也更方便。

挑战5 对不熟悉的事情需要请教很多人。这个其实还好,现在回顾一下,之前做前后端开发,可能一两人交流一下就搞定了。这次部署涉及到了Li(部署套路结束和细节问题解决),liu(整体需求,整体解决方案,问题找人,最后的联调),zou(权限的配置),ma(账户开通,提供了一些解决方案),zhang and xiong(经验提供者,APP组有类似配置经验),XX(没记住名字,腾讯云部署经验,提供最后调试阶段的支持),Li(微软case接口人,解决了一个权限问题)。

上周五刚开始具体工作时,有点压力山大,那那都不顺,经过本周三天的努力,已经成功部署,并测试跑通,Happy。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/888817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hyper-V增加桥接网络设置(其他方式类同)

点击连接到的服务器&#xff0c;右单击或者右边点击“虚拟交换机管理器” 选择网络种类 配置虚拟交换机信息 外部网络选择物理机网卡设备

CS1988|C#无法在异步方法中使用ref,in,out类型的参数的问题

CS1988|C#无法在异步方法中使用ref,in,out类型的参数 &#x1f300;|场景&#xff1a; BlazorServer的场景中推荐使用异步方法&#xff0c;使用ref,out,in为参数前缀则报错CS1988 原因如下: ref parameters are not supported in async methods because the method may not h…

torch模型转onnx

加载模型 modeltorch.load(saved_model/moudle_best_auc.pth, map_locationcpu) model.eval().cpu()注&#xff1a;由于导出的模型是用于推理的&#xff0c;因此必须指定模型加载的位置和模型验证的位置&#xff0c;这里我使用了cpu做出导出的硬件 分析模型的输入和输出 这里…

基于SSH框架实现的管理系统(包含java源码+数据库)

资料下载链接 介绍 基于SSH框架的管理系统 简洁版 &#xff1b; 实现 登录 、 注册 、 增 、 删 、 改 、 查 &#xff1b; 可继续完善增加前端、校验、其他功能等&#xff1b; 可作为 SSH&#xff08;Structs Spring Hibernate&#xff09;项目 开发练习基础模型&#xf…

维护平衡的艺术:如何与干系人建立和谐关系以确保项目成功

在项目管理领域中&#xff0c;干系人的作用是无法忽视的。他们的支持和参与往往是项目成功的关键。与干系人建立和维护良好的关系成为每一位项目经理必备的技能。接下来&#xff0c;我们将深入探讨如何有效地与干系人互动&#xff0c;从而为项目的成功奠定坚实基础。 干系人的…

中国“诺贝尔奖”未来科学大奖公布2023年获奖名单

未来科学大奖委员会于8月16日公布2023年获奖名单。柴继杰、周俭民因发现抗病小体并阐明其结构和在抗植物病虫害中的功能做出的开创性工作获得“生命科学奖”&#xff0c;赵忠贤、陈仙辉因对高温超导材料的突破性发现和对转变温度的系统性提升所做出的开创性贡献获得“物质科学奖…

2023骨传导耳机推荐,适合运动骨传导耳机推荐

相信很多人跟我一样&#xff0c;随着现在五花八门的耳机品种增多&#xff0c;选耳机的时候真是眼花缭乱&#xff0c;尤其还是网购&#xff0c;只能看&#xff0c;不能试&#xff0c;所以选择起来比较困难&#xff0c; 作为一个运动达人&#xff0c;为了让大家在购买耳机时少走弯…

YOLO系列解读DAY1—YOLOV1预训练模型

一、说在前面 小伙伴们好&#xff0c;博主很久没有写博客了&#xff0c;略感生疏&#xff0c;不到之处敬请谅解&#xff0c;欢迎指出文中错误&#xff0c;大家一起探讨。欲看视频讲解&#xff0c;可转至博主DouYin、B站&#xff0c;欢迎关注&#xff0c;链接如下&#xff1a; …

Cat(1):Cat入门

1 什么是调用链监控 1.1 架构的演进历史 单体应用 架构说明&#xff1a; 全部功能集中在一个项目内&#xff08;All in one&#xff09;。 在单体应用的年代&#xff0c;分析线上问题主要靠日志以及系统级别的指标。 微服务架构 架构说明&#xff1a; 将系统服务层完全独立…

亚马逊添加心愿单对卖家有什么好处

在亚马逊平台上&#xff0c;卖家可以从消费者的角度来看待心愿单的好处。消费者可以将自己感兴趣的商品添加到心愿单中&#xff0c;这对卖家来说也是有一些潜在好处的&#xff1a; 1、潜在销售机会增加&#xff1a;当消费者将商品添加到心愿单中&#xff0c;这可能表示他们对这…

mySQL 视图 VIEW

简化版的创建视图 create view 视图名 as select col ...coln from 表create view 视图名&#xff08;依次别名&#xff09; as select col ...coln from 表create view 视图名 as select col “别名1”&#xff0c;。。。col "别名n" from 表show tab…

Angular安全专辑之二——‘unsafe-eval’不是以下内容安全策略中允许的脚本源

一&#xff1a;错误出现 这个错误的意思是&#xff0c;拒绝将字符串评估为 JavaScript&#xff0c;因为‘unsafe-eval’不是以下内容安全策略中允许的脚本源。 二&#xff1a;错误场景 testEval() {const data eval("var sum2 new Function(a, b, return a b); sum2(em…

挖掘优质短视频超百万条,火山引擎DataLeap助力电商平台生态治理

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 在人们的日常生活中&#xff0c;网购已经成为人们生活中不可或缺的购物形式。 根据《中国社交电商行业发展白皮书&#xff08;2022&#xff09;》的数据显示&#x…

古战策与现代项目: 孙子兵法在项目管理中的应用

项目管理在当今的商业环境中是至关重要的。从初创公司到世界500强&#xff0c;项目管理的策略和工具都在不断地演变。然而&#xff0c;我们是否可以从古老的战争策略中汲取智慧&#xff0c;并将它们应用于现代的项目管理实践中呢? 让我们通过孙子兵法&#xff0c;一个古老而又…

ui设计师工作总结及计划范文模板

ui设计师工作总结及计划范文模板【篇一】 白驹过隙&#xff0c;转眼间某某年已近结尾&#xff0c;时间伴随着我们的脚步急驰而去&#xff0c;到了个人工作总结的时候&#xff0c;蓦然回首&#xff0c;才发现过去的一年不还能画上圆满的句号&#xff0c;内心感慨万千&#xff0c…

【PySide】Pyside QtWebEngine网页浏览器打开Flash网页

说明 QWebEngineView 加载 flash插件,可成功显示Flash,如图 源代码 # -*- coding: utf-8 -*- """ @File : pyside_2.py @Time : 2023/8/17 0:11 @Author : KmBase @Version : 1.0 @Contact : @Desc : None """import…

AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 摘要模型架构Embedding层Transformer Encoder层MLP Head 整体流程 摘要 虽然Transformer体系结构已经成为自然语言处理任务的事实上的标准&#xff0c;但它在计算机视觉方面的应用仍然有限。在视…

传统算法是如何在销补调计划中发挥作用的

本文分享了一个「传统机器学习算法」在实际业务中的使用场景。 前言 如果嫌麻烦&#xff0c;你可以直接跳到正题观看~ 最近无论是在工作中的交谈&#xff0c;还是在日常刷屏的新闻&#xff0c;铺天盖地的都是大模型。我横竖是看不明白&#xff0c;费了大劲终于从字缝里看到了两…

后端项目打包上传服务器记录

后端项目打包上传服务器记录 文章目录 后端项目打包上传服务器记录1、项目打包2、jar包上传服务器 本文记录打包一个后端项目&#xff0c;上传公司服务器的过程。 1、项目打包 通过IDEA的插件进行打包&#xff1a; 打成一个jar包&#xff0c;jar包的位置在控制台可以看到。 2、…

记录--JS 的垃圾回收机制

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 前言 垃圾回收(Garbage Collection)是一种内存管理机制&#xff0c;用于检测和清理不再被程序使用的内存&#xff0c;这些不再被使用的内存就被称为垃圾。垃圾回收器会在 JS 引擎(浏览器或者 nodejs)内…