Deploy

实操教程丨使用Pod安全策略强化K8S安全

岁酱吖の 提交于 2020-03-20 23:18:47
3 月,跳不动了?>>> 本文来自 Rancher Labs 什么是Pod安全策略? Kubernetes Pod安全策略(PSP)是Kubernetes安全版块中极为重要的组件。Pod安全策略是集群级别的资源,用于控制Pod安全相关选项,并且还是一种强化Kubernetes工作负载安全性的机制。Kubernetes平台团队或集群运维人员可以利用它来控制pod的创建以及限制特定的用户、组或应用程序可以使用的功能。 举个简单的例子,使用PSP你可以: 防止特权Pod启动并控制特权升级。 限制Pod可以访问的主机命名空间、网络和文件系统 限制可以运行pod的用户/组。 限制Pod可以访问的Volume 限制其他参数,如运行时配置文件或只读根文件系统 在本文中,我们将向你展示在Rancher中如何通过启用一个简单的Pod安全策略来强化你的Kubernetes安全。 Pod安全策略真的可以增强K8S的安全性吗? 是的,Pod安全策略确实可以增强Kubernetes的安全性。它提供了Kubernetes原生控制机制,可以防止威胁而不影响性能,这与agent必须拦截主机上的每个动作有所区别。 如果你尚未在集群中启用PSP(或执行访问控制之类的等效方法),则Kubernetes用户可能会生成特权集群。这将会被恶意利用,例如提升特权进而突破容器隔离并访问其他Pod/服务。 如果没有限制Pod

如何发布jar包到maven中央仓库详细教程

余生颓废 提交于 2020-03-12 13:02:32
介绍 java开发中没少用各种jar包,特别是使用maven,gradle 构建工具,方便有效。总是只取不予,也应该懂得奉献,当你写好了一个十分好用的jar包,想贡献出去给大家使用的时候,应该怎么做呢?当然是发布到maven的中央仓库了 开始要注意这个几个Maven相关地址 : 工单管理 : https://issues.sonatype.org 就是申请上传资格和groupId 的地方,注册账号、创建和管理issue,Jar包的发布是以解决issue的方式起步的 构件仓库 : https://oss.sonatype.org/#welcome 把jar包上传到这里,Release 之后就会同步到maven中央仓库。 仓库镜像 : http://search.maven.org/ 最终工件可以在这里搜索到。 操作 注册工单管理(register sonatype) 第一访问 工单管理 界面,需要提前注册(sign up), 它是工单管理和构建仓库身份验证.点击"Sign up " 创建工单(nexus) 点击header 头 “create”按钮创建一个工单,主要用途注册你上传jar包基本信息,主要groupid,通过审核有两个目的:1.防止重复,约束groupid规范,定义grupid最好有所属的域名 比如:你申请 com.hippo 那么你最有有hippo.com

Deploy != Release(第一部分):部署与发布的区别,以及为什么这很重要

吃可爱长大的小学妹 提交于 2020-03-12 12:57:42
Deploy != Release(第一部分):部署与发布的区别,以及为什么这很重要 Apr 19, 2018 翻译自: Deploy != Release (Part 1): The difference between deploy and release and why it matters. 问:「最新版本部署了吗?」 答:「我在生产环境里部署了 gif 动图支持。」 问:「就是说 gif 动图支持已经发布啦?」 答:「Gif 动图的发布版本已经部署了。」 问:「……」 我曾在很多公司工作过,在这些公司中「部署(deploy,动词)」、「部署物(deployment,名词)」、「上线(ship)」和「发布(release)」都是随意地使用,甚至可以互换使用。作为一个行业,我们在规范使用这些术语方面做得还不够,尽管我们在过去的十多年里已经从根本上改进了运维实践和工具。在 Turbine Labs 中,我们使用了「上线」、「部署」、「发布」和「回滚(rollback)」的精确定义,并花了大量的时间来思考当你把「发布」作为上线过程的一个独立阶段时,世界是什么样子的。在这篇文章的第一部分,我会分享这些术语的定义,描述一些常见的「部署 == 发布」的实践,并且解释为什么这样做的抗风险性很差。在第二部分,我会描述当「部署」和「发布

k8s 安装应用

喜欢而已 提交于 2020-03-12 09:47:14
项目迁移到k8s的流程 1 制作镜像 2 控制器管理pod 3 暴露应用 4 对外发布应用 5 日志监控 maven 编译java应用 创建完镜像后 docker image docker login docker push lizhenliang/java-demo docker search lizhenliang 部署应用 kubectl create deployment java-demo --image=lizhenliang/java-demo --dry-run -o yaml > deploy.yaml 删除再拉取镜像 创建service的yaml pod存在的意义 pod实现机制 1 共享网络 1个pod里多个容器 公用一个ip地址 2 共享存储 数据卷 pod容器分类与设计模式 deployment控制器功能及使用场景 来源: oschina 链接: https://my.oschina.net/shunshun/blog/3192311

开发函数计算的正确姿势——轻松解决大依赖部署

廉价感情. 提交于 2020-03-06 14:56:47
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute) : 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考 。 Fun : Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考 。 NAS : 阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。在函数计算的场景中,由于其有代码包的限制,可以使用 NAS 存放一些不经常变动的文件,比如数据模型、静态资源等。 参考 。 ROS : 阿里云资源编排服务(ROS)助您简化云计算资源的管理。您可以遵循ROS定义的模板规范,在模板中定义所需云计算资源的集合及资源间依赖关系。ROS自动完成所有资源的创建和配置,实现自动化部署和运维。更多文档 参考 。 备注: 本文介绍的技巧需要 Fun 版本大于等于 3.4.0。 基本上所有的 faas 平台为了优化函数的冷启动,都会加入代码包的限制。阿里云 函数计算 (FC)也不例外。FC

maven 打包上传 jar 到私有服务器

久未见 提交于 2020-03-02 09:14:13
maven 的 setting.xml修改,添加私有服务器配置,如下: id可以随便写,但是账号密码要对,账号密码需要有上传jar的权限 在项目根目录的pom.xml中,添加私有仓库地址,如下 注意此处的id 需要和setting.xml 中的id对应 配置完成后,运行命令:mvn clean deploy 发布 jar 成功。 提示: 如需同时发布 jar 和源码,需要在pom.xml中添加源码打包插件,代码如下: 来源: oschina 链接: https://my.oschina.net/u/2328490/blog/3124646

Kubernetes 弹性伸缩全场景解读(五)

回眸只為那壹抹淺笑 提交于 2020-03-01 17:12:25
作者| 阿里云容器技术专家刘中巍(莫源) 导读 :Kubernetes弹性伸缩系列文章为读者一一解析了各个弹性伸缩组件的相关原理和用法。本篇文章中,阿里云容器技术专家莫源将为你带来定时伸缩组件 kubernetes-cronhpa-controller 的相关介绍与具体操作,目前该组件已经正式开源,欢迎大家一起交流探讨。 前言 容器技术的发展让软件交付和运维变得更加标准化、轻量化、自动化。这使得动态调整负载的容量变成一件非常简单的事情。在 Kubernetes 中,通常只需要修改对应的 replicas 数目即可完成。当负载的容量调整变得如此简单后,我们再回过头来看下应用的资源画像。 对于大部分互联网的在线应用而言,负载的峰谷分布是存在一定规律的。例如下图是一个典型 web 应用的负载曲线。从每天早上 8 点开始,负载开始飙高,在中午 12 点到 14 点之间,负载会回落;14 点到 18 点会迎来第二个高峰;在 18 点之后负载会逐渐回落到最低点。 资源的波峰和波谷之间相差 3~4 倍左右的容量,低负载的时间会维持 8 个小时左右。如果使用纯静态的容量规划方式进行应用管理与部署,我们可以计算得出资源浪费比为 25% (计算方式: 1 - (1 8+4 16)/4 24 = 0.25 )。而当波峰和波谷之间的差别到达 10 倍的时候,资源浪费比就会飙升至 57% (计算方式: 1

【maven】在PowerShell窗口下执行maven命令行报错:Unknown lifecycle phase ".test.skip=true".

☆樱花仙子☆ 提交于 2020-02-28 01:05:43
在PowerShell窗口下执行maven命令行报错:Unknown lifecycle phase “.test.skip=true”. 不说废话,先展示错误信息 [ERROR] Unknown lifecycle phase “.test.skip=true”. You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify,

将idea中的springboot项目部署到远程的docker容器

末鹿安然 提交于 2020-02-27 21:51:10
1、在idea中创建项目,如下图 2、配置docker maven plugin <!-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <forceTags>true</forceTags> <dockerHost>http://192.168.132.129:2375</dockerHost> <imageName>${project.groupId}/${project.build.finalName}</imageName> <workdir>/</workdir> <baseImage>java</baseImage> <cmd>["java", "-version"]</cmd> <entryPoint>["java", "-jar", "./${project.build.finalName}.jar"]</entryPoint> <dockerDirectory>${project.basedir}/</dockerDirectory> <resources> <resource> <targetPath>/<

shell 命令

删除回忆录丶 提交于 2020-02-27 16:07:49
1. stop.sh keyword="cc-admin-web/current" ps -ef|grep $keyword |grep -v "grep" |awk '{cmd="kill "$2;system(cmd)}' 2. start.sh keyword="cc-admin-web" nohup java -Xms64m -Xmx128m -jar /data/deploy/$keyword/current --spring.config.location=file:/data/deploy/$keyword/ >/data/deploy/$keyword/output.log 2>&1 & 注释说明: 0 标准输入(一般是键盘) 1 标准输出(一般是显示屏,是用户终端控制台) 2 标准错误(错误信息输出) 将运行的jar 错误日志信息输出到 output.log文件中,然后(>&1)就是继续输出到标准输出(前面加的&,是为了让系统识别是标准输出),最后一个&,表示在后台运行。 3. restart.sh sh ./stop.sh sh ./start.sh 来源: oschina 链接: https://my.oschina.net/u/3999823/blog/3176101