[k8s]kubelet最佳实战
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最佳实战的更多相关文章
- k8s pod的4种网络模式最佳实战(externalIPs )
[k8s]k8s pod的4种网络模式最佳实战(externalIPs ) hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm ...
- 最佳实战Docker持续集成图文详解
最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...
- [svc]NFS存储企业场景及nfs最佳实战探究
办公网络里人一般系统用共享,尤其是财务, 他们喜欢直接点开编辑. 而不喜欢ftp nfs在网站架构中的用途 注: 如果pv量少,则放在一台机器上速度更快,如果几千万pv,则存储分布式部署. 网站架构中 ...
- vue2 入门 教程 单页应用最佳实战[*****]
推荐 vue2 入门 教程 -------- 看过其他的,再看作者的,很赞 vue2 入门 教程 单页应用最佳实战 : 具体在 https://github.com/MeCKodo/vue-tuto ...
- https证书最佳实战目录
[svc]openssl对称加密,非对称加密最佳实战 http://blog.csdn.net/iiiiher/article/details/78593464 [svc]证书的生成和各个字段的含义 ...
- vue2.0 构建单页应用最佳实战
vue2.0 构建单页应用最佳实战 前言 我们将会选择使用一些 vue 周边的库vue-cli, vue-router,vue-resource,vuex 1.使用 vue-cli 创建项目2.使 ...
- [k8s]k8s pod的4种网络模式最佳实战(externalIPs )
hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm上监听 缺点: 没法多pod负载 $ cat pod-hostport.yaml api ...
- 系统整理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 ...
- 腾讯云 K8S 集群实战 Service Mesh—Linkerd2 & Traefik2 部署 emojivoto 应用
Linkerd 是 Kubernetes 的服务网格. 它通过为您提供运行时调试(runtime debugging).可观察性(observability).可靠性(reliability)和安全性 ...
随机推荐
- 改变element-ui滚动条设置,
基于vue的滚动条组件之--element隐藏组件滚动条scrollbar使用 在项目中,总是需要用到滚动条,但windows浏览器默认的滚动条是很丑的,为了页面美观,可以考虑优化滚动条样式. vu ...
- 基于指定文本的百度地图poi城市检索的使用(思路最重要)
(转载请注明出处哦)具体的百度地图权限和apikey配置以及基础地图的配置不叙述,百度地图定位可以看这个链接的http://blog.csdn.net/heweigzf/article/details ...
- 性能问题: SQL*Net message from client 等待时间太长
今天我终于自己遇到了这个问题, PO form 打不开了, 看了下 trace 发现 SQL*Net message from client 等待时间太长. 但是这不可能是网络问题, 这个环境是在我电 ...
- BlackBerry10 开发环境搭建
最近开始学习BlackBerry10的开发,黑莓10系统是2013年1月30日黑莓公司正式发布的,目前网上资料比较少,这篇博客的内容基本上是按照官网上的文档写的.BlackBerry10目前支持C/C ...
- SpringMVC中拦截器的使用
什么是拦截器 拦截器通常一般指的是通过拦截从浏览器发往服务器的一些请求来完成某些功能的一段程序代码一般在一个请求发生之前,发生时,发生后我们都可以对请求进行拦截 拦截器可以做什么 拦截器可以用于权限验 ...
- Nodejs全站开发学习系列 & 深入浅出Node学习笔记 & Spider抓取
https://course.tianmaying.com/node 这个系列的文章看起来很不错,值得学习一下. /Users/baidu/Documents/Data/Interview/Web-S ...
- 云计算之路-试用Azure:数据库备份压缩文件在虚拟机上的恢复速度测试
测试环境:Windows Azure上海机房,虚拟机配置为大型(四核,7 GB 内存),磁盘情况见下图. 数据库备份压缩文件大于为12.0 GB (12,914,327,552 bytes),放置于T ...
- SDL 学习及相关API
SDL_PeepEvents() 在事件队列中搜索特定类型的事件. int SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventacti ...
- 演示程序之打游戏 -- 慕司板IAP15
上位机和协议制定我的大学舍友(他的微博:http://weibo.com/lesshst? topnav=1&wvr=5&topsug=1)毕业前百忙之中使用Python花了一个下午完 ...
- C++ String和其他类型互换
在C++中如何实现String和其他类型互换呢?最好的方式是使用stringstream,下面简单介绍下: 1.其他类型转换为String #include <sstream> strin ...