一条命令解决Kubernetes更改默认的namespace
K8S默认是在default的namespace下,但是很多时候我们是在一个新的namespace下部署应用,每个操作都需要指定namespace,非常不方便。那么有没有办法切换namespce呢?如果可以切换的话,那有没有更简单的办法。
最简单的方式切换namespace,赠送一个方便的脚本可以将它alias到一个新的命令”kubectl ns”
12$ alias kubectl='_kubectl_custom(){ if [[ "$1" == "project" && "$2" != "" ]]; then ccontext=`kubectl config current-context`; kubectl config set-context $ccontext --namespace=$2; elif [[ "$1" == "projects" && "$2" == "& ...
下载国外资源加速器
axel
https://github.com/axel-download-accelerator/axel
云原生简介
什么是云原生云原生(Cloud Native)的概念由Pivotal的Matt Stine于2013年首次提出。它是Matt Stine根据多年的架构和咨询经验总结出来的一个思想集合,并得到社区的不断完善和补充,包括DevOps、持续交付、微服务、敏捷基础设施和12要素等几大主题。包括根据业务能力对公司进行文化、组织架构的重组与建设、方法论与原则、还有具体的操作工具。将云计算从传统的以资源为中心,改变为以应用为中心,聚焦于业务,从而满足应用快速迭代的要求。
CNCF(Cloud Native Computing Foundation)云原生计算基金会2015年把云原生定义为三个方面
应用容器化
面向微服务架构
应用支持容器的编排调度
随着CNCF中的项目越来越多,原先的定义已经限制了云原生生态的发展,于是更新了定义
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能 ...
从0开始构建CI-CD持续集成流水线[Openshift]
开始前的话
完成一只大象装进冰箱需要几步?三步: 1. 有一个冰箱;2. 有一只大象;3. 把大象装进冰箱
构建CI/CD流水线[Openshift]需要几步?三步: 1. 有Openshift平台;2. 部署CI/CD流水线应用;3. 启动流水线
企业生产系统迁移至容器云平台的众多难题
该篇是twt论坛交流活动《企业生产系统迁移至容器云平台的网络及安全方案探讨—暨红帽容器化混合云解决方案在线发布活动》的总结。原文:http://www.talkwithtrend.com/Article/245665活动地址:http://www.talkwithtrend.com/activity/?id=1459
自从2013年Docker应用开源以来,容器技术飞速发展,它彻底改变了PaaS原先的发展轨迹。2014年Google发布的容器编排应用Kubernetes,经过5年的发展,更是已经成为了现代容器平台的事实标准,容器平台应用于生产环境也已经现实可落地。
与之前的虚拟技术相比,容器技术具有更快、更轻、更强的优势。
更快,体现在容器可以实现秒级启动。
更轻,体现在容器更加轻量,往往一个容器镜像只有几十兆,可以快速在主机之间迁移,而虚拟机镜像往往是几个G。
更强,体现在容器的性能更好。容器是直接调用硬件资源,不存在虚拟化层,所以它的性能接近于原生应用。
容器以应用为中心,能够快速地在各个平台下部署运行,可以很好地满足应用的快速部署。
但是容器运行时使用的是宿主机的内核,在同一台 ...
企业级容器云平台建设之功能汇总
多集群管理与运维
多区建设(DMZ/业务区/核心区)
应用商店(模板管理、Operator管理等)
集群监控、告警、日志管理
权限管理,多租户管理/账号管理
管理员资源分配
资源列表及管理
应用管理,部署/更新/下线
应用多集群部署,灰度发布、蓝绿部署
应用网络方案/存储/运行权限/南北流量方案选择
NodePort端口管理
网络隔离策略控制
集群边界路由管理
DNS域名申请管理
自动化运维,集群巡检,集群扩缩容,集群备份
审批流程管理
审计管理
DevOps流水线
容器安全与镜像安全
业务网与管理网,多网络平面
外部负载均衡管理器
镜像仓库,高可用,多区域镜像仓库同步
镜像仓库漏洞扫描、镜像签名
应用日志管理
APM应用性能监控
企业级容器云平台建设之资源管理
计算资源管理
多租户权限管理
多集群管理,及集群大小
资源配额与资源限制管理
NodePort端口号管理
网络资源管理
网络业务网、管理网、存储网分离
网卡做bond,提高网络可靠性
网络方案选型
网络策略NetworkPolicy机制
集群边界路由器管理(Ingress/Route)
集群DNS域名服务管理
存储资源管理
存储PV选型,动态/静态
存储类型,hostpath/local/NFS/Ceph/Solidfile等
镜像资源管理
镜像生命周期管理 ,创建/查询/更新/删除
镜像库多租户权限管理
远程复制管理,至少两级镜像库设置,总镜像库/子镜像库
镜像库操作审计管理
镜像漏洞安全扫描
镜像签名
补充说明在企业级容器平台建设中,资源管理只是其中的基础部分,另外还需要考虑:监控、告警、日志管理以及运维、安全、审计等方面。
来自:《Kubernetes权威指南:企业级容器云实战》
企业级容器平台OpenShift介绍
随着移动互联网生态的兴起,传统银行面临跨界竞争,在电子商务支付、消费金融、商业融资的新的业务场景下面临严峻的挑战,数字化转型的需求日益迫切。在这场技术转型的浪潮下,各大银行积极推进科技改革,拥抱云计算,以适应市场不断的变化。随着容器技术的成熟,一个以Kubernetes容器编排引擎为核心的生态圈已经形成,互联网、金融、汽车等各企业都积极投入容器技术的应用中。容器云平台的建设已经被认为是云计算落地的一种快捷的方式。说到容器云平台,就不得不提当前容器调度与编排的事实标准——Kubernetes。Kubernetes通过定义基础资源(容器、存储、网络)的协议接口,为底层基础设施提供了统一的管理方式。研发人员通过声明的方式定义资源编排文件,Kubernetes便通过自身组件自动完成资源的申请与分配,快速实现应用的部署。Kubernetes为容器的管理调度,应用的编排提供了便利,它无所不能,但是在建设企业级容器平台时,我们需要在以Kubernetes为核心的前提下,整合其他组件,例如网络插件、应用访问入口、存储实现、监控、日志、镜像仓库等。如图一所示。OpenShift正是基于Kubernete ...
使用ArgoCD实现多集群自动部署
什么是Argo CD?Argo CD是用于Kubernetes的声明性GitOps连续交付工具,其优势为:
通过声明式定义应用、配置及环境信息,并且可以通过代码仓库实现版本控制
可通过自动或手动的方式同步应用到配置的期望状态
支持应用在多个环境、多个Kubernetes集群进行统一部署和管理
有UI及CLI多种方式,UI提供应用状态的可观测性,CLI方便与其它持续集成系统对接
支持多种SSO(OIDC,OAuth2,LDAP,SAML 2.0,GitHub,GitLab,Microsoft,LinkedIn)
支持Prometheus监控指标
参考文章https://www.openshift.com/blog/openshift-authentication-integration-with-argocdhttps://www.openshift.com/blog/introduction-to-gitops-with-openshifthttps://argoproj.github.io/argo-cd/
利用Openshift中的cronjob-+-zalenium实现网站监控
背景介绍有一个网站(pf.apps.example.com),会获取主机的信息,但是主机信息的格式不统一,而且经常性会添加机器,但是信息又是不确定的,所以有时添加新机器会缺失字段,导致网站异常。
有两种解决方法,
优化代码,提高代码的兼容性,不致于导致页面无法显示。
严格规范字段的输入,必须保证字段的完整性。
不管哪种方法,我们都需要在页面出现故障时第一时间知道。这就要求编写代码自动监测网站相关页面的可用性,一旦出现问题,及时发邮件告知,第一时间恢复。
有使用到上篇介绍的zalenium Openshift部署zalenium(容器化的selenium)及Python自动测试
编写监控脚本监控脚本使用selenium控制浏览器,先模拟登录,再访问需要测试的页面,如果页面正常打开则正常,否则发邮件告警。(由于这个网站的每个页面都有id=content的一个div,所以通过检测页面中是否存在id=content的div来判断页面是否正常)monitor.py
123456789101112131415161718192021222324252627282 ...