1、使用镜像库凭证列表,从私有仓库拉取镜像。
要先添加好凭证,再部署工作负载。
如果拉不到镜像,需要配置好凭证后删除工作负载重新部署。
2、挂载工作负载的日志目录到主机映射卷,发现不能写日志,用户权限已经chown过
查看发现pods内/etc/passwd
与工作节点主机/etc/passwd
虽然名称相同,但是用户标识号(UID)
组标识号(GID)
不同,主机直接useradd的id号为1000
考虑镜像制作的时候指定了该配置,所以工作主机使用
groupadd -g 2001 user && useradd -u 2001 -g 2001 group
来实现与pods内相同的配置,发现日志文件正常可以创建了。
3、同命名空间内pods之间通讯,使用工作负载的名称来代替IP地址,且使用容器port
不在同命名空间的pods之间通讯,使用工作负载的名称.命名空间的格式来通讯,使用容器port。例如:
maraidb.basic:3306
集群之外的主机,访问工作负载,需要配置工作负载为NodePort模式,使用30000以上的端口来访问
4、负载均衡功能,可以用来配置域名来对应到某个工作负载,且可以调用配置好的https证书
5、关于mariaDB的my.cnf
使用一个不是最全的my.cnf,挂到/etc/mysql/my.cnf发现部分配置没有生效,还是用了默认的
分析问题发现,在/etc下无my.cnf的时候,可能数据目录/var/lib/mysql下my.cnf优先级比/etc/mysql/my.cnf高
在/var/lib/mysql下增加挂载自己的配置文件后生效配置文件内的配置了。
6、关于mysql8的my.cnf
/etc/mysql/conf.d下的mysql.cnf
/etc/mysql/下的my.cnf
挂载之后要给.cnf文件至少664 或者775 权限
否则初始化配置不能生效
7、部署SpringBoot项目使用SERVER_PORT变量
发现该变量被K8S定义,默认服务名_PORT变量=tcp://ip:port
导致项目不能启动。服务名不该使用SERVER