k8s
文章平均质量分 93
运维个西瓜
这个作者很懒,什么都没留下…
展开
-
k8s技术预研5--Kubernetes集群的安全设置
一、基于HTTP BASE的简单认证方式各组件与apiserver之间的通信方式仍然采用HTTPS,但不使用CA数字证书。不建议在生产环境中这样使用。1、配置支持HTTP BASE认证在Master Node上创建/etc/kubernetes/basic_auth文件,文件中每行的格式为password,user,uid,"group1,group2,group3"。 [root@bogon k...原创 2018-02-28 20:58:42 · 945 阅读 · 0 评论 -
k8s技术预研11--kubernetes网络原理
关于k8s网络,我们通常有以下问题需要回答:k8s的网络模型是什么Docker背后的网络基础是什么Docker自身的网络模型和局限k8s的网络组件之间是怎么通信的外部如何访问k8s的集群有哪些开源的组件支持k8s的网络模型接下来的内容,就对以上问题的答案进行深入探究。1、k8s网络模型Kubernetes 网络模型设计的一个基础原则是:每个 Pod 都拥有一个独立的 IP 地址,而且假定所有 Po...原创 2018-06-11 08:45:18 · 11445 阅读 · 1 评论 -
k8s技术预研14--kubernetes API详解
1、kubernetes API概述Kubernetes API是集群系统中的重要组成部分,Kubernetes中各种资源(对象)的数据通过该API接口被提交到后端的持久化存储(etcd)中,Kubernetes集群中的各部件之间通过该API接口实现解耦合,同时Kubernetes集群中一个重要且便捷的管理工具kubectl也是通过访问该API接口实现其强大的管理功能的。Kubernetes AP...原创 2018-07-13 00:07:56 · 5720 阅读 · 0 评论 -
使用HTTPS访问Docker私有镜像仓库Harbor的配置方法
由于Harbor未附带任何证书,因此默认情况下使用HTTP来提供注册表请求。 但是,强烈建议为任何生产环境启用安全性。 Harbor有一个Nginx实例作为所有服务的反向代理,所以可以使用prepare脚本配置Nginx以启用https。 考虑到Docker服务访问Registry已经是默认使用https方式,我们并不希望因为使用Harbor作为镜像仓库,而去修改docker的启动参数。...原创 2018-09-12 20:08:52 · 3932 阅读 · 1 评论 -
容器、容器集群管理平台与Kubernetes技术漫谈
本文源自一次技术选型的工作中所收集、整理、调研和撰写的技术资料,发布于2018年11月12日。我们为什么使用容器?我们为什么使用虚拟机(云主机)?为什么使用物理机?这一系列的问题并没有一个统一的标准答案。因为以上几类技术栈都有自身最适用的场景,在最佳实践之下,它们分别都是不可替代的。原本没有虚拟机,所有类型的业务应用都直接跑在物理主机上面,计算资源和存储资源都难于增减,要么就是一直不...原创 2018-11-12 01:02:25 · 11549 阅读 · 1 评论 -
emptyDir、hostPath以及local volume都是Kubernetes的本地存储卷,那么有何不同?
Kubernetes支持几十种类型的后端存储卷,其中有几种存储卷总是给人一种分不清楚它们之间有什么区别的感觉,尤其是local与hostPath这两种存储卷类型,看上去都像是node本地存储方案嘛。当然,还另有一种volume类型是emptyDir,也有相近之处。在Docker容器时代,我们就对Volume很熟悉了,一般来说我们是通过创建Volume数据卷,然后挂载到指定容器的指定路径下,以实现...原创 2018-11-15 19:06:45 · 32075 阅读 · 1 评论 -
Calico on Kubernetes 从入门到精通
第一部分 How about CalicoAbout CalicoCalico为容器和虚拟机工作负载提供一个安全的网络连接。Calico可以创建并管理一个3层平面网络,为每个工作负载分配一个完全可路由的IP地址。 工作负载可以在没有IP封装或网络地址转换的情况下进行通信,以实现裸机性能,简化故障排除和提供更好的互操作性。 在需要使用overlay网络的环境中,Calico提供了IP-in-I...原创 2018-12-13 08:49:58 · 11033 阅读 · 2 评论 -
Kubernetes容器云网络插件厂商Calico刚刚发布了其v3.4版本
Calico作为Kubernetes生态系统中一个重要的网络解决方案厂商,以其网络插件功能的丰富性、灵活性和出众的性能所著称。Calico刚刚于2018年12月10号发布了其v3.4版本,在新版本中提供了以下的功能新特性和bug修复。Calico v3.4的组件版本下表显示了Calico v3.4的组件版本信息。ComponentVersioncalico/nodev...翻译 2018-12-11 10:48:12 · 1186 阅读 · 0 评论 -
Kubernetes容器云平台的部分重要服务的可用性监控设计与实现
Kubernetes服务组件相关的监控设计与实现检查工作节点物理主机的健康状态$ kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-node1 Ready <none> 46d v1.13.1k8s-node2 Ready <none> 46d v1.13.1k8s-node3 Ready <none>...原创 2019-02-02 21:29:16 · 2430 阅读 · 0 评论 -
kubernetes v1.13.1的容器集群版本升级至v1.14.0的技术实施方案
本文中的容器集群是基于CentOS7系统所搭建。新旧版本的功能差异了解一些版本间功能迭代变化,避免让自己入坑。1)默认RBAC策略不再授予对未经身份验证的用户的发现和权限检查API(由kubectl auth can -i使用)的访问权限。 升级的群集保留了先前的行为,但希望在新群集中授予未经身份验证的用户访问权限的集群管理员需要明确选择公开发现和/或权限检查API:kubectl c...原创 2019-04-02 21:54:54 · 1192 阅读 · 1 评论 -
怎样使用kubernetes的NetworkPolicy轻松为容器实现类似于传统云主机的安全组功能
对于我们经常使用的传统云平台来说,大家对云主机的安全组一定都非常熟悉。通过安全组我们可以控制和定制一组云主机的入口与出口的访问授权规则。在Kubernetes容器云中,NetworkPolicy的功能大体上就类似于openstack平台中的安全组的角色,同样是可以对容器和容器间的访问授权规则进行定制,相较于安全组而言,NetworkPolicy在定制规则上还提供了更多的灵活性。NetworkPo...原创 2019-05-10 00:43:29 · 669 阅读 · 0 评论 -
部署Harbor私有容器镜像仓库并配置Kubernetes从Harbor拉取镜像的方法
目前有两种部署Harbor的方法,其一是通过docker compose部署,其二是托管在Kubernetes平台之上。相比较而言,还是前一种方法更简洁易管理些,我们在这即使用方法一部署Harbor。然后重点介绍下怎样配置Kubernetes从Harbor拉取镜像。实验环境说明我们使用一套3节点部署的k8s环境,并且直接复用其中的节点3部署Harbor服务。[k8s@worker-node3...原创 2019-05-10 09:37:49 · 5933 阅读 · 2 评论 -
kubernetes容器云平台上一套简单易用的计算资源使用限制方案
默认情况下,我们都知道容器可以在Kubernetes群集上使用无限制的计算资源运行。 对于一个比较强调可靠性、可用性的技术平台来讲,这显然是不行的。在kubernetes中主要通过两个技术来实现资源使用上的限制:Resource Quotas 资源使用配额管理Limit Ranges 资源数量使用限制当多个用户或团队共享具有固定数量节点的群集时,可能会担心一个团队...原创 2019-05-15 20:02:04 · 480 阅读 · 0 评论 -
Dockerfile:设计一个满足开发测试使用需求的mysql容器镜像
这是一个设计为满足开发测试需求的docker容器镜像Dockerfile文件。测试和调试工作中对测试机的使用需求,更希望我们的测试容器是一个瑞士军刀,所以没有把控制镜像文件的体积大小作为重点。最终交付的容器镜像,体积为1.72GB。使用centos6作为基础镜像,集成安装和配置了基础工具包和依赖包,设置中文支持、时区,以及对系统参数进行了适当调优,安装了mysql5.6.30数据库。为便于开发调...原创 2019-05-27 00:09:08 · 242 阅读 · 0 评论 -
Dockerfile:设计一个满足开发测试需求的SQLServer容器镜像
本文是基于为k8s平台上,开发测试业务设计的一个运行微软SQL Server 2017数据库服务的容器镜像。容器镜像设计重点是满足开发测试工作的使用需求,其次是尽量控制镜像文件大小,最终交付的镜像文件体积为1.82GB。本示例是使用CentOS7作为基础镜像,安装和配置了SQL Server 2017服务,数据库服务配置为采用developer许可。注意:由于CentOS7中使用system...原创 2019-05-27 00:51:36 · 793 阅读 · 0 评论 -
Dockerfile:一键创建个Oracle数据库容器怎么样?
答案是:做梦好啦,开个玩笑。虽然不能使用Dockerfile一键生出个活蹦乱跳的oracle baby,但离实现这个梦想的距离也只是多出两个步骤而已。下面跟我一起看看梦想是怎么实现的吧。准备下安装资源oracle12c安装包:linuxx64_12201_database.zipOracle深耕中国市场几十年了,着实没法理解近期把中国研究院一锅端的决策。中国大陆地区,虽然你在使用orac...原创 2019-05-31 00:54:41 · 1970 阅读 · 1 评论 -
k8s技术预研13--kubernetes共享存储原理与动态存储供应用使用示例
1、共享存储机制概述Kubernetes对于有状态的容器应用或者对于数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机的目录或者emptyDir临时存储卷,而且需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后,仍然可以使用之前的数据。不过,存储资源和计算资源的管理方式完全不同。为了能够屏蔽底层存储实现细节,让用户方便使用,同时能让管理员方便管理,k8s从v1.0版本就引入了...原创 2018-07-03 21:23:57 · 3282 阅读 · 0 评论 -
k8s v1.10部署笔记
本文是根据最近一份github上很不错的部署教程所做的验证部署测试,不同之处在于原教程中是3节点,而这里共使用了4个节点。Github上的教程地址如下所示,推荐大家参照原作者文章进行自己的实验。在本文中遇到的一些问题,也已经反馈至github issue或讨论中,同时也有很多其他网友反馈遇到或发现的一些问题,其中大部分问题都已经在github教程中得到了校正。https://github.com/...原创 2018-07-02 00:40:56 · 40917 阅读 · 3 评论 -
k8s技术预研1--通过一个简单实例认识k8s基础概念知识
一、Kubernetes基础知识1、在Kubernete中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征拥有一个唯一指定的名字。 拥有一个虚拟IP和端口号。 能够提供某种远程服务能力。 被映射到了提供这种服务能力的一组容器应用上。 Service是从应用视角观察得到的。2、什么是Pod对象把为Service提供服务的一组进程放入容器中进行隔离,...原创 2018-02-21 02:15:28 · 5717 阅读 · 6 评论 -
k8s技术预研6--Kubernetes集群kubectl命令的常见使用方法
简介:kubectl是一个命令行界面,用于运行针对Kubernetes群集的命令。语法:kubectl [command] [TYPE] [NAME] [flags]command:指定您希望对一个或多个资源执行的操作,例如创建,获取,描述,删除。TYPE:指定资源类型。 资源类型区分大小写,可以使用单数,复数或缩写形式。NAME:指定资源的名称。 名称区分大小写。 如果省略名称,则会显示所有资源...原创 2018-03-01 14:32:23 · 2867 阅读 · 0 评论 -
k8s技术预研2--Kubernetes中的13项重要概念或术语
Node,Pod,Replication Controller,Service等都是k8s中的一种“资源对象”,都可以通过工具kubectl执行增、删、改的管理操作。其配置结果是保存在etcd中。k8s就像是一个自动化的资源控制系统,通过对etcd库中保存的资源期望状态和实际资源状态进行差异对比,来发现、控制和进行“纠错”。1、k8s集群管理角色——Master每个k8s集群里需要一个Master...原创 2018-02-22 12:17:26 · 5288 阅读 · 1 评论 -
k8s技术预研3--使用kubeadm安装、配置Kubernetes集群以及进行故障排查的方法
一、软硬件环境采用CentOS7.4 minimual,docker 1.12,kubeadm 1.7.5,etcd 3.0, k8s 1.7.6本章节以下配置内容需要在全部节点上都做配置。我们这里仅选用两个节点搭建一个实验环境。设置主机节点的主机名,在/etc/hosts中配置好映射关系:10.0.2.15 gqtest1.future10.0.2.4 gqtest2.future配置...原创 2018-02-23 20:31:48 · 4884 阅读 · 1 评论 -
docker使用指南
目录1、创建docker image2、创建一个自己的docker hub account并上传镜像3、docker常用命令4、docker的数据卷管理5、docker的存储配置方案6、docker容器的网络管理7、配置docker容器成为系统自启动服务8、创建一个预编译安装了mysql5.6+jdk1.7+tomcat7的centos6.8系统dockerfile9、docker容器的cpu和内...原创 2016-09-10 11:51:17 · 4355 阅读 · 0 评论 -
在centos7上安装docker1.12
1、前提条件docker的安装要求64位系统且内核版本大于3.10。所以如果是centos的话,必须安装CentOS7.0或以上版本。我们这里使用的是CentOS7.2 mininul。uname -r3.10.0-327.28.3.el7.x86_64安装docker前执行一下全系统的软件版本升级:yum -y update2、配置docker yum repotee /etc/yum.repo...翻译 2016-09-05 00:59:39 · 3665 阅读 · 0 评论 -
k8s技术预研4--以二进制方式安装Kubernetes集群
本文讲解使用二进制文件方式安装k8s集群的方法。部署的是Kubernetes v1.8.8。先从k8s官网找到对应的版本号,单击CHANGELOG,找到安装包的下载链接。或者直接点击下面的链接进去。https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#downloads-for-v188从页面表格中找到Serve...原创 2018-02-25 04:40:43 · 3464 阅读 · 4 评论 -
混合云之:云主机+docker容器+静态ip地址+使用专有线路访问远程yum源安装软件
这里的使用场景为混合云。一部分系统和网络环境位于IDC托管机房中, 其中部署了公司内部的yum安装源。另一部分资源是位于另一个机房中的云平台中,其中使用云主机运行docker容器,以提高云主机的资源利用率,以及提高工作效率等。两套系统环境之间配置了加密通信线路打通了两端的私网。以下配置可以达到几个目的:可以在容器系统中使用加密线路访问远程yum源安装软件; 可以在容器中使用我们指定的IP...原创 2019-08-31 00:48:15 · 1939 阅读 · 0 评论 -
k8s技术预研7--深入掌握Kubernetes Pod
目录1、Yaml格式的Pod定义文件完整模板详解 2、Pod的基本用法 2.1 由1个容器组成的Pod示例 2.2 由两个为紧耦合关系的容器打包组成的Pod示例 3、静态Pod 3.1 配置文件方式 3.2 HTTP方式 4、Pod容器共享Volume 5、Pod的配置管理 5.1 ConfigMap概述 5.2 使用ConfigMap的局限 ...原创 2018-03-13 02:17:33 · 4143 阅读 · 6 评论 -
k8s技术预研8--深入掌握Kubernetes Service
本文内容已经基于k8s v1.8.8进行了验证测试。k8s的Service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,来自外部的访问请求被负载均衡到后端的各个容器应用上。Service与其后端Pod副本集群之间则是通过Label Selector来实现对接的。而RC的作用相当于是保证Service的服务能力和服务质量始终处于预期的标准。Ser...原创 2018-03-26 10:00:15 · 9197 阅读 · 0 评论 -
k8s技术预研9--Kubernetes核心组件运行原理分析
1、Kubernetes API Server原理分析Kubernetes API Server的核心功能是提供了Kubernetes各类资源对象(如Pod、RC、Service等)的增、删、改、查及Watch等HTTP Rest接口,成为集群内各个功能模块之间数据交互和通信的中心枢纽,是整个系统的数据总线和数据中心。除此之外,它还有以下一些功能特性:是集群管理的API入口。是资源配额控制的入口。...原创 2018-04-07 01:41:55 · 2327 阅读 · 0 评论 -
k8s技术预研10--深入分析kubernetes集群安全机制
Kubernetes过一系列机制来实现集群的安全机制,包括API Server的认证授权、准入控制机制及保护敏感信息的Secret机制等。集群的安全性必须考虑以下的几个目标:(1)保证容器与其所在宿主机的隔离;(2)限制容器给基础设施及其他容器带来消极影响的能力;(3)最小权限原则,合理限制所有组件的权限,确保组件只执行它被授权的行为,通过限制单个组件的能力来限制他所能到达的权限范围;(4)明确组...原创 2018-04-24 09:25:05 · 2419 阅读 · 0 评论 -
使用二进制安装包部署kubernetes v1.9.8集群的参考手册
本次部署使用3个节点:Master节点,10.0.2.15Node1节点,10.0.2.4 docker0网桥默认地址手动配置为:172.16.10.1/24Node2节点,10.0.2.5 docker0网桥默认地址手动配置为:172.16.20.1/24使用二进制文件方式安装k8s集群的方法。部署的是Kubernetes v1.9.8。https://storage.goo...原创 2018-05-24 19:56:29 · 5441 阅读 · 3 评论 -
k8s技术预研12--kubernetes的常见开源网络组件
1、开源的网络组件k8s的网络模型假定了所有Pod都在一个可以直接连通的扁平的网络空间中。这是因为k8s出自Google,而在GCE里面是提供了网络模型作为基础设施的,所以k8s就假定这个网络已经存在。而在大家私有的平台设施里搭建k8s集群,就不能假定这种网络已经存在了。我们需要自己实现这个网络,将不同节点上的Docker容器之间的互相访问先打通,然后运行k8s。目前已经有多个开源组件支持容器网络...原创 2018-06-17 19:30:43 · 6082 阅读 · 0 评论 -
容器安装oracle11g时dbca建库程序会在执行到76%的时候报错挂起的问题
问题的现象当我们在Docker容器中安装和创建oracle11g数据库时,可以成功安装软件、成功配置网络服务监听,但是在执行dbca建库程序时会在执行到76%左右的时候报错挂起。虽然反复换了多个环境,包括把基础镜像系统从centos7换到centos6,最终问题的现象是一致的,即卡在进度条76%的地方就僵死掉了。我们使用的oracle版本是11.2.0.30。以相同的方式和环境条件安装orac...原创 2019-08-26 21:14:40 · 2269 阅读 · 0 评论