首页 文章 精选 留言 我的

精选列表

搜索[Kubernetes],共7207篇文章
优秀的个人博客,低调大师

Kubernetes中将Delete类型的PV更新为Retain类型

回收策略 典型的StorageClass模板如下所示,通过reclaimPolicy 字段定义生成PV的回收策略: apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alicloud-disk-efficiency parameters: type: cloud_efficiency provisioner: alicloud/disk reclaimPolicy: Delete reclaimPolicy两种常用取值:Delete、Retain; Delete:表示删除PVC的时候,PV也会一起删除,同时也删除PV所指向的实际存储空间; Retain:表示删除PVC的时候,PV不会一起删除,而是变成Released状态等待管理员手动清理; 这两种配置各有

优秀的个人博客,低调大师

基于Kubernetes/Jenkins/Harbor/Sonarqube搭建微服务CICD系统

**项目说明** 14个JAVA spring cloud 微服务项目 5个Node项目 1个Node项目VUE生成静态页面做前端+nginx pgsql redis rabbitmq emqx 项目思维导图 **构建流程:** 一、项目软件搭建 1,K8S搭建(参考阿良部署文档:kubeadmin安装单主K8S集群) 2,jenkins搭建 https://jenkins.io/doc/book/installing/#fedora 3,Harbor搭建 https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md 4,Sonarqube搭建 sonarqube检测java项目:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven sonarqube检测node项目:https://www.npmjs.com/package/sonarqube-scanner 二、CICD系统中使用的资料 1,jenkins pipeline(JAVA服务的) node{ defmvnHome=tool'Maven' REGISTRY='hb.shubing.vip/k12soft' //environment{ //REGISTRY='hb.shubing.vip/k12soft' //} stage('PullCodefromGitlab.'){ gitbranch:'test_4',credentialsId:'1',url:'http://10.0.0.82:9999/k12soft/xxx.git' } stage('MavenPackageandSonar.'){ withMaven(jdk:'JDK'){ //defJAVA_HOME="/usr/lib/jdk1.8.0_121" sh"'${mvnHome}/bin/mvn'cleanpackage-e-U-Dmaven.test.skip=truesonar:sonar" //sh"'${mvnHome}/bin/mvn'-febase-api/pom.xmlcleanpackagesonar:sonar" } } stage('BuildDockerImage.'){ sh"sudodockerbuild-t$REGISTRY/${JOB_BASE_NAME}:${BUILD_ID}." } stage('PushDockerImagetoHarbor.'){ sh"sudodockerpush$REGISTRY/${JOB_BASE_NAME}:${BUILD_ID}" } stage('DeployK8SService.'){ sh"sudossh'root@10.0.0.102''cd/root/xtcloud&&shapply-config.sh${BUILD_ID}${JOB_BASE_NAME}'" dingTalkaccessToken:'https://oapi.dingtalk.com/robot/send?access_token=8241e530e0f2e68f74da6b78f893e2f526db4086a88e76de7348ddda101f13xx',imageUrl:'',jenkinsUrl:'',message:"构建&K8S发布成功!",notifyPeople:'' } } 2,jenkins pipeline(Node服务的) node{ REGISTRY='hb.shubing.vip/k12soft' stage('PullCodefromGitlab.'){ gitbranch:'zangyunji',credentialsId:'1',url:'http://10.0.0.82:9999/k12soft/xxx.git' } //stage('NodeInstallModules.'){ //sh"source/etc/profile.d/node.sh&&npmi" //} stage('NodeBuildandSonar.'){ sh"source/etc/profile.d/node.sh&&sonar-scanner" sh"source/etc/profile.d/node.sh&&npmruntsc" } stage('BuildDockerImage.'){ sh"sudodockerbuild-t$REGISTRY/${JOB_BASE_NAME}:${BUILD_ID}." } stage('PushDockerImagetoHarbor.'){ sh"sudodockerpush$REGISTRY/${JOB_BASE_NAME}:${BUILD_ID}" } stage('DeployK8SService.'){ sh"sudossh'root@10.0.0.102''cd/root/xtcloud&&shapply-config.sh${BUILD_ID}${JOB_BASE_NAME}'" dingTalkaccessToken:'https://oapi.dingtalk.com/robot/send?access_token=8241e530e0f2e68f74da6b78f893e2f526db4086a88e76de7348ddda101f13xx',imageUrl:'',jenkinsUrl:'',message:"构建&K8S发布成功!",notifyPeople:'' } } 3,dockerfile (JAVA服务的) FROMjava:8u111 MAINTAINERgongshubing@weds.com.cn #定义变量 ENVWORK_DIR/opt ENVLOG_DIR/data/logs EXPOSE8086 #从主机copy到容器里面 COPYtarget/bepf_archives.jar$WORK_DIR WORKDIR$WORK_DIR ENTRYPOINT["sh","-c"] CMD["java-server-Dspring.profiles.active=ops-Xmx512m-Xms256m-Xmn256m-XX:+UseG1GC-XX:+DisableExplicitGC-Duser.timezone=GMT+8-jar*.jar>/dev/null" ] 4,dockerfile(NODE服务的) FROMnode:10.15.3 MAINTAINERgongshubing@weds.com.cn #定义变量 ENVWORK_DIR/opt ENVLOG_DIR/data/logs ENVEGG_SERVER_ENVops EXPOSE8086 #从主机copy到容器里面 COPY./$WORK_DIR/ RUNsed-i's/\-\-daemon//g'$WORK_DIR/package.json WORKDIR$WORK_DIR ENTRYPOINT["sh","-c"] CMD["npmstart"] 5,K8S 编排yaml文件(所有项目编排文件一样,不同之处只有镜像URL/IP/PORT):pod中的日志文件写入nfs #deployment --- apiVersion:apps/v1 kind:Deployment metadata: name:xtcloud-appgateway-deployment labels: app:xtcloud-appgateway spec: replicas:1 selector: matchLabels: app:xtcloud-appgateway template: metadata: labels: app:xtcloud-appgateway spec: containers: -name:xtcloud-appgateway image:hb.shubing.vip/k12soft/xtcloud-appgateway:latest ports: -containerPort:8097 volumeMounts: -name:xtcloud-logs-persistent-storage mountPath:/data/logs volumes: -name:xtcloud-logs-persistent-storage nfs: path:/nfs server:10.0.60.67 imagePullSecrets: -name:weds-harbor-secret #service --- kind:Service apiVersion:v1 metadata: name:xtcloud-appgateway-service spec: clusterIP:192.168.1.15 selector: app:xtcloud-appgateway ports: -protocol:TCP port:8097 targetPort:8097 6,jenkins调用编排K8s脚本 #!/bin/bash TAG=$1 JOB_NAME=$2 #sed"s/latest/$TAG/"${JOB_NAME}.yml|kubectlapply-f- sed"s/latest/$TAG/"${JOB_NAME}.yml|kubectlreplace--force-f- 二、效果图

优秀的个人博客,低调大师

容器服务kubernetes虚拟节点实践一:Ingress + 虚拟节点

背景 在上篇关于虚拟节点的文章中,我们介绍了如何部署虚拟节点Chart及简单使用方法。在实际场景中,应用往往需要暴露Service或者Ingress让用户访问。这里我们将介绍如何使用虚拟节点支持Ingress后端应用的部署和扩容,利用ECI支撑Ingress应用的弹性扩容,使集群无需创建新节点即可为应用扩容“无限”容量,满足业务高峰低谷的弹性需求。实践步骤如下。 1. 部署虚拟节点 参照文章部署虚拟节点,完成后在节点页面可以看到新增的虚拟节点virtual-kubelet。 同时我们给namespace vk打上标签“virtual-node-affinity-injection: enabled”,表示其中的pod将会优先调度到虚拟节点上。 2. 在虚拟节点上部署Ingress应用 我们选择在vk namespace中部署一个简单的ingr

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册