- 博客(68)
- 资源 (2)
- 收藏
- 关注
原创 openshift/origin学习记录(6)——集群节点管理
采用Cockpit实现集群节点管理。Cockpit是一个开源的系统管理项目。支持Docker、Kubernetes、Openshift。安装Cockpit在集群所有的节点上安装Cockpit以及Docker、Kubernetes插件。# yum install -y cockpit cockpit-docker cockpit-kubernetes在集群的所有节点上启动Cockpit服务,并
2017-09-15 15:44:46
3262
原创 openshift/origin学习记录(0)——Ansible安装多节点openshift集群
本节内容是基于Ansible Playbook自动部署openshift集群,之后几节内容会通过一个AllInOne的集群手动添加组件,研究实现的流程。本部分内容是3.6.0,可能不适用3.6.1本部分openshift集群的部署分为以下几个阶段:主机准备。准备openshift集群需要的主机。安装前预配置。准备相应的系统配置与软件依赖。执行安装。使用Ansible Playb
2017-09-13 09:50:20
10989
1
原创 Docker学习记录(2)——JAVA应用容器化(JAVA博客应用Solo)
以GitHub上一个开源JAVA博客应用为例,地址为:https://github.com/b3log/solo。它的项目结构是基于Maven的要求布置的,通过Maven可以编译和构建WAR包。执行容器化的环境为CentOS7.2。安装源代码工具Git与构建工具Maven。# yum -y install git maven从GitHub上下载JAVA应用源代码。# mkdir /opt/j
2017-09-12 09:13:08
1830
原创 openshift/origin学习记录(5)——添加Template(模板)并基于模板部署应用
学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行。添加模板为了满足用户对复杂应用部署的需求,提供应用部署的效率,openshift引入了应用部署模板(Template)的概念。通过Template,可以定义一个或多个需要部署的镜
2017-09-11 15:33:03
6193
9
原创 openshift/origin学习记录(4)——添加Image Stream
学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行。Image Stream是一组镜像的集合,可以在一个Image Stream中定义一些名称及标签(tag),并定义这些名字及标签指向的具体镜像。使用Image Stream的目的
2017-09-11 15:00:45
5247
原创 openshift/origin学习记录(3)——添加Registry
本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行该部分是部署集群内部的Docker镜像仓库。从功能上来说,它与其他诸如DockerHub没有本质上的区别,只是这个内部镜像仓库会存储由Source to Image(S2I)创建的镜像。S2I的工作是辅助将应用的源代码转换成可以部署的Docker镜像。以管理员登录,并切换到default工程。#
2017-09-08 16:37:09
5809
原创 openshift/origin学习记录(2)——添加Router组件
本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行Router是openshift集群中的一个重要组件,它是外部访问集群内容器应用的入口。集群外部的请求都会到达Router,由Router分发到具体的容器中。Router组件需要读取集群的信息,所以它需要关联一个系统账号Service Account,并为这个账号授权。以下操作基于oc(命令行客户
2017-09-08 16:12:28
4708
11
原创 openshift/origin学习记录(1)——基于二进制文件的安装(单机版)
学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。先决条件开启SELINUX官方文档推荐开启SELINUX,否则会导致安装失败。 修改/etc/selinux/configSELINUX=enforcingSELINUXTYPE=targeted安装docker# yum install -y docker-1.12.
2017-09-07 16:01:45
6013
10
原创 kubernetes工作记录(2)——基于release工程的kubernetes1.7.3 rpm包的编译生成
使用release工程编译的方式,生成kubernetes1.7.3的rpm包。虚拟机环境为Centos7.2。安装git# yum -y install git下载release工程# git clone https://github.com/kubernetes/release.git# cd release/rpm修改entry.shentry.sh的内容如下。 主要是修改ARCHS里的
2017-09-04 09:24:02
1279
原创 Centos7.2学习记录(2)——yum只下载不安装以及多rpm的安装
最近在研究kubernetes的离线安装,所以尝试了下yum的只下载不安装,获取rpm文件这里以docker为例。只下载不安装docker的rpm文件# sudo yum install --downloadonly --downloaddir=temp docker--downloadonly#只下载--downloaddir=temp#rpm的下载保存地址如果下载的包包含了任何没有满足的依
2017-09-01 16:39:57
5916
原创 kubernetes学习记录(13)——网上集群基于CA签名安全设置的两种方式对比
在《kubernetes学习记录(9)——集群基于CA签名的安全设置》一文中,我是照着《Kubernetes权威指南》以及一些博客做了基于CA签名的安全设置。但是这一块基本没有理解,所以在此选择《创建TLS证书和秘钥》一文的创建方式做个对比,详细研究一下这一块的细节《创建TLS证书和秘钥》该文是http://jimmysong.io/kubernetes-handbook/里的一节,该书是基于
2017-08-30 10:28:06
1161
原创 kubernetes学习记录(12)——Ingress(demo为TCP的负载均衡)
参考了https://github.com/kubernetes/ingress上的内容进行学习。有关Ingress的介绍可以阅读http://jimmysong.io/kubernetes-handbook/concepts/ingress.html这篇博客,它是对Kubernetes官方文档中关于Ingress部分的翻译。先记录安装配置过程,之后再慢慢深入研究。配置默认的backend为了让In
2017-08-29 15:41:05
7275
2
原创 kubernetes学习记录(11)——深入学习Service
在之前的周会上汇报Kubernetes学习结果的时候,被问到一个问题:“一个Service能否提供多种服务,能否代理多组Pod副本?”这里来做一定的研究。Service基本概念Kubernetes里的每个Service其实就是微服务架构中的一个“微服务”。Service定义了一个服务的访问入口地址。前端的应用(Pod)通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,Service与其后端
2017-08-28 10:07:07
747
原创 kubernetes学习记录(10)——建立Heapster+Influxdb+Grafana集群性能监控平台
采用的是Heapster+Influxdb+Grafana建立集群性能监控平台。据说Heapster需要与Kubernetes Master进行安全连接,所以需要对集群进行安全认证,我的集群环境已经进行了安全认证。非安全认证的集群能否使用Heapster,我没有验证。集群的安全认证可以参考我的博客kubernetes学习记录(9)——集群基于CA签名的安全设置(可能有坑,这块还没研究的特别明白,网上
2017-08-25 09:28:14
2397
1
原创 kubernetes工作记录(1)——kubernetes1.7.4版集群的离线安装搭建过程记录
之前将近一个月的时间算是初步入门了kubernetes,现在对之前的学习工作进行整理记录,将所有的内容有机的串联起来。对照网上已有的内容和自己过去的博客,整理shell脚本 master离线安装脚本需要安装etcd、flannel、kube-apiserver、kube-controller-manager、kube-scheduler、kubectletcd和flann...
2017-08-23 20:50:36
2268
3
原创 kubernetes学习记录(0)——学习记录阅读顺序
目前很多内容都是基于无安全认证的集群,会尝试在安全认证后的集群进行操作,成功后会更新博客。已实现1.阅读Centos7.2学习记录(1)——静态IP配置使用Vmware创建四台虚拟机,一台作为Docker Registry,一台作为Master,另外两台作为Node。配置静态IP。2.阅读Docker学习记录(1)——搭建自己的Docker Registry3.阅读 kub
2017-08-22 11:31:58
673
原创 kubernetes学习记录(8)——中文界面版dashboard安装
dashboard-controller.yamlapiVersion: extensions/v1beta1kind: Deploymentmetadata: name: kubernetes-dashboard namespace: kube-system labels: k8s-app: kubernetes-dashboard kubernetes.
2017-08-18 13:40:35
15524
5
原创 Centos7.2学习记录(1)——静态IP配置
最近在使用Vmware搭建Kubernetes集群时遇到一个问题:我安装的Centos7.2使用的是DHCP获取IP地址,导致Master\Node节点的IP地址会发生变化,所以需要修改成静态IP地址。查询子网掩码与默认网关 子网掩码为:255.255.255.0 网关为:192.168.121.2编辑/etc/sysconfig/networkGATEWAY=192.168.121.2
2017-08-17 10:24:33
730
原创 Maven学习记录(1)——Maven项目中导入本地自定义jar包
在创建Maven项目时,我想将自定义的jar包导入到Maven项目中。实现步骤如下:以monitor-util.jar为例。1)打开Maven的settings.xml找到其中的localRepository标签。我的标签内容如下:<localRepository>E://maven//LocalWareHouse</localRepository>2)切换到localRepository目录下新建
2017-08-07 20:12:58
1982
2
原创 kubernetes学习记录(7)——弹性伸缩与滚动升级
弹性伸缩弹性伸缩是指适应负载变化,以弹性可伸缩的方式提供资源。Pod的弹性伸缩就是修改Replication Controller的Pod副本数。可以通过Kubectl scale命令实现。创建Replication Controllertest-rc.yamlapiVersion: v1kind: ReplicationControllermetadata: name: test-rcs
2017-08-04 15:31:34
2915
原创 kubernetes学习记录(6)——Guestbook Demo
Guestbook定义文件在Kubernetes发布包的examples/guestbook目录下。我选用的是Kubernetes 1.2.7版本下的代码。Guestbook包含两个部分: 1)Frontend Guestbook的Web前端部分。 2)Redis Guestbook的存储部分。采用主备模式,运行1个Redis Master和两个Redis Slave,Redis Slave
2017-08-04 14:13:01
1773
原创 Docker学习记录(1)——搭建自己的Docker Registry
最近在编写Kubernetes demo的时候,遇到了一个问题:当相同的Pod部署到不同的Node上时,每个Node都得下载Pod中指定的镜像文件。由于“墙”等原因,很多镜像文件的下载速度都很慢且连接不稳定,所以搭建自己的Docker Registry,在Docker Registry所在的宿主机上下载所需的镜像文件,Pod指定到自己的Docker Registry获得镜像文件。安装Registry
2017-08-04 09:27:13
3936
原创 kubernetes学习记录(5)——服务发现机制与Cluster DNS的安装(无CA认证版)
服务发现机制Kubernetes提供了两种发现Service的方法:1.环境变量当Pod运行的时候,Kubernetes会将之前存在的Service的信息通过环境变量写到Pod中。这种方法要求Pod必须要在Service之后启动。在Service之前启动的Pod就不会有该Service的环境变量。采用DNS的方式就没有这个限制。2.DNS当有新的Service创建时,就会自动生成一条DNS记录。使用
2017-08-02 14:05:19
11941
原创 kubernetes学习记录(4)——创建kubernetes覆盖网络
Kubernetes的网络模型要求每一个Pod都拥有一个扁平化共享网络命名空间的IP,成为PodIP,Pod能够直接通过PodIP跨网络与其他物理机和Pod进行通信。要实现Kubernetes的网络模型,需要在Kubernetes的集群中创建一个覆盖网络,联通各个节点。在此,选择的是Flannel。Flannel是CoreOS团队设计开发的一个覆盖网络工具。配置Flannel需要对Master和No
2017-08-02 11:04:31
1020
原创 kubernetes学习记录(2)——基于Centos7.2的kubernetes集群自动安装与配置
kubernetes集群的解决方案为:使用VMware Workstation Pro,安装3台Centos7 Minimal版(无图形化界面,防止电脑卡顿)的虚拟机。一台作为Master,另外两台作为Node。使用xshell软件操作虚拟机。基于二进制文件离线安装的记录在kubernetes工作记录(1)——kubernetes1.7.4版集群的离线安装搭建过程记录 中,集成了CA认证、Flann
2017-08-01 13:03:38
1880
原创 kubernetes学习记录(9)——集群基于CA签名的安全设置
最近在使用RC的时候碰到了一个问题:创建RC后无法自动创建Pod 网上搜索,得到出现该问题的原因是:身份认证。 解决的办法有两种:(1)跳过认证(2)解决认证跳过认证跳过认证的解决办法是vim /etc/kubernetes/apiserver编辑apiserver,去除KUBE_ADMISSION_CONTROL中的 SecurityContextDeny,ServiceAccount 重
2017-08-01 10:23:30
1557
1
原创 kubernetes学习记录(1)——kubernetes初理解
入门时,学习阅读的为[《你闺女也能看懂的插画版Kubernetes指南》](https://mp.weixin.qq.com/s/hjTTRbd4vYp4yNg8Ygg69A)。由Deis的平台架构师Matt Butcher向他女儿介绍什么是Kubernetes,内容短小精悍、浅显易懂。Kubernetes是一个开源的Docker容器编排系统,它可以调度计算集群的节点,动态管理上面的作业,保证它们
2017-08-01 09:06:57
1382
原创 kubernetes学习记录(3)——集群外部访问Pod或Service
学习阅读的书籍为《kubernetes权威指南:从Docker到Kubernetes实践全接触》,书中有不少地方讲的比较模糊,故在此做下学习过程中的梳理。Pod和Service是Kubernetes集群范围内的虚拟概念。集群外的客户端系统无法通过Pod的IP地址或者Service的虚拟IP地址和虚拟端口号访问到它们。解决措施:1.将容器应用的端口号映射到物理机上,包括两种方式(1)通过设置容器级别
2017-07-31 13:21:55
10049
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅