自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

个人学习记录

博客内容只对博主有效,不保证正确性

  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 kubernetes学习记录(16)——使用operator实现kubernetes的sidecar管理

使用operator实现kubernetes的sidecar管理主要参考阿里开源的openkruise项目,github地址:https://github.com/openkruise/kruise。openkruise目前提供了5个工作负载控制器:Advanced StatefulSet增强的默认的版本StatefulSet,有额外的功能,如inplace-update,pasue和Ma...

2020-05-22 11:48:56 539

原创 kubernetes学习记录(15)——使用operator-sdk开发operator

参考官方文档operator-sdkoperator-sdk环境搭建官方文档中只有Linux和macOS两种操作系统的安装方式,我选择在Linux下搭建operator-sdk。省略go环境的安装过程下载operator-sdk二进制release包curl -LO https://github.com/operator-framework/operator-sdk/releases...

2020-02-11 17:41:32 1697

原创 kubernetes学习记录(14)——使用CustomResourceDefinitions(CRD)扩展Kubernetes API

工作中即将开始写operator,先提前学习一下相关的知识目前我们的kubernetes集群版本为1.15.0,故参考文档为官方文档《Extend the Kubernetes API with CustomResourceDefinitions》...

2020-01-14 16:07:52 600

原创 openshift/origin工作记录(13)——利用NFS动态提供后端存储卷

参考《利用NFS动态提供Kubernetes后端存储卷》以及 https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client。使用nfs-client-provisioner这个应用,利用NFS Server给Openshift作为持久存储的后端,并且动态提供PV。前提条件:已经安装好的NF...

2019-03-19 16:30:41 750 1

原创 openshift/origin工作记录(12)——Openshift3.11安装Istio

测试环境安装Istio进行学习,参考文档连接https://istio.io/zh/docs/setup/kubernetes/测试环境:Openshift3.11+Centos7.5下载 Istio 发布包Istio 会被安装到自己的 istio-system 命名空间,并且能够对所有其他命名空间的服务进行管理。下载和自动解压缩# curl -L https://git.io/g...

2019-02-21 10:59:30 1114

原创 openshift/origin工作记录(14)——解决Namespace Terminating无法删除的问题

在卸载重装istio的时候,发现namespace标记为删除后,长期处于Terminating状态,且namespace下的资源并没有被删除。问题复现新建一个空的namespace,执行删除:oc指令执行删除,执行过程卡死,ctrl+c退出后查看namespace,新建的空namespace处于Terminating状态,并无法删除。排除因namespace下资源过多导致卡死这一猜测。...

2019-02-21 10:12:24 1328

原创 Centos7.2学习记录(5)——CentOS系统在不重启的情况下为虚拟机添加新硬盘

确定主机总线号:# ls /sys/class/scsi_host/重新扫描SCSI总线来添加设备:# echo "- - -" > /sys/class/scsi_host/host0/scan# echo "- - -" > /sys/class/scsi

2019-01-03 14:44:54 230

原创 openshift/origin工作记录(11)——Openshift3.6向Openshift3.11升级以及CVE-2018-1002105漏洞修复

由于kubernetes的CVE-2018-1002105重大漏洞,需要对Openshift集群进行版本升级。当前运行的Openshift集群版本为v3.6,目标为升级到版本v3.11。

2018-12-13 13:17:30 1007 4

原创 openshift 3.10多节点集群安装(基于Ansible和Centos7.4)

参考官方文档https://docs.okd.io/3.10/install/index.html,基于Ansible安装3.10版openshift集群。特注:本文仅供初学者参考!生产环境请结合实际并参照官方文档!(本文尽量往生产环境上靠)安装规划个人电脑资源有限,这里采用双节点集群,这两个节点既是master,又是node,也是etcd,并挂HAProxy负载平衡maste...

2018-09-06 13:27:26 6756 8

原创 Java 多线程学习(3)——总结

个人记录,不对正确性负责^_^实现多线程的方法继承Thread类(不支持多继承)实现Runnable接口(支持多继承)停止线程使用interrupt()方法,给线程打上停止标记,在线程内部通过isInterrupted()判断线程是否是停止状态,通过throw new InterruptedException()抛出异常,停止线程。synchronized...

2018-08-17 17:00:31 176

原创 openshift/origin工作记录(10)——openshift pod无法访问外网的解决方案

编辑主机上的/etc/dnsmasq.d/origin-dns.conf文件,添加相应的DNS服务器,格式为: server=DNS服务器说明:可添加多个,如: server=218.85.152.99server=114.114.114.114重启dnsmasq,使更改生效systemctl restart dnsmasq.servicesystemctl resta...

2018-07-09 12:35:59 1417

原创 openshift/origin工作记录(9)——openshift结合jenkins实现持续集成

最近工作为基于jenkins、Openshift实现持续集成。由于只给了我一周的时间,这里先记录一下V1.0版的实现过程。集成jenkins参考《openshift/origin学习记录(7)——集成Jenkins服务》,集成jenkins(博客里记录的是非持久化的jenkins,选用jenkins-persistent-template模板,创建了持久化的jenkins)...

2018-04-16 16:21:09 2745

原创 Nginx工作记录(1)——Centos7安装Nginx1.12.2

Nginx的下载网址为:http://nginx.org/en/download.htmlNginx源码下载# mkdir /root/nginx# cd /root/nginx# wget http://nginx.org/download/nginx-1.12.2.tar.gz# tar zxvf nginx-1.12.2.tar.gz安装依赖软件# yum -y...

2018-04-02 11:32:53 1201

原创 openshift/origin工作记录(8)——docker镜像垃圾回收

镜像仓库垃圾回收master节点上以集群管理员登录集群后执行:# oadm prune images --all=false --keep-younger-than=0m --keep-tag-revisions=0 --registry-url=docker-registry-default.router.default.svc.cluster.local --certificate-a...

2018-03-29 10:37:06 756

原创 Centos7.2学习记录(4)——调整root和home大小

df -h查看磁盘使用情况 备份/home文件夹下内容# cp -r /home/ homebak/卸载​ /home# umount /home如果失败通过以下指令终止/home下的进程# fuser -m -v -i -k /home删除/home所在的lv# lvremove -y /dev/mapper/cl_smartmsp125-homevgd...

2018-03-27 11:34:47 3821 1

原创 openshift/origin学习记录(7)——集成Jenkins服务

学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。Openshift项目提供了集成Openshift插件的Jenkins容器镜像和部署模板。 o Openshift项目默认提供了两个Jenkins部署模板:jenkins-ephemeral-template、jenkins-persistent-template...

2018-03-22 15:42:38 6249 5

原创 Java 多线程学习(2)——停止线程

重新系统的学习一下Java多线程部分。参考书籍为《java多线程编程核心技术》。在Java中,有以下三种方法可以终止正在运行的线程:使用退出标志,使线程正常退出,即run方法完成后,线程终止;使用stop方法,强行终止线程,不推荐使用,可能会产生不可预料的后果;使用interrupt方法中断线程。使用interrupt方法停止线程interrupt()方法仅仅是在当...

2018-03-07 16:15:42 144

原创 Java 多线程学习(1)——实现多线程的两种方式Thread/Runnable

重新系统的学习一下Java多线程部分。参考书籍为《java多线程编程核心技术》。实现多线程的方式主要有两种,一种是继承Thread类,另一种是实现Runnable接口。 首先看一下Thread类的结构public class Thread implements RunnableThread类实现了Runnable接口,它们之间具有多态关系。但继承Thread类创建多线程,不支...

2018-03-07 14:40:59 201

原创 Spring Cloud学习(4)——服务容错保护Hystrix初研

阅读的书籍为《Spring Cloud 微服务实战》。在微服务架构中,服务被拆分成了若干服务单元。各个服务单元应用间通过服务注册与订阅的方式相互依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,可能会因为网络问题或者依赖服务自身的问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断的增加,最终就会因等待出现故障的依赖方响应...

2018-03-01 18:15:47 254

原创 Spring Cloud学习(3)——服务发现与消费以及客户端负载均衡Ribbon

阅读的书籍为《Spring Cloud 微服务实战》。在《Spring Cloud学习(2)——高可用Eureka Server》中,我搭了一个双节点的服务注册中心集群。同时在《Spring Cloud学习(1)——单节点Eureka Server》中,创建了一个名为hello-world-service的服务提供者。这里,为了测试Ribbon的客户端负载均衡功能,需要启动he...

2018-03-01 10:21:27 334

原创 Spring Cloud学习(2)——高可用Eureka Server

阅读的书籍为《Spring Cloud 微服务实战》。在单节点Eureka Server中,通过设置,让服务中心不注册自己:eureka.client.register-with-eureka=falseeureka.client.fetch-registry=false而实现Eureka Server的高可用,实际就是把自己作为服务,向其他服务注册中心注册,形成一种互相...

2018-02-27 14:45:26 965

原创 Spring Cloud学习(1)——单节点Eureka Server

阅读的书籍为《Spring Cloud 微服务实战》。基本概念服务治理服务治理可以说是微服务架构中最为核心和基础的模块,主要用来实现各个微服务实例的自动化注册与发现。早期微服务系统中,服务不多,可以通过静态配置来完成服务的调用。但是随着业务的发展,系统功能越来越复杂,相应的微服务应用也不断增加,静态配置就越来越难以维护,故需要实现微服务实例的自动化注册与发现。...

2018-02-24 16:57:13 419

原创 Mysql学习(2)——Mysql双机热备

参考博客《CentOS系统MySQL双机热备配置》。 参考官方文档https://dev.mysql.com/doc/refman/5.6/en/replication.html。实现机制对于一个MySQL服务器,一般有两个线程来负责复制和被复制。当开启复制之后: 主服务器Master,会把自己的每一次改动都记录到二进制日志 binlog 中。 从服务器Slave,会用

2018-02-05 16:41:38 714

原创 Mysql学习(1)——Mysql安装

Mysql安装主机准备 类型 主机名 IP 操作系统 Master master 192.168.121.182 CentOS 7.3 slave slave 192.168.121.181 CentOS 7.3yum安装MysqlCentOS7默认数据库是mariadb,yum源中默认是没有mysql的

2018-01-18 17:23:36 171

原创 openshift/origin工作记录(7)——持久化openshift内部镜像仓库

openshift内部镜像仓库Registry组件默认是非持久化的。之前重启过一次openshift集群,导致重启前通过s2i构建的镜像都不能用了。所以需要持久化openshift内部镜像仓库。有状态的应用如果未配置持久化卷,容器一旦意外退出,容器内部所有的镜像、配置、数据都将消失殆尽。本部分参考《开源容器云OpenShift》一书129-133页以及官方文档https://doc...

2018-01-04 16:32:09 3051

原创 openshift/origin工作记录(6)——本地DNS服务器的创建与配置

之前在建立openshift集群时,是直接修改各个节点的/etc/hosts文件,加上静态的域名解析。当节点数量很多或者后续执行集群节点扩容时,都需要修改大量的/etc/hosts文件,很麻烦。这里选择在本地搭建一个DNS服务器。我选择将DNS服务器部署到了Master节点上。登录Master节点执行操作。修改/etc/hosts配置根据自己的实际情况配置,整合之前配置的静态域名解析。添加dnsm

2018-01-03 17:57:18 2803

原创 openshift/origin工作记录(5)——node节点系统资源预留

实际应用中发现,如果不做处理,当集群内应用数量不断增加时,会占满node节点的系统资源,导致某node节点挂掉,同时也会造成openshift集群的卡死。解决思路为设置node节点系统资源预留值。参考官方文档:https://docs.openshift.org/latest/admin_guide/manage_nodes.html#configuring-node-resour...

2018-01-03 16:28:31 1552 6

原创 openshift/origin工作记录(4)——Pod时区同步

最近在收集Docker日志等操作的时候,发现openshift的pod时区默认和宿主机不同步,默认使用UTC时间。解决方案设置Docker容器环境变量:TZ=Asia/Shanghai。示例如下:验证

2017-11-16 10:21:01 893

原创 openshift/origin工作记录(3)——Application的删除

openshift创建完一个application后,会自动创建很多对象,包括dc、rc、svc、pod、is等。在删除application时,可通过标签,批量删除同一个application下的所有对象。如下图所示:创建的名为eureka的application包括图中所有的对象。删除指令# oc delete all -l application=eureka验证# oc get a

2017-11-02 14:36:59 1945

原创 openshift/origin工作记录(2)——RESTful编程接口使用

由于工作原因,需要对openshift进行二次开发,初步研究了一下RESTful编程接口使用。本部分内容借鉴了开源项目https://github.com/fabric8io/kubernetes-client,目前是引用开源项目的jar包对openshift集群进行操作。demo工程放在了我的github上,地址为https://github.com/hu12081/openshift

2017-10-31 17:13:16 2272

原创 Docker学习记录(4)——docker pull默认从本地镜像仓库拉取镜像

主机操作系统为Centos7.3,内网环境下使用docker pull,直接从本地镜像仓库下载镜像。本地镜像仓库的搭建方法多样,这里不做记录。我的本地镜像仓库的地址为master.example.com:5000。配置docker的启动参数。执行:# systemctl status docker 如图红框所示,修改/usr/lib/systemd/system/docker.service启动参

2017-10-27 14:16:31 56628 4

原创 Centos7.2学习记录(3)——搭建本地yum仓库

入职以来,由于公司云主机运行在内网环境下,在搭建kubernetes和openshift集群时都需要进行离线安装,这里粗略记录一下本地yum仓库的搭建过程。httpd配置安装httpd在目标服务器上安装httpd。# yum install -y httpd修改httpd端口号我的80端口已被占用,故这里修改httpd的端口号。 修改/etc/httpd/conf/httpd.conf。 将L

2017-10-26 14:52:52 1962

原创 openshift/origin学习记录(13)——集群节点扩容(Master/node/etcd)

集群搭建成功之后,可以对集群进行扩容,包括对Master、Node、Etcd等的扩容,添加新的节点。官方文档链接如下:https://docs.openshift.org/latest/install_config/adding_hosts_to_existing_cluster.html这里在 openshift/origin学习记录(0)——Ansible安装多节点openshift

2017-10-26 12:30:55 3014

原创 openshift/origin工作记录(1)——S2I镜像定制(基于SVN)

本篇博客所用到的代码已上传至github。https://github.com/hu12081/openshift-s2i-tomcat-svn.git 不建议直接clone git,否则,注意修改文件权限。s2i源码研究(能力不够,修改失败)周一的时候在github上粗略阅读了source-to-image的源码,代码地址为https://github.com/openshift/so...

2017-10-25 10:36:34 3271

原创 openshift/origin学习记录(12)——离线安装集群

最近在公司申请了三台云主机,并在这三台云主机上搭建openshift集群。由于公司的云主机是内网环境,无法连接外网,所以需要离线安装。记录过程如下:搭建本地yum服务器在之前在线安装的openshift集群节点上执行yum history,查看yum的安装历史。通过reposync或者参考我的博客《Centos7.2学习记录(2)——yum只下载不安装以及多rpm的安装 》...

2017-10-23 14:09:46 4409

原创 openshift/origin学习记录(11)——赋予用户集群管理员权限

由于system:admin默认没有密码,没法登录web console,这里通过指令给账号dev赋予集群管理员权限。# oc login -u system:admin# oc adm policy add-cluster-role-to-user cluster-admin dev这样就可以用dev账号访问web console。访问default等工程。

2017-10-19 17:05:35 2954 4

原创 Docker学习记录(3)——Docker指向多个私有镜像仓库地址

最近在研究openshift的时候碰到一个问题:openshift本身内部有一个docker registry(存储s2i生成的镜像),我自己又搭了一个本地镜像仓库,这两个仓库地址都需要加到insecure-registries中。方法如下:编辑/etc/docker/daemon.json # vim /etc/docker/daemon.json 修改为:{"insecure-regist

2017-09-29 18:20:54 7378

原创 openshift/origin学习记录(10)——基于已有镜像部署应用

本部分记录如何基于已有的镜像部署应用。参考的博客为《OpenShift_034:部署 mywebsql docker image 访问 mysql 数据库》(该博主的博客需要翻墙浏览)。这里的测试镜像选择的是我自己的博客《 Docker学习记录(2)——JAVA应用容器化(JAVA博客应用Solo)》最终产生的镜像。基于已有镜像部署应用以账号为dev密码为dev的用户登录openshift集群。

2017-09-29 18:14:15 3874 1

原创 openshift/origin学习记录(9)——S2I镜像定制(基于Git)

参考《开源容器云Openshift》一书,制作一个Tomcat的S2I镜像。准备环境在Master上下载S2I的二进制执行文件。# cd /opt # wget https://github.com/openshift/source-to-image/releases/download/v1.1.7/source-to-image-v1.1.7-226afa1-linux-386.tar.g

2017-09-27 10:37:33 4094 2

原创 openshift/origin学习记录(8)——基于镜像安装多节点集群(Containerized Installer)

本节内容是Docker镜像以及Ansible实现多节点集群Containerized Installer。大体流程和基于RPM的安装过程类似。本部分openshift集群的部署分为以下几个阶段:主机准备。准备openshift集群需要的主机。安装前预配置。准备相应的系统配置与软件依赖。执行安装。使用Ansible Playbook进行自动化安装。主机准备由于是在自己笔记本上尝试部署多节点集

2017-09-22 10:20:58 2714

x_扫描算法

x_扫描算法,实现了 x_扫描算法,简单可用

2014-04-15

原创java写的画图板软件(代码风格良好)

java写的画图软件,支持画线,画方等,可以选择画笔颜色。

2014-06-29

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除