Kubernetes证书续期100年
问题:有客户要求将证书续期100年,实际,只能续期10年
原因:ca 证书的有效期只有10年。
对策:修改Kubernetes代码,有2处修改。
第一处修改的代码位于Kubernetes项目的
\staging\src\k8s.io\client-go\util\cert\cert.go 60行
tmpl := x509.Certificate{
SerialNumber: new(big.Int).SetInt64(0),
Subject: pkix.Name{
CommonName: cfg.CommonName,
Organization: cfg.Organization,
},
DNSNames: []string{cfg.CommonName},
NotBefore: now.UTC(),
NotAfter: now.Add(duration365d * 10).UTC(),
KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign,
BasicConstraintsValid: true,
IsCA: true,
}
将 now.Add(duration365d * 10).UTC(), 改成 now.Add(duration365d * 10 * 10).UTC(),
第二处修改的代码位于Kubernetes项目的
kubernetes\cmd\kubeadm\app\constants\constants.go 48行
// CertificateValidity defines the validity for all the signed certificates generated by kubeadm
CertificateValidity = time.Hour * 24 * 365
将 time.Hour * 24 * 365 改成 time.Hour * 24 * 365 * 100
进入kubernete项目的根目录,执行
make all WHAT=cmd/kubeadm GOFLAGS=-v
编译的产物:可执行文件kubeadm 位于 _output/bin/kubeadm 目录下
参考:
文件存储出现间歇性读写失败
无法读写文件,甚至ssh无法登陆,login后没有生成session。只能控制台登陆。这时候要考虑是不是磁盘满了。
若df -h发现磁盘还有足够空余,还要检查是否因为小文件太多导致inode满了。df -i命令查看。
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/dev01-root 4964352 4964352 0 100% /
udev 503779 440 503339 1% /dev
tmpfs 506183 353 505830 1% /run
none 506183 5 506178 1% /run/lock
none 506183 2 506181 1% /run/shm
/dev/sda1 124496 255 124241 1% /boot
解决inodes 占用100%,两种途径,一是删除无用文件,二是扩容。
检查tmp目录文件数量 ls -lt /tmp | wc -l
若tmp目录文件数量过多,删除tmp目录文件 find /tmp -type f -exec rm {} ;
若删除不能解决问题,得考虑扩容了。ext4文件格式不支持inode扩容,xfs文件格式支持inode扩容
ext4文件格式支持在分区格式化的时候配置inode参数调整inode空间大小,但是这么做还不如直接将磁盘设定为可扩容的xfs格式。
[root@dqysh020073 app]# xfs_info /app
meta-data=/dev/mapper/VolGroup-app isize=512 agcount=4, agsize=773888 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=3095552, imaxpct=1
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
isize=512表示inode默认大小512字节,imaxpct=1 表示inode最大占1%的空间,可以通过命令 xfs_growfs -m 2 /app 扩容inode。
扩容后,用 df -i 命令验证inode信息。
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至 backendcloud@gmail.com