<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[comprel的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/comprel</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; comprel]]></copyright><item><title><![CDATA[配置化管理公有云资源工具-Terraform CLI]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/116244679</link><guid>https://blog.youkuaiyun.com/comprel/article/details/116244679</guid><author>comprel</author><pubDate>Wed, 28 Apr 2021 22:16:09 +0800</pubDate><description><![CDATA[terraform:
官方介绍:
Terraform是作为代码软件工具的开源基础结构，可提供一致的CLI工作流来管理数百个云服务。Terraform将云API编码为声明性配置文件
安装:
下载地址https://www.terraform.io/downloads.html
选择linux 64进行下载:
安装: 直接解压zip包,将解压后文件放入/url/local/bin/目录下:
unzip terraform_0.13.5_linux_amd64.zip
mv terraform /url/loca]]></description><category></category></item><item><title><![CDATA[kubernetes源码分析-ReplicaSet简要分析]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/115016725</link><guid>https://blog.youkuaiyun.com/comprel/article/details/115016725</guid><author>comprel</author><pubDate>Fri, 19 Mar 2021 21:50:06 +0800</pubDate><description><![CDATA[在deployment分析中我们可以看到deployment创建,更新等操作最终调用的是ReplicaSets
func (dc *DeploymentController) scaleReplicaSet(rs *apps.ReplicaSet, newScale int32, deployment *apps.Deployment, scalingOperation string) (bool, *apps.ReplicaSet, error) {

	sizeNeedsUpdate := *(rs.S]]></description><category></category></item><item><title><![CDATA[kubernetes源码分析-deployment分析]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/114950479</link><guid>https://blog.youkuaiyun.com/comprel/article/details/114950479</guid><author>comprel</author><pubDate>Wed, 17 Mar 2021 21:21:16 +0800</pubDate><description><![CDATA[deployemt启动注册:

​	cmd/kube-controller-manager/app/controllermanager.go
func NewControllerInitializers(loopMode ControllerLoopMode) map[string]InitFunc {
	.....
	controllers["deployment"] = startDeploymentController
	....
}

func startDeploymentController(.]]></description><category></category></item><item><title><![CDATA[kubernetes源码分析controller-manager启动]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/114950398</link><guid>https://blog.youkuaiyun.com/comprel/article/details/114950398</guid><author>comprel</author><pubDate>Wed, 17 Mar 2021 21:19:38 +0800</pubDate><description><![CDATA[kube controller manager 代码分析
1.目录: cmd/kube-controller-manager

2.main函数定义在cmd/kube-controller-manager/controller-manager.go
func main() {
	rand.Seed(time.Now().UnixNano())

	command := app.NewControllerManagerCommand()

	// TODO: once we switch everything]]></description><category></category></item><item><title><![CDATA[kubernetes源码分析-基础命令库cobra]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/114950283</link><guid>https://blog.youkuaiyun.com/comprel/article/details/114950283</guid><author>comprel</author><pubDate>Wed, 17 Mar 2021 21:17:29 +0800</pubDate><description><![CDATA[cobra 是go语言创建命令很好的一个工具, cobra 是由 spf13 写的 golang 库,
地址: https://github.com/spf13/cobra
k8s cmd是基于cobra的
例如 cmd/kube-controller-manager/app/controllermanager.go  NewControllerManagerCommand定义如下:

	cmd := &amp;cobra.Command{
		Use: "kube-controller-manager",]]></description><category></category></item><item><title><![CDATA[kubnernet源码目录结构]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/114950039</link><guid>https://blog.youkuaiyun.com/comprel/article/details/114950039</guid><author>comprel</author><pubDate>Wed, 17 Mar 2021 21:15:17 +0800</pubDate><description><![CDATA[k8s源码地址:
https://github.com/kubernetes/kubernetes
如图:

k8s的组件:


kubectl    k8s CLI 工具


client-go  API接口, k8s系统其他组件与k8s api service的通信也是使用的client-go


kube-apiserver   api服务


manager 管理控制器, 包含pod, rc, deployment, namspece, serviceaccount等


scheduler调度

]]></description><category></category></item><item><title><![CDATA[go mod使用及goland配置]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/108720699</link><guid>https://blog.youkuaiyun.com/comprel/article/details/108720699</guid><author>comprel</author><pubDate>Mon, 21 Sep 2020 22:32:02 +0800</pubDate><description><![CDATA[一.依赖包管理
python有pip方便第三方包管理，java拥有maven管理。
go在旧版本中可以使用go get 命令获取第三方包， 但是偶尔第三方也存在依赖，这样包管理不是很方便
在go 1.12版本后，增加了go mod 来进行依赖包管理， 方便了许多，因此建议使用1.12以上版本（可自行到官网下载）
查看版本
&gt; go version
go version go1.13.9 windows/amd64


&gt;go mod
Go mod provides access to opera]]></description><category></category></item><item><title><![CDATA[linux crash内核故障分析工具]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/105778938</link><guid>https://blog.youkuaiyun.com/comprel/article/details/105778938</guid><author>comprel</author><pubDate>Sun, 26 Apr 2020 22:28:32 +0800</pubDate><description><![CDATA[kdump一般与crash工具联合使用，以便在故障发生的时候，进行问题追踪
配置kdump：
yum install kexec-tools

修改grub：
GRUB_CMDLINE_LINUX 中添加crashkernel=auto
#vim /etc/default/grub 

GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 conso...]]></description><category></category></item><item><title><![CDATA[kafka常用命令]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/104950652</link><guid>https://blog.youkuaiyun.com/comprel/article/details/104950652</guid><author>comprel</author><pubDate>Wed, 18 Mar 2020 18:25:17 +0800</pubDate><description><![CDATA[添加环境变量：
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/app/kafka_2.11-2.2.0/bin

export PATH

kafka在bin目录下提供的一些工具：
kafka-acls.sh                        kafka-preferred-replica-election.sh
kafka-broker-api-v...]]></description><category></category></item><item><title><![CDATA[快速了解serverless]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/104925640</link><guid>https://blog.youkuaiyun.com/comprel/article/details/104925640</guid><author>comprel</author><pubDate>Tue, 17 Mar 2020 17:06:21 +0800</pubDate><description><![CDATA[serverless 无服务器计算架构，是云计算时代的一种革命性架构模式， 可以看做下一代计算资源架构
serverless概念主要思想就是无需用户关注支撑应用服务的底层主机资源服务，因此用户在一定程度上不能设置后端地具体资源配置文件，所需要的资源数量由平台动态进行调度， 简单的说就是   ‘去基础架构’
传统架构里，需要事先申请资源进行部署，在需要扩容时再申请新的资源，serverless概念里...]]></description><category></category></item><item><title><![CDATA[python使用kafka]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/104823648</link><guid>https://blog.youkuaiyun.com/comprel/article/details/104823648</guid><author>comprel</author><pubDate>Thu, 12 Mar 2020 17:27:36 +0800</pubDate><description><![CDATA[python使用kafka
1.安装包：
pip install kafka
或
pip install python-kafka

文档：
https://kafka-python.readthedocs.io/en/master/usage.html
2.生产者：
#coding:utf-8

from kafka import KafkaProducer

producer = KafkaP...]]></description><category></category></item><item><title><![CDATA[java使用kafka入门]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/104820220</link><guid>https://blog.youkuaiyun.com/comprel/article/details/104820220</guid><author>comprel</author><pubDate>Thu, 12 Mar 2020 15:32:49 +0800</pubDate><description><![CDATA[创建一个maven项目， 名称： kafkaDemo
添加依赖
在pom.xml文件中：

    &lt;dependencies&gt;
  	&lt;dependency&gt;
  		&lt;groupId&gt;org.apache.kafka&lt;/groupId&gt;
  		&lt;artifactId&gt;kafka_2.11&lt;/artifactId&gt;
  ...]]></description><category></category></item><item><title><![CDATA[kafka概念及基本原理]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/104820088</link><guid>https://blog.youkuaiyun.com/comprel/article/details/104820088</guid><author>comprel</author><pubDate>Thu, 12 Mar 2020 15:27:56 +0800</pubDate><description><![CDATA[kafka：
作用：
1.消息系统： 系统解耦，冗余存储， 流量削峰， 缓冲，异步通信，扩展性，可恢复性
2.存储系统   将消息持久化到磁盘
3.流式处理平台
高吞吐，低延时
kafka本质上每次写入操作其实都是把数据写入到操作系统的页缓存中， 然后操作系统将页缓存中的数据刷回到磁盘中
producer 生产者， broker 相当于kafka服务进程， consumer 消费者， zk集群
过...]]></description><category></category></item><item><title><![CDATA[libvirt virsh domain命令解析(一)]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/103246946</link><guid>https://blog.youkuaiyun.com/comprel/article/details/103246946</guid><author>comprel</author><pubDate>Mon, 25 Nov 2019 22:11:35 +0800</pubDate><description><![CDATA[virsh是libvirt提供的命令行工具， 了解virsh命令的功能，可以快速了解libvirt的主要功能及功能特性
这里首先介绍domain
domain 域， 可以看做是一个虚拟机实例
通过 virsh -h 可以查看所有命令， 能够看到每个命令的介绍信息（这里不做一一翻译）
# virsh -h

virsh [options]... [&lt;command_string&gt;]
vi...]]></description><category></category></item><item><title><![CDATA[kvm虚拟化及cpu内存调优学习笔记(一)]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/103246694</link><guid>https://blog.youkuaiyun.com/comprel/article/details/103246694</guid><author>comprel</author><pubDate>Mon, 25 Nov 2019 22:04:25 +0800</pubDate><description><![CDATA[虚拟化：
虚拟化有半虚拟化与全虚拟化
演化过程：
软件模拟，  通过软件完全模拟磁盘，网卡等
虚拟化层翻译 ， 加入虚拟化层进行模拟
容器虚拟化， 原理是基于cgorup， namespace等技术将进程隔离
x86平台指令集分为4个特权模式： Ring 0， Ring 1，  Ring  2，  Ring 3
操作系统一般使用 Ring 0， 应用程序使用 Ring 3, 而驱动程序使用 Rin...]]></description><category></category></item><item><title><![CDATA[docker网络原理笔记]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/102735327</link><guid>https://blog.youkuaiyun.com/comprel/article/details/102735327</guid><author>comprel</author><pubDate>Fri, 25 Oct 2019 00:49:08 +0800</pubDate><description><![CDATA[docker 网络，使用的是CNM 网络模型方案。 libnetwork是对CNM的实现， 提供docker核心网络架构的全部功能
Docker的网络子系统是可插拔的，使用驱动程序。默认情况下存在多个驱动程序，并提供核心网络功能：
bridge：默认网络驱动程序。如果未指定驱动程序，则这是您要创建的网络类型。当您的应用程序在需要通信的独立容器中运行时，通常会使用桥接网络。
host：对于独立容器，...]]></description><category></category></item><item><title><![CDATA[docker api url调用]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/102733439</link><guid>https://blog.youkuaiyun.com/comprel/article/details/102733439</guid><author>comprel</author><pubDate>Thu, 24 Oct 2019 22:11:03 +0800</pubDate><description><![CDATA[docker安装后没有开启API 远程访问
如有需要则需要修改启动参数
因为使用systemctl进行启动docker服务， 因此修改对应的service文件
具体方法：
修改文件：/usr/lib/systemd/system/docker.service中的ExecStart
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/conta...]]></description><category></category></item><item><title><![CDATA[docker安装及入门]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/102732944</link><guid>https://blog.youkuaiyun.com/comprel/article/details/102732944</guid><author>comprel</author><pubDate>Thu, 24 Oct 2019 21:46:25 +0800</pubDate><description><![CDATA[清理安装包：
 yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-la...]]></description><category></category></item><item><title><![CDATA[openstack cinder 创建volume源码分析]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/101161922</link><guid>https://blog.youkuaiyun.com/comprel/article/details/101161922</guid><author>comprel</author><pubDate>Sun, 22 Sep 2019 16:12:51 +0800</pubDate><description><![CDATA[cinder volume
备注：
为方便源码阅读， 列出的部分的源码将被省略， 如需要阅读完整代码， 建议在官网进行下载
cinder实现相对比较简单
基本结构：

api --&gt; volume API --&gt; db
api --&gt; volume API --&gt; rpc --&gt; volume manager --&gt; drivers


API  入口
目前ci...]]></description><category></category></item><item><title><![CDATA[openstack cinder snapshot快照源码分析]]></title><link>https://blog.youkuaiyun.com/comprel/article/details/100907179</link><guid>https://blog.youkuaiyun.com/comprel/article/details/100907179</guid><author>comprel</author><pubDate>Tue, 17 Sep 2019 00:26:40 +0800</pubDate><description><![CDATA[cinder snapshot快照源码分析
源码下载地址：
https://releases.openstack.org/index.html

1. 介绍
Cinder是OpenStack Block Storage服务，用于为Nova虚拟机，Ironic裸机主机，容器等提供卷。Cinder的一些目标是：
基于组件的体系结构：快速添加新行为
高度可用：扩展到非常严重的工作负载
容错：隔离的进程可...]]></description><category></category></item></channel></rss>