kubelet端口解析:

10250  –port:           kubelet服务监听的端口,api会检测他是否存活
10248 –healthz-port: 健康检查服务的端口
10255 –read-only-port: 只读端口,可以不用验证和授权机制,直接访问
4194 –cadvisor-port: 当前节点 cadvisor 运行的端口

kubelet参数手头书

参数 解释 默认值
–address kubelet 服务监听的地址 0.0.0.0
–port kubelet 服务监听的端口 10250
–read-only-port 只读端口,可以不用验证和授权机制,直接访问 10255
–allow-privileged 是否允许容器运行在 privileged 模式 false
–api-servers 以逗号分割的 API Server 地址,用于和集群中数据交互 []
–cadvisor-port 当前节点 cadvisor 运行的端口 4194
–config 本地 manifest 文件的路径或者目录 ""
–file-check-frequency 轮询本地 manifest 文件的时间间隔 20s
–container-runtime 后端容器 runtime,支持 docker 和 rkt docker
–enable-server 是否启动 kubelet HTTP server true
–healthz-bind-address 健康检查服务绑定的地址,设置成 0.0.0.0 可以监听在所有网络接口 127.0.0.1
–healthz-port 健康检查服务的端口 10248
–hostname-override 指定 hostname,如果非空会使用这个值作为节点在集群中的标识 ""
–log-dir 日志文件,如果非空,会把 log 写到该文件 ""
–logtostderr 是否打印 log 到终端 true
–max-open-files 允许 kubelet 打开文件的最大值 1000000
–max-pods 允许 kubelet 运行 pod 的最大值 110
–pod-infra-container-image 基础镜像地址,每个 pod 最先启动的容器,会配置共享的网络 gcr.io/google_containers/pause-amd64:3.0
–root-dir kubelet 保存数据的目录 /var/lib/kubelet
–runonce 从本地 manifest 或者 URL 指定的 manifest 读取并运行结束就退出,和 --api-servers 、--enable-server 参数不兼容
–v 日志 level 0

简单的启动kubelet

kubelet \
--api-servers=http://192.168.14.132:8080

完善的启动kubelet

kubelet \
--api-servers=http://192.168.14.132:8080 \
--pod-infra-container-image=kubeguide/pause-amd64:3.0 \
--allow-privileged=true \
--kubelethostname-override=192.168.14.133 \
--logtostderr=false \
--log-dir=/root/logs/ \
--v=2

查看node状态

参考:

https://k8smeetup.github.io/docs/concepts/architecture/nodes/

kubectl describe node

查看cadvisor(kubelet自带)

http://192.168.14.133:4194

状态观察

参考:

https://k8smeetup.github.io/docs/concepts/architecture/nodes/

  • 50s容器由exit状态到删掉
kubectl delete -f busybox.yaml  #50s容器由exit状态到删掉
  • 5min节点好像由不可用到删除
kube-controller-manager一个参数:根据节点状态删除.
# The grace period for deleting pods on failed nodes. (default 5m0s)5分钟
--pod-eviction-timeout duration Ready 条件处于状态 “Unknown” 或者 “False” 的时间超过了 pod-eviction-timeout(一个传递给 kube-controller-manager 的参数),node 上的所有 Pods 都会被 Node 控制器计划删除。默认的删除超时时长为5分钟。

kubelet报错但是没解决的-据说是1.7版本的bug.我是1.7.10

W1122 15:49:22.233484   71196 helpers.go:793] eviction manager: no observation found for eviction signal allocatableNodeFs.available
W1122 15:49:32.301474 71196 helpers.go:793] eviction manager: no observation found for eviction signal allocatableNodeFs.available
W1122 15:49:42.355303 71196 helpers.go:793] eviction manager: no observation found for eviction signal allocatableNodeFs.available
W1122 15:49:52.402125 71196 helpers.go:793] eviction manager: no observation found for eviction signal allocatableNodeFs.available

etcd报出问题--这个是etcd版本问题,不影响使用,我是yum install etcd搞的

[root@m1 yaml]# E1122 16:19:49.499797   57214 watcher.go:210] watch chan error: etcdserver: mvcc: required revision has been compacted
E1122 16:21:15.609115 57214 watcher.go:210] watch chan error: etcdserver: mvcc: required revision has been compacted

kubelet启动后会自动创建它的工作目录/var/lib/kubelet/

[root@n1 kubernetes]# tree /var/lib/kubelet/
/var/lib/kubelet/
├── plugins
└── pods
├── f56d5553-cf58-11e7-adbb-000c29154f03
│   ├── containers
│   │   └── busybox
│   │   └── 24bd58a0
│   ├── etc-hosts
│   ├── plugins
│   └── volumes
├── fffefc20-cf58-11e7-adbb-000c29154f03
│   ├── containers
│   │   └── nginx
│   │   └── 221a8328
│   ├── etc-hosts
│   ├── plugins
│   └── volumes
├── ffff1611-cf58-11e7-adbb-000c29154f03
│   ├── containers
│   │   └── nginx
│   │   └── d2d2f44d
│   ├── etc-hosts
│   ├── plugins
│   └── volumes
└── ffff1ff8-cf58-11e7-adbb-000c29154f03
├── containers
│   └── nginx
│   └── bd101c6e
├── etc-hosts
├── plugins
└── volumes

[k8s]kubelet最佳实战的更多相关文章

  1. k8s pod的4种网络模式最佳实战(externalIPs )

    [k8s]k8s pod的4种网络模式最佳实战(externalIPs )       hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm ...

  2. 最佳实战Docker持续集成图文详解

    最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...

  3. [svc]NFS存储企业场景及nfs最佳实战探究

    办公网络里人一般系统用共享,尤其是财务, 他们喜欢直接点开编辑. 而不喜欢ftp nfs在网站架构中的用途 注: 如果pv量少,则放在一台机器上速度更快,如果几千万pv,则存储分布式部署. 网站架构中 ...

  4. vue2 入门 教程 单页应用最佳实战[*****]

    推荐 vue2 入门 教程 -------- 看过其他的,再看作者的,很赞 vue2 入门 教程 单页应用最佳实战 :  具体在 https://github.com/MeCKodo/vue-tuto ...

  5. https证书最佳实战目录

    [svc]openssl对称加密,非对称加密最佳实战 http://blog.csdn.net/iiiiher/article/details/78593464 [svc]证书的生成和各个字段的含义 ...

  6. vue2.0 构建单页应用最佳实战

    vue2.0 构建单页应用最佳实战   前言 我们将会选择使用一些 vue 周边的库vue-cli, vue-router,vue-resource,vuex 1.使用 vue-cli 创建项目2.使 ...

  7. [k8s]k8s pod的4种网络模式最佳实战(externalIPs )

    hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm上监听 缺点: 没法多pod负载 $ cat pod-hostport.yaml api ...

  8. 系统整理K8S的配置管理实战-建议收藏系列

    目录 一.ConfigMap 1.1.创建 1.1.1.from-file 1.1.2.from-env-file 1.1.3.from-literal 1.1.4.基于yaml文件创建 1.2.Po ...

  9. 腾讯云 K8S 集群实战 Service Mesh—Linkerd2 & Traefik2 部署 emojivoto 应用

    Linkerd 是 Kubernetes 的服务网格. 它通过为您提供运行时调试(runtime debugging).可观察性(observability).可靠性(reliability)和安全性 ...

随机推荐

  1. gridview展开嵌套显示

    最近实在是太忙了,好几个月没有更新博客了,近来项目需要用到GRIDVIEW嵌套的,在这里跟大家分享一下,大家如有更好的解决方案,请不吝贴出.在ASP.NET中,GridView嵌套可以显示当前选定的父 ...

  2. C# base64编码的字符串与图片互转

    protected string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = new Bitmap(Imagefilena ...

  3. mysql 中添加索引的三种方法

    原文:http://www.andyqian.com/2016/04/06/database/mysqleindex/ 在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以 ...

  4. iOS: 状态栏、导航栏、标签栏、工具栏

    三种项目栏总结: 工具栏:UIToolBar 导航栏:UINavigationBar 标签栏:UITabBar   UIToolBar的按钮单元为:UIBarButtonItem UINavigati ...

  5. Jpeglib读取jpg文件 【转】

    http://blog.csdn.net/blues1021/article/details/45424695 整理自 : http://hi.baidu.com/lewutian/item/e8ee ...

  6. 理解Flow静态类型检查

    一.为什么在JavaScript中使用静态类型 了解静态类型的最快方法是将其与动态类型进行对比. 有静态类型参数的语言被称为静态类型语言. 另一方面,有动态类型参数的语言被称为动态类型语言.核心区别是 ...

  7. Vue脚手架(vue-cli)搭建和目录结构详解

    一.环境搭建 1.安装node.npm.webpack,不多说 2.安装vue-cli脚手架构建工具,打开命令行工具输入:npm install vue-cli -g,安装完成之后输入 vue -V( ...

  8. (转)Akka学习笔记

    Akka学习笔记系列文章: <Akka学习笔记:ACTORS介绍> <Akka学习笔记:Actor消息传递(1)> <Akka学习笔记:Actor消息传递(2)> ...

  9. CardLayout使用

    相对于BoxLayout,GridBugLayut等常用的Swing layout,CardLayout是特殊的,前者是一个容器内布置组件,而后者是在一个容器内放置很多页面(但一个时间只用显示一个). ...

  10. limit是mysql的语法

    select * from table limit m,n 其中m是指记录开始的index,从0开始,表示第一条记录 n是指从第m+1条开始,取n条. , 即取出第3条至第6条,4条记录 转自:htt ...