K8s容器部署maven项目

最近在整一整套devops自动化持续集成的东西,一开始就做好了踩坑的准备。

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);
  }

不断刷新浏览器可以看到毫秒单位的时间一直在更新
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《代环问题》

代环问题 什么是代环代环的结构 怎么判断代环还是不代环呢?举一反三1:为什么一定会相遇,有没有可能会错过永远追不上? 请证明2:slow一次走一步,那么fast走3、4、5、6......n步可不可以?N是奇数C是偶数时,那就永远追不上这个条件…

Linux 安装Python3.12.0

下载源文件。 wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz 解压。 tar -zxvf Python-3.12.0.tgz 进入文件夹。 cd Python-3.12.0 指定安装目录。 ./configure --prefix/usr/local/python3.12/ 1 编译,把源码包里面的代码编译成linux服务器可以…

【JAVASE】带你了解的方法魅力

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目标: 1. 掌握方法的定义以及使用 2. 掌握方法传参 3. 掌握方法重载 …

自学Java要到什么程度才足够能力去实习和就业?

引言 Java,作为当今软件开发领域的主流编程语言之一,对于初学者而言,明确掌握到什么程度才能开始寻找实习和入职机会是至关重要的。这涉及到对Java知识体系的理解深度、技能掌握程度以及实际项目经验的积累。 本文将分别从实习和入职两个不…

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x新特性)

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x新特性) 1. JavaAPI-环境准备1.1 新建Maven工程——添加依赖1.2 HelloElasticsearch 2. 索引2.1 索引——创建2.2 索引——查询2.3 索引——删除 3. 文档3.1 文档——重构3.2 文…

Golang | Leetcode Golang题解之第59题螺旋矩阵II

题目&#xff1a; 题解&#xff1a; func generateMatrix(n int) [][]int {matrix : make([][]int, n)for i : range matrix {matrix[i] make([]int, n)}num : 1left, right, top, bottom : 0, n-1, 0, n-1for left < right && top < bottom {for column : lef…

PotatoPie 4.0 实验教程(33) —— FPGA实现摄像头视频图像叠加

链接直达 https://item.taobao.com/item.htm?ftt&id776516984361 什么是视频水印&#xff1f; 视频水印就是图像叠加&#xff0c;跟画中画&#xff0c;或者是OSD是一样的原理&#xff0c;都是在视频的行场数据流上进行替换操作&#xff0c;比如叠加可以直接用水印图的数…

Vue.js课后练习(登录注册和大小比较)

第一题 请编写登录页面和注册页面&#xff0c;通过动态组件实现动态切换页面中显示的组件&#xff0c;效果如图1和图2所示。 图1 登录页面 图2 注册页面 代码&#xff1a; my.vue代码: <template>登录 </template><script setup> </script><st…

K8S执行完毕kubectl init xxx 执行 kubectl get ns 报错才connect: connection refused

问题场景&#xff1a; 在安装完毕K8S之后&#xff0c;执行 kubectl get ns 报错&#xff1a; [rootmaster ~]# kubectl get pods E0501 08:34:55.770030 11268 memcache.go:265] couldnt get current server API group list: Get "https://192.168.1.100:6443/api?ti…

RAGFlow:安装与体验

服务器需要有docker,或者直接访问官方提供的demo: https://demo.ragflow.io/ docker-compose安装 需要确保 vm.max_map_count 不小于 262144 【更多】:sysctl -w vm.max_map_count=262144 克隆仓库:$ git clone https://github.com/infiniflow/ragflow.git 进入 doc…

特殊成员的管理方法

五一假期第一天&#xff0c;快乐学习&#xff0c; 团队管理最困难的其实就是人的管理。 团队冲突往往是由一些特殊的成员引起的&#xff0c;因此&#xff0c;掌握这些特殊成员的管理方法不但可以减少团队冲突发生的频次&#xff0c;还会降低团队冲突解决的难度。 【我是中年老码…

卫星通信现状与展望三 -- 6G

作者:私语茶馆 6G星地一体远景规划 中国信通院《6G总体远景与潜在关键技术白皮书》指出6G将实现地面网络、不同轨道高度上 的卫星(高中低轨卫星)以及不同空域飞行器等融合而成全新的移动信息网络,通过地面网络实现城市热点常态化覆盖,利用天基、空基网络实现偏远地…

软件定义汽车落地的五大关键要素

1、架构升级 1.1 软件架构&#xff1a;分层解耦、服务化、API 接口标准化 随着企业向软件定义汽车开发方法的转变&#xff0c;软件架构也需要同步进行升级&#xff0c;引入面向服务的架构&#xff08;Service-Oriented Architecture&#xff0c;简称 SOA&#xff09;方法论。…

【八大排序(三)】快速排序

❣博主主页: 33的博客❣ ▶️文章专栏分类:八大排序◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多排序知识 目录 1.前言2.快速排序2.1概念2.2画图理解2.3递归代码实现2.3.1Hoare法2.3.2挖坑法2.3.3前…

外包干了3天,技术就明显退步了。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

一个完全免费、私有且本地运行的搜索聚合器-FreeAskInternet

什么是 FreeAskInternet FreeAskInternet 是一个完全免费、私有且本地运行的搜索聚合器&#xff0c;使用 LLM 生成答案&#xff0c;无需 GPU。用户可以提出一个问题&#xff0c;系统将使用 searxng 进行多引擎搜索&#xff0c;并将搜索结果组合到 ChatGPT3.5 LLM 中&#xff0…

第三节课,功能2:开发后端用户的管理接口-- postman--debug测试

一、如何使用postman 网址&#xff1a; https://www.postman.com/downloads/ 【Postman小白教程】五分钟学会如何使用Postman~_哔哩哔哩_bilibili postman安装使用_bowser agent在postman哪里-CSDN博客 二、下载后 登录&#xff0c;开始测试 2.1 关于postman 报错&#…

什么是 Web3 的生成式 AI?

从 Web 1.0 的静态、单向通信到 Web 2.0 的动态、用户驱动的格局&#xff0c;互联网在二十年的时间里经历了一场显着的转变。现在&#xff0c;当我们站在 Web 3.0 时代的边缘时&#xff0c;我们正在见证更具颠覆性的事物的曙光&#xff1a;生成式人工智能 (AI) 融入我们的数字世…

【数据结构(邓俊辉)学习笔记】向量05——排序器

文章目录 0. 概述1.统一入口2. 起泡排序2.1 起泡排序&#xff08;基础版&#xff09;2.1.1 算法分析2.1.2 算法实现2.1.3 重复元素与稳定性2.1.4 复杂度分析 3. 归并排序3.1 有序向量的二路归并3.2 分治策略3.3 实例3.4 二路归并接口的实现3.5 归并时间3.6 排序时间 4.综合评价…

【Linux】体系结构和进程管理

目录 一、认识冯诺依曼体系结构 1.1 概念 1.2 组成 1.3 存储分级 1.4 有关冯诺依曼的问题 二、操作系统 2.1 概念和功能 2.2 如何理解操作系统的 "管理" 2.3 操作系统的用户、系统调用和库函数概念 三、进程 3.1 基本概念 3.2 描述进程-进程控制块PCB …
最新文章