fabric8 API操作ConfigMap
/** * 构建ConfigMap对象 * @param ku8ConfigMap */ public void createConfigMap(Ku8ConfigMap ku8ConfigMap) { k8sAPIService.createConfigMap( ku8ConfigMap.getNamespace(), new ConfigMapBuilder() .withKind("ConfigMap") .withApiVersion("v1") .withNewMetadata() .withName(ku8ConfigMap.getName()) .withNamespace(ku8ConfigMap.getNamespace()) .endMetadata() .withData(ku8ConfigMap.getData()) .build() ); }
/** * 创建ConfigMap * @param namespace * @param configMap * @return */ public ConfigMap createConfigMap(String namespace, ConfigMap configMap) { return getClient().configMaps().inNamespace(namespace).create(configMap); }
package com.***.entity; import javax.xml.bind.annotation.XmlRootElement; import java.io.Serializable; import java.util.Date; import java.util.Map; @XmlRootElement public class Ku8ConfigMap implements Serializable { private static final long serialVersionUID = -2929072646302058679L; private Integer configMapId; private String name; private Integer namespaceId; private Date createTime; private Date updateTime; private Map<String, String> data; private String namespace; public Integer getConfigMapId() { return configMapId; } public void setConfigMapId(Integer configMapId) { this.configMapId = configMapId; } public Integer getNamespaceId() { return namespaceId; } public void setNamespaceId(Integer namespaceId) { this.namespaceId = namespaceId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public Map<String, String> getData() { return data; } public void setData(Map<String, String> data) { this.data = data; } public String getNamespace() { return namespace; } public void setNamespace(String namespace) { this.namespace = namespace; } }
// 遍历需要挂载的ConfigMap列表 for (VolumeDto confMap : ku8ConfMapArray) { ConfigMap f8ConfigMap = k8sAPIService.getConfigMapByName(namespace, confMap.getName()); if (f8ConfigMap == null) { throw new BusinessException("cant find configMap:" + confMap.getName()); } for (Container f8Container : f8Containers) { // 遍历需要创建的容器 List<VolumeMount> f8VolumeMounts = f8Container.getVolumeMounts(); if (f8VolumeMounts == null) { f8VolumeMounts = new ArrayList<VolumeMount>(); } // 在容器中挂载ConfigMap VolumeMount f8VolumeMount = new VolumeMountBuilder().withName(confMap.getName()).withMountPath(confMap.getPath()).build(); f8VolumeMounts.add(f8VolumeMount); f8Container.setVolumeMounts(f8VolumeMounts); } // 将ConfigMap挂载为pod的一个volume List<KeyToPath> f8KeyToPathList = new ArrayList<KeyToPath>(); f8ConfigMap.getData().forEach((k, v) -> f8KeyToPathList.add(new KeyToPathBuilder().withKey(k).withPath(k).build())); // key既为键名称又作为挂载结果的文件名称 Volume f8Volume = new VolumeBuilder().withName(confMap.getName()).withNewConfigMap().withName(confMap.getName()).withItems(f8KeyToPathList).endConfigMap().build(); f8Volumes.add(f8Volume); }
查看创建成功的pod:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何在阿里云容器服务上搭建Jenkins X
"Jenkins X is a CI/CD solution for modern cloud applications on Kubernetes." 这是Jenkins社区对于Jenkins X 的官方总结和定义。显而易见,它是一套以Jenkins作为核心发动机,以GitOps作为方法论,集成了nexus, docker-registry 和chartmuseum 等一系列交付标准存储组件的持续集成和持续交付解决方案。 下面我们讲介绍如何在阿里云容器服务上快速安装Jenkins X。 首先,需要在 阿里云容器服务控制台 创建一个香港集群,如果创建的集群只有一个worker节点,建议添加一台配置不低于8C16G的ECS。 进入集群管理页面,找到 “Master 节点 SSH 连接地址”,SSH登录Master。 安装 git。yum
- 下一篇
如何在主机上进入容器
一、进入容器网络 step1、docker inspect -f ‘{{.State.Pid}} ‘ 容器id 8848 step2、ls -li /proc/8848/ns/net /proc/8848/ns/net -> net:[4026536068] Step3、ls -li /var/run/docker/netns/ 4026536068 154c4c4c051e Step4、nsenter --net=/var/run/docker/netns/154c4c4c051e
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Mario游戏-低调大师作品
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能