[TOC]
Rancher平台使用问题记录
平台问题 | 详细说明 | 备注 |
---|---|---|
rancher与k8s 异常断连 |
![]() ![]() |
1.在查看大量日志时出现过该问题 2.一些官方组织的交流群中建议优化 k8s系统参数,增加ip port range ![]() |
k8s grpc-lb无效 | 方案有4种: 1、grpc-client + k8s headless 2、envoy (grpc proxy) 3、server mesh (istio/linkerd) 4、 |
|
rancher平台部署 节点亲和性 pod亲和性/反亲和性 |
||
删除deployment,对应service未删除 | ||
headless服务部署 | ||
节点选择/在页面打污点 | ||
k3s部署 指定reserve预留资源 agent 无法设置reserve? |
https://docs.rancher.cn/docs/k3s/installation/install-options/server-config/_index/#agent-%E7%BD%91%E7%BB%9C https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ |
|
zoomkeeper更新pod始终有一个没有update | rollingUpdatePartition: 0 即可 | https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions |
Kafka部署extralaccess | ||
longhorn storage 在etcd恢复中是否可用? | ||
Kubernetes在在删除namespace后的恢复问题? | 1.通过etcd恢复所有的资源配置 2.配置所有的storageclass创建pv的回收策略为:retain |
|
开发人员使用需求汇总
需求内容 | 详细说明 | 时间 | 备注 |
---|---|---|---|
pod对cpu/memery资源可见性限制 | |||
pod支持绑定宿主机CPU核 | |||
api-gateway | |||
nuclio pod 统一对外开放访问 | |||
有状态数据库服务更新手动确认 | 更新要求: 1.先只更新一个pod 2.手动确认第一个pod运行正常之后再更新其他pod 3.pod确认时间几分钟到数小时不等,无法使用readness进行确认 |
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions |
|
k3s 在混用docker/containerd之后,重启docker导致的pod hostport模式中iptables路由混乱问题测试验证
hostport添加分析
步骤 | 添加的chain | 添加内容 | 备注 |
---|---|---|---|
1 | PREROUTING | CNI-HOSTPORT-DNAT | |
2 | CNI-HOSTPORT-DNAT | CNI-DN-xxxx | 每新增一条hostport端口,就增加一条CNI-DN-xxxx chain |
3 | CNI-DN-xxxx | DNAT到对应的pod IP | 描述具体的hostport路由到的service |
nodeport添加分析
步骤 | 添加的chain | 添加内容 | 备注 |
---|---|---|---|
1 | PREROUTING | KUBE-SERVICES | |
2 | KUBE-SERVICES | KUBE-NODEPORTS | |
3 | KUBE-NODEPORTS | KUBE-SVC-xxx | 每新增一个nodeport端口,就增加一条KUBE-SVC-xxxchain记录 |
4 | KUBE-SVC-xxx | 具体路由到对应的service |
测试步骤:
1、在集群运行一个nodeport和一个hostport服务,查看iptables路由情况
2、将hostport所有在节点k3s agent的启动容器从docker修改为containerd,重启k3s,查看iptables路由情况
3、重启docker,查看iptables路由情况
4、将k3s agent的启动容器改回docker,查看路由情况
测试结果:
1、在集群运行一个nodeport和一个hostport服务,查看iptables路由情况
pod ip分别为
- nodeport pod:10.42.1.30
- hostport pod:10.42.1.31
- CNI-HOSTPORT-DNAT 仅有一条记录
2、将hostport所有在节点k3s agent的启动容器从docker修改为containerd,重启k3s,查看iptables路由情况
pod ip分别为
- nodeport pod:10.42.1.32
- hostport pod:10.42.1.33
- CNI-HOSTPORT-DNAT 有两条记录: 10.42.1.31 10.42.1.33 (以前的hostport dnat记录没有删除)
3、重启docker,查看iptables路由情况
pod ip分别为
- nodeport pod:10.42.1.32
- hostport pod:10.42.1.33
- CNI-HOSTPORT-DNAT 有两条记录 (以前的hostport dnat记录没有删除)
4、将k3s agent的启动容器改回docker,查看路由情况
pod ip分别为
- nodeport pod:10.42.1.34
- hostport pod:10.42.1.35
- CNI-HOSTPORT-DNAT 有两条记录 10.42.1.33 10.42.1.35(以前的hostport dnat记录没有删除)
test环境中,有重复iptables规则的主机有