节点亲和性攻略 这里的背景是遇到了一个小问题:我目前有3台机器(1台ssd+40m 带宽高性能),有些服务对网络、机器都有较大的要求,而其他一些则没有,请问我如何才能让特定服务运行在特定 node 上。...固展开了k8s对pod调度的学习。...k8s对pod调度的方法有: 1.通过标签nodeSelector对pod进行硬性的强制匹配调度 2.通过affinity对pod进行规则匹配,下文补充 3.也可以通过封锁,驱逐节点的方法调度pod,但是远不及上面两种方式好...)(摘至教程) nodeSelector 提供了一个非常简单的方法来将 pod 约束到具有特定标签的节点。...如果您指定了 nodeSelector 和 nodeAffinity,那么 pod 必须满足这 两个 规则才能调度到候选节点上。
监控k8s 集群节点 对于集群的监控一般我们需要考虑以下几个方面: Kubernetes 节点的监控:比如节点的 cpu、load、disk、memory 等指标 内部系统组件的状态:比如 kube-scheduler...集群节点监控 这里通过 Prometheus 来采集节点的监控指标数据,可以通过node_exporter来获取,顾名思义,node_exporter 就是抓取用于采集服务器节点的各种运行指标,目前 node_exporter...Pod,如果从集群中删除或者添加节点后,也会进行自动扩展....不是的,因为我们是要去配置上面通过node-exporter抓取到的节点指标数据,而上面是不是指定了hostNetwork=true,所以在每个节点上就会绑定一个端口9100,所以我们应该将这里的10250...:节点对象中的每个标签 _meta_kubernetes_node_annotation:来自节点对象的每个注释 _meta_kubernetes_node_address:每个节点地址类型的第一个地址
安装k8s的master节点和worker节点 B站视频地址: 5.1k8s-搭建master节点_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 复制init镜像->master master改hostname...主机名 master改ip k8s-搭建篇 k8s v1.15.0,后续可以升级v1.15.5 , v1.15.5是安全版 master 2G内存 2核CPU Linux 内核 版本 >= 3.10.0...net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF # 重新加载所有配置文件 sysctl --system # k8s...net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF # 重新加载所有配置文件 sysctl --system # k8s...discovery-token-ca-cert-hash sha256:8082ae1a748672c6767132397b4d13e5ee5d94d5096fcfe46f00775670b513a1 重复安装需要,清除k8s
背景 由于业务需求要做节点迁移,旧节点要被废弃,正好可以试试 k8s 的 taint 污浊节点操作。...taint 基本用法: $ kubectl taint --help # 添加/更新一个节点的污浊标识效果 kubectl taint nodes 节点名称> =: # 删除一个节点的污浊标识效果...,在后面加一个小横杆 - kubectl taint nodes 节点名称> :- # 删除一个节点这个key的所有效果 kubectl taint nodes - ## 如果要改动所用节点可以用...分为三部分,键、值和效果(key=value:effect),其中健和值构成关联的键值对用于和pod匹配的,effect 用来表示 node 的效果,主要包括: PerferNoSchedule,会让k8s...尽量不去调度这个节点(不保证,比如如果其他节点资源满了的情况) NoSchedule,表示这个节点不可调度,也就是新pod不会再被分配到这个节点上,旧节点依然能运行 NoExecute,表示这个节点不能运行
前言 在上一篇中搭建了单机的k8s和它的管理系统KubeSphere,但是在实际应用中肯定不是`All-in-One`形式的。...所以要在目前单机的基础上添加工作节点形成集群,默认我们上一篇安装的就是master节点,在master节点的基础上增加node节点 node节点环境配置 工作节点对于硬件环境的依赖没有太强,本篇的其中一个工作节点为...在集群管理页面,选择左侧菜单节点下的集群节点,或者执行命令 kubectl get node 以检查更改。...命令核验: 页面核验: 在页面及命令中都可以看到三个节点已经组成了集群,但是我实际配置了三台工作节点。...有一台因为是非同区域外网导致iptable无法映射没有加入成功到集群节点中,后面我尝试配置内外网映射将外网服务器加入到集群中
在上一篇文章中,我们部署了Harbor私有镜像仓库,集群自建DNS服务以及ETCD集群服务,这些服务本身并不属于K8S集群,只是K8S集群提供服务时需要用到的基础服务。...在本文中,我们将正式开始部署K8S集群,首先要部署K8S集群中的Master节点相关的各种组件,实验集群的架构图参见 搭建K8S集群之Harbor仓库、DNS和ETCD部署。...Master节点上有三个组件,分别是API Server、Scheduler已经Controller Manager,接下来我们来详述部署过程。...Master节点上的组件就全部部署完成了。...接下来,我们将部署Node节点的服务。
目前,Popeye 只查看节点、命名空间、pod 和服务。消毒器的目的是发现错误配置,即端口不匹配、无效或未使用的资源、指标利用率、探针、容器映像、RBAC 规则、裸露资源等。
k8s集群, 执行init 后会自动生成join命令 [image.png] [image.png] 执行完毕后,记录下kubeadm join命令,后面会在其他节点上执行 kubeadm join 192.168.0.17...上部署网络代理: kubectl apply -n kube-system -f "https://cloud.weave.works/k8s/net?...,默认是随机选择3个节点。...{ .spec.clusterIP }}' 直接对10.100.214.243进行curl访问 curl 10.100.214.243 [image.png] 可以看到nginx的默认欢迎界面,至此在k8s...除master节点外,选中其他节点,点击DELETE删除节点 [image.png] 删除后点击+ADD NEW INSTANCE新增节点后执行前面记录的kubeadm join命令: kubeadm
installed to: /usr/local/share/zsh/site-functions javaedge@JavaEdgedeMac-mini ~ % 3 启动 Linux # 创建单节点的...k8s 集群 [root@icv-monitor-platform-dev ~]# minikube start minikube v1.30.1 on Centos 7.4.1708 (amd64
通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。
测试环境 ip地址 信息 192.168.1.215 k8s主节点 、etcd 192.168.1.216 k8s从节点、etcd 192.168.1.139 kvm 报错: 从215服务器上面可以看到使用...k8s的命令就是没反应 要不就是回复的是时间超时!...off - hywater shut off - k8s-m1 shut off 我们将主节点的和从节点的服务器进行重启...然后再进行更新发布项目的时候会直接使k8s的主节点宕机 可以看看各个节点的磁盘状况然后进行清理一下 k8s的主节点磁盘使用率达到了85%然后其他节点也有的75% 经过排查看到日志文件过大导致的...rm -rf messages-20200824 rm -rf messages-20200831 #在进行查看df -h磁盘空间变成了65% #其他节点同理 然后宕机的节点进行重启并启动服务使k8s正常运行
卸载k8s, 可以参考这篇文章: https://blog.csdn.net/ccagy/article/details/85845979 一共分为以下几步: 1.
在上一篇文章中,我们完成了K8S系列之K8S集群之Master节点部署,在这篇文章中,我们将开始部署Node节点相关的组件。...在node节点上,需要部署kubelet和kube-proxy两个K8S组件,除此之外,还需要部署Docker环境、CNI网络插件flannel以及coredns服务。...根据我们的架构,我们在10.4.7.21和 10.4.7.22 两台服务器上同时部署Master节点和Node节点,所以,这两台服务器既是Master节点,又是Node节点。...k8s集群中了。...「四、部署flannel插件」 我们部署完成K8S集群后,也测试了集群的可用性,此时我们可以看到,我们在两台node节点上分别运行了两个pod,这两个pod的IP地址分别是 172.16.21.2 和
服务器(虚拟机) k8s环境配置 host配置 我们先给服务器定义好hosts,便于直接找到该服务器ip 192.168.192.10 node-1 注意,后面如果需要增加集群,也需要配置其他的hosts...主机名修改(非必要) 修改 /etc/hostname 改为 node-1 关闭防火墙 由于k8s的防火墙规则和系统的冲突,所以需要关闭系统的防火墙 sudo ufw disable systemctl...registry-mirrors": [ "https://reg-mirror.qiniu.com/" ] "storage-driver": "overlay2" } EOF 配置ubuntu k8s...apt-transport-https #下载 gpg 密钥 curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - #添加 k8s...,可以通过此文章继续增加 访问nginx 不管是哪个节点,都可以根据节点ip+端口方式访问: 本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn
前言 正常维护工作节点的流程 当我们要进行 K8S 节点维护时往往需要执行 kubectl drain, 等待节点上的 Pod 被驱逐后再进行维护动作。...当下集群有 2 个 worker 节点 意味着, 其中一个节点被调度了 2 个 Pod, 其中一个节点被调度了 1 个 Pod....逻辑和原理 先将需要排空的节点标记为不可调度 (kubectl cordon) 在找到该节点上的 Deployment 和 StatefulSet 资源 修改 Deployment 和 StatefulSet...的 PodTemplate, 让K8S根据对应的更新策略重新部署Pod, 这时候需要排空的节点不可被调度, 从而达到先将排空节点中的Pod安全重建到其它节点的逻辑。...kubectl drain NODE TODO 考虑节点亲和力和节点选择器的情况 输出更为友好的提示信息
# 容器的存储卷 Pod是自己有生命周期的 Pod消失后数据也会消失 所以我们要把数据放在一个容器的外面 docker存储卷在k8s上只有一定的存储性,因为k8s是调度的,Pod挂掉之后再启动不会默认之前的数据位置...脱离节点的存储设备才可以解决持久能力 在K8s上Pod删除,存储卷也会随之而删除的,这一点区分docker # 存储卷挂载方式大致分为三类 容器内存储卷挂载 宿主机存储卷挂载 分布式文件存储卷挂载
需求背景:创建TKE节点池默认都是以IP命名,也不想再自定义命名,所以在grafana展示过滤时不好识别每个节点用途解决方案:Prometheus支持label_join表达式,支持将metrics的2...Prometheus kubernetes sd中node role会带上节点label,所以思路如下:给节点打上labelkubectl label node trino=prod
在已建立好的k8s集群中删除节点后,进行添加新的节点,可参考用于添加全新node节点,若新的node需要安装docker和k8s基础组件。...在master中,查看节点数和要删除的节点数,因集群ip进行了修改,节点出现了异常。...进行删除节点操作。...在被删除的node节点中清空集群数据信息。...将node节点重新添加到k8s集群中 [root@k8s-node1 ~]# kubeadm join 10.0.1.48:6443 --token 8xwcaq.qxekio9xd02ed936
昨天分享了有关k8s管理平台的知识,基础的功能大同小异,关键在于适用于不同的业务,开发对应的功能。...今天再说说cops平台的开发进度,昨天做了导航菜单,今天就该把集群节点信息的展示功能做出来,先看看效果: 前端页面展示: 后端接口返回数据: 其实就是之前我们说的用表格展示获取的后端数据,这个数据来源于...k8s集群api的调用返回的。...这里从全流程梳理下: 前端引入表格组件,再调用后端的接口,后端程序调用K8s集群的api,获得集群相关信息,然后返回给前端,前端渲染即可。...再来看看后端api的开发: 1、和k8s集群建立连接 2、获取集群信息 3、返回数据 以下是示例代码: package main import ( "context" "fmt" "log" "