<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chen_haoren的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chen_haoren</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chen_haoren]]></copyright><item><title><![CDATA[在离线混合部署及k8s上用prometheus+grafana监控资源初尝试]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108893070</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108893070</guid><author>chen_haoren</author><pubDate>Fri, 02 Oct 2020 10:02:18 +0800</pubDate><description><![CDATA[文章目录在离线混合部署什么叫做在离线混合部署为什么要做在离线混合部署k8s上的prometheus+grafana监控资源prometheusPrometheus监控基本原理部署prometheus+grafana监控部署prometheus组件以configmap的形式管理prometheus组件的配置文件Prometheus deployment 文件创建对象部署grafana组件
在离线混合部署
什么叫做在离线混合部署
首先要明确什么叫做在线任务和离线任务：在线任务需要资源相对较少，但要求响应时间短，]]></description><category></category></item><item><title><![CDATA[k8s中的kubeflow1.02安装过程记录]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108809409</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108809409</guid><author>chen_haoren</author><pubDate>Fri, 02 Oct 2020 10:02:06 +0800</pubDate><description><![CDATA[首先下载kfctl包，这里提供的是1.02版本
下载地址

没有科学上网的话下载速度非常慢，推荐先用梯子下到电脑上再导入
解压安装包并添加到执行目录
tar -xvf kfctl_v1.0.2-0-ga476281_linux.tar.gz
sudo cp kfctl /usr/bin



下载manifests工具包到/root/kubeflow/路径：
kubeflow需自己创建
```csharp
wget https://github.com/kubeflow/manifests/archive/]]></description><category></category></item><item><title><![CDATA[安装kubeflow过程中minio和mysql Pod一直是pending状态]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108893756</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108893756</guid><author>chen_haoren</author><pubDate>Thu, 01 Oct 2020 10:52:35 +0800</pubDate><description><![CDATA[问题如图


查看详细
kubectl -n kubeflow describe pod minio-d56488484-5drv8

发现pvc没有绑定
解决：
查看pvc
 kubectl -n kubeflow get pvc


查看pvc描述
 kubectl get pvc minio-pv-claim -n kubeflow -o yaml

创建pv
vi metadatapv.yaml

kind: PersistentVolume
apiVersion: v1
metadata:
  n]]></description><category></category></item><item><title><![CDATA[安装kubeflow过程中apply kfctl_k8s_istio.v1.0.2.yaml时卡住]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108886240</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108886240</guid><author>chen_haoren</author><pubDate>Wed, 30 Sep 2020 15:40:05 +0800</pubDate><description><![CDATA[解决：
手动下载manifests
wget https://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz

编辑yaml文件
vim kfctl_k8s_istio.v1.0.2.yaml

将
https://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz
改为
file:/root/kubeflow/v1.0.2.tar.gz
root/kubeflow即为manifests的存放路径

]]></description><category></category></item><item><title><![CDATA[kubeflow国外镜像无法拉取怎么办]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108885839</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108885839</guid><author>chen_haoren</author><pubDate>Wed, 30 Sep 2020 15:28:34 +0800</pubDate><description><![CDATA[由于国内网络问题，所以无法拉取外网的kubeflow镜像，即使有梯子也经常拉取失败
在这里推荐使用阿里云的镜像仓库

点击创建镜像仓库：
代码源选择GitHub
绑定自己的github账号
勾选海外机器创建

这里先感谢这位博主提供的kubeflow镜像https://github.com/Eros11on/Dockerfile-library
此镜像版本的kubeflow1.0.2版本
将其加入自己的git仓库
阿里仓库创建完成后
点击构建里的添加规则

如图所示编辑内容，选择正确的Dockerfile目]]></description><category></category></item><item><title><![CDATA[安装kubeflow报错[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108885759</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108885759</guid><author>chen_haoren</author><pubDate>Wed, 30 Sep 2020 15:17:16 +0800</pubDate><description><![CDATA[出现：[ERROR FileContent–proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
解决：
# echo "1" &gt;/proc/sys/net/bridge/bridge-nf-call-iptables


]]></description><category></category></item><item><title><![CDATA[k8s的资源管理及应用优先级（包括QoS、pod优先级）]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108775885</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108775885</guid><author>chen_haoren</author><pubDate>Thu, 24 Sep 2020 17:07:24 +0800</pubDate><description><![CDATA[文章目录资源管理资源是什么CPU的含义内存的含义请求和约束带资源请求的 Pod 如何调度和运行kubernetes资源对象请求（requests）上限（limits）默认资源配置（limit range)资源配额（resource quota）应用优先级QoS（服务质量）根据QoS进行资源回收策略QoS pods被kill掉场景与顺序pod优先级（priority）为什么要设置pod优先级
资源管理
资源是什么
在 kubernetes 中，有两个基础但是非常重要的概念：
node和pod ：
node 翻]]></description><category></category></item><item><title><![CDATA[Cgroup是什么(相关概念、功能、作用、特点、怎么用）]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108773459</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108773459</guid><author>chen_haoren</author><pubDate>Thu, 24 Sep 2020 14:39:11 +0800</pubDate><description><![CDATA[文章目录Cgroup什么是CgroupCgroup的相关概念相互关系Cgroup的功能Cgroup的作用Cgroup的层级图及特点Cgroup怎么用
Cgroup
什么是Cgroup
cgroups，其名称源自控制组群（control groups）的简写，是Linux内核的一个功能，用来限制、控制与分离一个进程组的资源（如CPU、内存、磁盘输入输出等）。
这个项目最早是由Google的工程师（主要是Paul Menage和Rohit Seth）在2006年发起，最早的名称为进程容器（process con]]></description><category></category></item><item><title><![CDATA[kubernetes创建pod的流程概述]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108754174</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108754174</guid><author>chen_haoren</author><pubDate>Wed, 23 Sep 2020 16:08:31 +0800</pubDate><description><![CDATA[文章目录什么是podk8s的框架pod创建过程kubectl与API Server交互将yaml信息写入etcd数据库scheduler 查看 k8s api 并写入etcd创建container调度计算合适的节点选择
什么是pod
Pod 是 K8s 系统的基础单元，是由用户创建或部署的最小组件，也是 K8s 系统上运行容器化应用的资源对象。
K8s 集群中其他资源对象都是为 pod 这个资源对象做支撑来实现 K8s 管理应用服务的目的。
K8s 集群组件主要包括主节点组件API Server、Contr]]></description><category></category></item><item><title><![CDATA[搭建阿里云k8s集群流程介绍]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108644459</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108644459</guid><author>chen_haoren</author><pubDate>Sun, 20 Sep 2020 13:05:07 +0800</pubDate><description><![CDATA[文章目录集群配置Worker配置组件配置确认配置
首先阿里云创建k8s集群要求至少有两台ecs服务器，可以创建集群的时候购买，也可以预先购买好。
阿里云左上角的菜单（新版本首页）-&gt;产品与服务-&gt;容器服务kubernetes版本
第一次创建会让开启ram授权，正常点击授权就可以
集群配置

创建一个专有网络，要注意不要和Pod网络CIDR和Service CIDR网段冲突


Worker配置
点击新建实例，也可以添加已有实例
新增实例：就是新购买ecs，要注意自己选择vpc和交换机
选择已有实]]></description><category></category></item><item><title><![CDATA[leetcode每日一题  移除元素  （java，golang）]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108619861</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108619861</guid><author>chen_haoren</author><pubDate>Sat, 19 Sep 2020 13:32:49 +0800</pubDate><description><![CDATA[文章目录题目思路解法javagolang
题目
给你一个数组 nums 和一个值 val，你需要 原地 移除所有数值等于 val 的元素，并返回移除后数组的新长度。
不要使用额外的数组空间，你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
示例 1:
给定 nums = [3,2,2,3], val = 3,

函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。

你不需要考虑数组中超出新长度后面的元素。

示例 2:
]]></description><category></category></item><item><title><![CDATA[Kubernetes入门：最基本的goweb部署]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108580702</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108580702</guid><author>chen_haoren</author><pubDate>Sat, 19 Sep 2020 13:32:07 +0800</pubDate><description><![CDATA[go代码
创建Web.go
vim Web.go

如下图编写
package main

import (
        "fmt"
        "log"
        "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "欢迎使用Go语言")
}

func main() {
        http.HandleFunc("/", handler)
      ]]></description><category></category></item><item><title><![CDATA[基于CentOS7的k8s集群部署]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108487986</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108487986</guid><author>chen_haoren</author><pubDate>Thu, 17 Sep 2020 13:19:16 +0800</pubDate><description><![CDATA[修改host文件：
vi /etc/hosts

添加三行

并拷贝到另两个虚拟机中
scp /etc/hosts root@k8s-node01:/etc/hosts
scp /etc/hosts root@k8s-node02:/etc/hosts

安装依赖包
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wgetvimnet-tools git

在每个节点下安装
设...]]></description><category></category></item><item><title><![CDATA[k8s的框架及各个组件的简介]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108627604</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108627604</guid><author>chen_haoren</author><pubDate>Wed, 16 Sep 2020 19:48:41 +0800</pubDate><description><![CDATA[文章目录k8s是什么k8s框架NodePodPod 和 Serviceetcd网络通讯Flannel不同情况下的网络通信方式
k8s是什么
Kubernetes是Google 2014年创建管理的，是Google 10多年大规模容器管理技术Borg的开源版本。它是容器集群管理系统，是一个开源的平台，可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
通过Kubernetes你可以：
快速部署应用
快速扩展应用
无缝对接新的应用功能
节省资源，优化硬件资源的使用

Kubernetes 特点:
可移植: ]]></description><category></category></item><item><title><![CDATA[部署k8s的时候kube-flannel.yml下载不下来解决]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108580338</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108580338</guid><author>chen_haoren</author><pubDate>Mon, 14 Sep 2020 15:41:00 +0800</pubDate><description><![CDATA[wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

wget  kube-flannel.yml的时候显示连接失败
是因为网站被墙了，建议在/etc/hosts文件添加一条
199.232.68.133 raw.githubusercontent.com
就可以正常下载了。
下载完成后创建并查看
kubectl  create -f kube-flannel.yml
kube]]></description><category></category></item><item><title><![CDATA[kubernetes: node节点不能使用kubectl解决方法]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108580002</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108580002</guid><author>chen_haoren</author><pubDate>Mon, 14 Sep 2020 15:29:23 +0800</pubDate><description><![CDATA[[root@k8s-node01~]# kubectl  get pods
后显示
The connection to the server localhost:8080 was refused - did you specify the right host or port?
解决方法
在master节点将admin.conf文件拷贝到其它从节点
[root@k8s-master ~]# scp -r /etc/kubernetes/admin.conf root@k8s-node01:/etc/kube]]></description><category></category></item><item><title><![CDATA[k8s中pod删除不了的原因和正确的删除方法]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108579445</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108579445</guid><author>chen_haoren</author><pubDate>Mon, 14 Sep 2020 15:18:48 +0800</pubDate><description><![CDATA[文章目录原因正确方法
kubernetes 可能会产生垃圾或者僵尸pod，在删除rc的时候，相应的pod没有被删除，手动删除pod后会自动重新创建，这时一般需要先删除掉相关联的resources
原因
先删除pod的话，马上会创建一个新的pod，因为deployment.yaml文件中定义了副本数量
正确方法
先删除deployment
查看deployment
kubectl get deployment

删除deployment
kubectl delete deployment &lt;name&g]]></description><category></category></item><item><title><![CDATA[docker的基本概述简介]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108417721</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108417721</guid><author>chen_haoren</author><pubDate>Sat, 05 Sep 2020 13:39:16 +0800</pubDate><description><![CDATA[文章目录docker是什么docker和虚拟机的区别原理基本组成优缺点
docker是什么
Docker本质上是一个采用虚拟化技术的容器，基于Linux容器进行再封装，使用户不用关心容器的管理，而简化应用操作。从2013开始有这个项目到现在也不过5年时间，但是发展应用却极其迅速，主要原因就是应用简单方便，传统的虚拟化是基于硬件实现的，如果要部署10个应用，则需要创建10个虚拟机，而Docker是基于操作系统做的虚拟化，也就是复用本地主机的操作系统，部署运营10个应用时只需要起10个隔离的应用即可。

doc]]></description><category></category></item><item><title><![CDATA[leetcode每日一题  整数转罗马数字（java golang）]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108408656</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108408656</guid><author>chen_haoren</author><pubDate>Fri, 04 Sep 2020 17:47:49 +0800</pubDate><description><![CDATA[文章目录题目思路解法javagolang
题目
罗马数字包含以下七种字符： I， V， X， L，C，D 和 M。
字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000

例如， 罗马数字 2 写做 II ，即为两个并列的 1。12 写做 XII ，即为 X + II 。 27 写做  XXV]]></description><category></category></item><item><title><![CDATA[leetcode每日一题 删除排序数组中的重复项目（java  golang）]]></title><link>https://blog.youkuaiyun.com/chen_haoren/article/details/108364084</link><guid>https://blog.youkuaiyun.com/chen_haoren/article/details/108364084</guid><author>chen_haoren</author><pubDate>Wed, 02 Sep 2020 16:19:34 +0800</pubDate><description><![CDATA[文章目录题目思路解法javagolang
题目
给定一个排序数组，你需要在 原地 删除重复出现的元素，使得每个元素只出现一次，返回移除后数组的新长度。
不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
示例 1:
给定数组 nums = [1,1,2], 

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 

你不需要考虑数组中超出新长度后面的元素。

示例 2:
给定 nums = [0,0,1,1,1,2,2,3,3,4]]></description><category></category></item></channel></rss>