k8s学习记录,集群关键性配置 1.21.x(二)

文章中资料参考来源2022 云原生Kubernetes全栈架构师

1、docker服务相关

/etc/docker/daemon.json
{
# 镜像仓库地址配置
 "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
# cgroupdriver配置
 "exec-opts": ["native.cgroupdriver=systemd"],
#并发下载线程数
 "max-concurrent-downloads": 10,
#并发上传线程数
 "max-concurrent-uploads": 5,
#日志 /var/lib/docker/containers/  按300m大小切分日志文件,最多保留2个
 "log-opts": {
   "max-size": "300m",
   "max-file": "2"
 },
#开启时,重启docker服务,不会影响正在运行的docker容器
 "live-restore": true
}

2、Controller-manager配置

修改证书时间

vim /usr/lib/systemd/system/kube-controller-manager.service

#内部最长的证书有效期为5年,这里设置的比较长,可能还是以内部最长的有效期来算
--cluster-signing-duration=876000h0m0s \
#证书快过期时,kubelet会自动去申请证书,申请后会自动颁发,bootstrap;新版本中默认为true
# --feature-gates=RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true \

3、kubelet配置项

vim /etc/systemd/system/kubelet.service.d/10-kubelet.conf

#k8s本身的安全机制比较简单,这里是配置加密方式;后面的配置为下载镜像的超时时间,根据集群具体环境配置;
Environment="KUBELET_EXTRA_ARGS=--tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384  --image-pull-progress-deadline=30m"
vim /etc/kubernetes/kubelet-conf.yml


rotateServerCertificates: true
#容器部署在pod中,可能会需要修改一些内核参数,比如:最大并发数,内核优化;k8s默认不允许修改
allowedUnsafeSysctls:
 - "net.core*"
 - "net.ipv4.*"

#给k8s组件和系统预留的资源大小,我自己机器的资源不足,所以这里只给了很少的资源,生产环境尽量配置满足要求的资源数量
kubeReserved:
  cpu: "10m"
  memory: 10Mi
  ephemeral-storage: 10Mi
systemReserved:
  cpu: "10m"
  memory: 20Mi
  ephemeral-storage: 1Gi

#配置完成后重启服务
systemctl daemon-reload
systemctl restart kubelet
tail -f /var/log/messages

4、注意事项

etcd一定要和系统盘分开,一定要使用SSD盘
docker数据盘和系统盘也要分开,有钱就上SSD

posted @ 2021-05-06 16:13  Hei蛋炒饭  阅读(372)  评论(0编辑  收藏  举报