百度站长工具验证,app下载量查询,济南网站万词优化,网站名称和域名有关系这里讲下应用k8s集群devops持续集成部署maven项目的流程。
failed to verify certificate: x509: certificate signed by unknown authority
今天在执行kubectl get nodes的时候报的证书验证问题#xff0c;看了一圈首次搭建k8s的都是高频出现的问题。 couldn’t get curren…这里讲下应用k8s集群devops持续集成部署maven项目的流程。
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?timeout32s”: 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: 1selector:matchLabels:app: olympus-backendtemplate:metadata:labels:app: olympus-backendspec:containers:- name: olympus-backendimage: registry.cn-hangzhou.aliyuncs.com/xxx/olympus-backend:20240425ports:- containerPort: 8080service.yaml
apiVersion: v1
kind: Service
metadata:name: olympus-backend-service
spec:selector:app: olympus-backendports:- protocol: TCPport: 8080targetPort: 8080nodePort: 30001type: 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);}不断刷新浏览器可以看到毫秒单位的时间一直在更新 而在实际生产中大部分中小企业不会自建云容易故障踩坑更多选择云托管。自主搭建JenkinsMaven私服Rancher管理k8s集群好一点的会自主研发Devops平台加入审批流上线前研发Leader审批版本发布、sql脚本等。 阿里云效其实也是干这种事情最近在上面走了下流程可以给大家简单看下我成功运行过的流水线。一般互联网公司的发布流程大致也是这样前面还会有git分支管理合并等如果代码合并有冲突也会中断。 在代码构建前会有代码扫描、安全扫描、漏洞检测、单元测试覆盖率等代码扫描完可以查看报告。 人工卡点是我加入的模拟实际流程中的审批运行到这里对应的审批人在钉钉会收到审批通知。 审批通过流水线会自动进入下一步流程进行maven项目构建docker镜像打包这里我是以时间为tag标识各个版本下面是我构建完推送到ACR的镜像。 镜像打完会走到k8s集群去创建应用部署。 在k8s集群这边创建Pod的流水也是拉取镜像、创建容器、如果需要外网访问需要创建负载均衡器。如果我们的应用需要访问外网如有涉及到第三方接口对接等需要开通NAT网关服务。 启动完可以在访问方式这里看到分配的外网ip和端口。 在浏览器可以直接测试一下服务。 在实际生产中要做的事情肯定不止这些如需要接入SLS日志服务汇总查询各项目打印的业务日志方便线上问题排查在监控这栏可以开通接入可观测 Prometheus 监控服务全链路跟踪Ingress域名路由转发异常通知cpu负载、慢SQL、磁盘空间监控、垃圾回收频率、服务宕机重启监控、http请求超时等。