k8s部署maven项目

news2024/11/25 20:39:36

failed to verify certificate: x509: certificate signed by unknown authority

今天在执行kubectl get nodes的时候报的证书验证问题,看了一圈首次搭建k8s的都是高频出现的问题。

couldn’t get current server API group list: Get “https://kubernetes.docker.internal:6443/api?timeout=32s”: tls: failed to verify certificate: x509: certificate signed by unknown authority (possibly because of “crypto/rsa: verification error” while trying to verify candidate authority certificate “kubernetes”)

在这里插入图片描述
加上 --insecure-skip-tls-verify 也确实会提示 error: You must be logged in to the server (the server has asked for the client to provide credentials)
在这里插入图片描述
这个其实就是.kube目录下的config文件有问题,里面有集群的certificate-authority-data和客户端的证书数据client-certificate-data,退出服务,删掉config文件再重启
hosts文件添加127.0.0.1 kubernetes.docker.internal
在这里插入图片描述
在这里插入图片描述
到此k8s环境算是连通
在这里插入图片描述
这是我之前搞的一个maven项目,在本地打包后手工推到阿里云ARC的镜像
在这里插入图片描述
k8s部署maven项目需要编写deployment.yaml和service.yaml两个文件
deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: olympus-backend-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: olympus-backend
  template:
    metadata:
      labels:
        app: olympus-backend
    spec:
      containers:
        - name: olympus-backend
          image: registry.cn-hangzhou.aliyuncs.com/xxx/olympus-backend:20240425
          ports:
            - containerPort: 8080

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: olympus-backend-service
spec:
  selector:
    app: olympus-backend
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
      nodePort: 30001
  type: NodePort

应用部署到k8s
在这里插入图片描述
查看部署状态
我测试deployment.yaml用的镜像是从阿里云ACR拉的,确保可以docker pull拉取成功,测试可以先手工拉下来。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果是windows本地部署的,用不了LoadBalancer负载均衡的模式,可以改NodePort
在这里插入图片描述
查看服务对外ip和端口

kubectl get svc -o wide查看部署节点
在这里插入图片描述

接口访问

测试项目里我暴露了一个接口,每次返回会返回当前的时间。上面是通过NodePort指定了30001对外端口

  @GetMapping("/")
  public String home() {
    return LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
  }

不断刷新浏览器可以看到毫秒单位的时间一直在更新
在这里插入图片描述
而在实际生产中,大部分中小企业不会自建云,容易故障踩坑,更多选择云托管。自主搭建Jenkins,Maven私服,Rancher管理k8s集群,好一点的会自主研发Devops平台加入审批流,上线前研发Leader审批版本发布、sql脚本等。
阿里云效其实也是干这种事情,最近在上面走了下流程,可以给大家简单看下我成功运行过的流水线。一般互联网公司的发布流程大致也是这样,前面还会有git分支管理合并等,如果代码合并有冲突也会中断。
在代码构建前会有代码扫描、安全扫描、漏洞检测、单元测试覆盖率等,代码扫描完可以查看报告。
在这里插入图片描述
人工卡点是我加入的模拟实际流程中的审批,运行到这里对应的审批人在钉钉会收到审批通知。
在这里插入图片描述
审批通过,流水线会自动进入下一步流程进行maven项目构建,docker镜像打包,这里我是以时间为tag标识各个版本,下面是我构建完推送到ACR的镜像。
在这里插入图片描述
镜像打完会走到k8s集群去创建应用部署。
在这里插入图片描述
在k8s集群这边创建Pod的流水也是拉取镜像、创建容器、如果需要外网访问需要创建负载均衡器。如果我们的应用需要访问外网,如有涉及到第三方接口对接等,需要开通NAT网关服务。
在这里插入图片描述
启动完可以在访问方式这里看到分配的外网ip和端口。
在这里插入图片描述
在浏览器可以直接测试一下服务。
在这里插入图片描述
在实际生产中,要做的事情肯定不止这些,如需要接入SLS日志服务汇总查询各项目打印的业务日志方便线上问题排查,在监控这栏可以开通接入可观测 Prometheus 监控服务,全链路跟踪,Ingress域名路由转发,异常通知(cpu负载、慢SQL、磁盘空间监控、垃圾回收频率、服务宕机重启监控、http请求超时)等。

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

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

相关文章

C#描述-计算机视觉OpenCV(3):重映射

C#描述-计算机视觉OpenCV(3):重映射 前言色彩波形图像重映射 前言 C#描述-计算机视觉OpenCV(1):基础操作 C#描述-计算机视觉OpenCV(2):图像处理 在前文中,描…

R语言学习—4—数据矩阵及R表示

1、创建向量、矩阵 在R中,c()函数用于创建向量或组合数据对象。它在某些情况下可能会被省略,因为R有一些隐式的向量创建规则。例如,当你使用:操作符创建一个数字序列时,R会自动创建一个向量,所以你不需要显式地调用c()…

超越数据的确定性:通过概率主成分分析拥抱不确定性

原文地址:beyond-determinism-in-data-embracing-uncertainty-with-probabilistic-principal-component-analysis 2024 年 4 月 24 日 主成分分析法(Principal Component Analysis,PCA)是一种统计方法,它可以通过正交…

蓝桥杯备战国赛1

开心的金明 火烧赤壁 南蛮图腾 #include<iostream> #include<algorithm> #include<cmath> using namespace std; int n, m; int v[30], k[30]; int arr[30010][30]; int main() {cin >> n >> m;for (int i 1;i < m;i){cin >> v[i] &g…

自定义表单元素组件内容变化触发ElForm重新校验

对于下图中“付费类型”怎么实现有很多种方式&#xff0c;我能想到的是以下两种&#xff1a; Element Plus的RadioButton自定义组件 1. RadioButton 它本质上就是一个单选组件&#xff0c;它跟Element Plus的RadioButton本质上没有区别&#xff0c;无非是外观上的差别。那么…

基于SpringBoot+Vue的旅游网站系统

初衷 在后台收到很多私信是咨询毕业设计怎么做的&#xff1f;有没有好的毕业设计参考?能感觉到现在的毕业生和当时的我有着同样的问题&#xff0c;但是当时的我没有被骗&#xff0c;因为现在很多人是被骗的&#xff0c;还没有出学校还是社会经验少&#xff0c;容易相信别人。…

BJFUOJ-C++程序设计-实验2-类与对象

A 评分程序 答案&#xff1a; #include<iostream> #include<cstring>using namespace std;class Score{ private:string name;//记录学生姓名double s[4];//存储4次成绩&#xff0c;s[0]和s[1]存储2次随堂考试&#xff0c;s[2]存储期中考试&#xff0c;s[3]存储期…

003 redis分布式锁 jedis分布式锁 Redisson分布式锁 分段锁

文章目录 Redis分布式锁原理1.使用set的命令时&#xff0c;同时设置过期时间2.使用lua脚本&#xff0c;将加锁的命令放在lua脚本中原子性的执行 Jedis分布式锁实现pom.xmlRedisCommandLock.javaRedisCommandLockTest.java 锁过期问题1乐观锁方式&#xff0c;增加版本号(增加版本…

香港立法會議員容海恩女士確定出席“邊緣智能2024 - AI開發者峰會”

隨著AI技術的飛速發展&#xff0c;全球正步入邊緣計算智能化與分布式AI深度融合的新紀元&#xff0c;共同演繹著分布式智能創新應用的壯麗篇章。在這一背景下&#xff0c;邊緣智能&#xff0c;作為融合邊緣計算和智能技術的新興領域&#xff0c;正逐漸成為推動AI發展的關鍵力量…

区块链 | IPFS:CID

&#x1f98a;原文&#xff1a;Anatomy of a CID &#x1f98a;写在前面&#xff1a;本文属于搬运博客&#xff0c;自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时&#xff0c;我们依赖于内容寻址&#xff08;而不是中心化网络的位置寻址&#xff09;来安全地定位…

Flutter笔记:Widgets Easier组件库(5)使用加减器

Flutter笔记 Widgets Easier组件库&#xff08;5&#xff09;&#xff1a;使用加减器 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress…

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)

1.主要内容 包括&#xff1a;组织通用治理、组织通用管理、法律法规与标准规范。 2.详细内容 第22章 组织通用治理 1分 第23章 组织通过管理 1分 第24章 法律法规与标准规范 2分

python+Pyppeteer+SpringBoot验证码自动识别登录(文末附源码)

效果如下&#xff1a; 实现流程&#xff1a; 一、Pyppeteer打开网址 import asyncio from pyppeteer import launch import pdb import random# 启动 Pyppeteer browser await launch({headless: False}) page await browser.newPage()# 打开登录页面 await page.goto(http…

【跟马少平老师学AI】-【神经网络是怎么实现的】(五)梯度消失问题

一句话归纳&#xff1a; 1&#xff09;用sigmoid激活函数时&#xff0c;BP算法更新公式为&#xff1a; 用sigmoid函数&#xff0c;O取值为0~1&#xff0c;O(1-O)最大值为0.25&#xff0c;若神经网络层数多&#xff0c;则会造成更新项趋近于0&#xff0c;称为梯度消失。 2&#…

蓝桥杯练习系统(算法训练)ALGO-950 逆序数奇偶

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 老虎moreD是一个勤于思考的青年&#xff0c;线性代数行列式时&#xff0c;其定义中提到了逆序数这一概念。不过众所周知我们…

I2C接口18路LED呼吸灯驱动IS31FL3218互相替代SN3218替换HTR3218

I2C接口18路LED呼吸灯控制电路IC 该型号IC为QFN24接口&#xff0c;属于小众产品&#xff0c;IS31FL3218、SN3218、HTR3218S管脚兼容&#xff0c;需要注意的是HTR3218管脚与其他型号不兼容。 I2C接口可实现多个LED灯的呼吸灯控制&#xff0c;可实现单色控制18个LED灯&#xff0…

场景文本检测识别学习 day06(Vi-Transformer论文精读、MAE论文阅读)

Vi-Transformer论文精读 在NLP领域&#xff0c;基于注意力的Transformer模型使用的非常广泛&#xff0c;但是在计算机视觉领域&#xff0c;注意力更多是和CNN一起使用&#xff0c;或者是单纯将CNN的卷积替换成注意力&#xff0c;但是整体的CNN 架构没有发生改变VIT说明&#x…

亚马逊关键字搜索商品列表API接口:探索海量商品的利器

亚马逊关键字搜索商品列表API接口允许开发者通过输入关键字或特定参数&#xff0c;在亚马逊平台上进行商品搜索&#xff0c;并返回符合搜索条件的商品列表信息。这些信息包括商品的标题、图片、价格、评价等&#xff0c;为商家、开发者以及市场分析师提供了丰富的商品数据支持。…

信息系统项目管理师0082:项目基础(6项目管理概论—6.2项目基本要素—6.2.1项目基础)

点击查看专栏目录 文章目录 6.2项目基本要素6.2.1项目基础1.独特的产品、服务或成果2.临时性工作3.项目驱动变更4.项目创造业务价值5.项目启动背景记忆要点总结6.2项目基本要素 6.2.1项目基础 项目是为创造独特的产品、服务或成果

【Java从入门到精通】Java 正则表达式

目录 正则表达式实例 &#x1f349;java.util.regex 包 &#x1f349;实例 &#x1f349;捕获组 &#x1f349;实例 &#x1f349;RegexMatches.java 文件代码&#xff1a; &#x1f349;正则表达式语法 &#x1f349;Matcher 类的方法 &#x1f349;索引方法 &#…