1、安装docker
1.1、增加docker 源
1 | yum-config-manager \ |
官方的源比较慢,可以增加阿里的源
1 | # yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
我是不会和普通的羊一般见识的。
ip | type | docker | os | k8s version |
---|---|---|---|---|
172.21.17.30 | master,etcd | CentOS Linux release 7.4.1708 | v1.14.6 | |
172.21.17.31 | master,etcd | CentOS Linux release 7.4.1708 | ||
172.21.16.110 | master,etcd | CentOS Linux release 7.4.1708 | ||
172.21.16.87 | node,flanneld | 18.06.2-ce | CentOS Linux release 7.4.1708 | |
172.21.16.240 | node,flanneld,ha+kee | 18.06.2-ce | CentOS Linux release 7.4.1708 | |
172.21.16.204 | node,flanneld,ha+kee | 18.06.2-ce | CentOS Linux release 7.4.1708 | |
172.21.16.45 | vip | CentOS Linux release 7.4.1708 |
简单的说,ingress就是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上。Ingress相当于nginx、apache等负载均衡反向代理服务器,其中还包括规则定义,即URL的路由信息。
Traefik是一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,实现自动化动态配置。Traefik通过不断地跟 kubernetes API 打交道,实时的感知后端 service、pod 等变化,比如pod,service 增加与减少等;当得到这些变化信息后,Ingress自动更新配置并热重载 ,达到服务发现的作用。
Helm类似与linux下面的yum,Helm是一个用于kubernetes的包管理器,每一个包为一个chart,一个chart是一个目录,常常会对目录进行打包压缩,形成一个${name}-version.tgz的格式进行传输和存储。
Helm还提供了kubernetes上的软件部署,删除,升级,回滚应用的强大功能
metrics-server 通过 kube-apiserver 发现所有节点,然后调用 kubelet APIs(通过 https 接口)获得各节点(Node)和 Pod 的 CPU、Memory 等资源使用情况。Kubernetes 1.12 开始,kubernetes 的安装脚本移除了 Heapster,从 1.13 开始完全移除了对 Heapster 的支持,Heapster 不再被维护。
使用 metrics-server 替代 Heapster,将无法在 dashboard 中以图形展示 Pod 的内存和 CPU 情况,需要通过 Prometheus、Grafana 等监控方案来弥补。
kubelet 启动后监听多个端口,用于接收 kube-apiserver 或其它客户端发送的请求:
1 | [root@k8s-3 ~]# netstat -lnpt|grep kubelet |
nfs 错误kernel: NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO
很久没挂载过nfs,忘记客户端怎么挂在nfs的了,服务端很早就安装好了,今天一台客户机需要挂载nfs,然后居然报错了,然后找了一圈居然没找到怎么解决,然后又重新看了一次centos nfs的配置。
在客户端挂载nfs的提示很慢,长时间无响应,强行结束看看是什么问题,查看日志
1 | $ sudo tail -f /var/log/messages |
有时候k8s node 在加入集群的时候不经意的时候弄错啦某些东西,这时候可以把这个node删除,然后重新加入,删除节点之前我们需要做一下常规化的操作,来保障运行在该节点的pod迁移到其他的node上。