当前位置:   article > 正文

【云原生】Kubeadm部署k8s

【云原生】Kubeadm部署k8s

目录

一、部署步骤

二、部署kubernetes

2.1、所有节点关闭防火墙 核心防护 iptables规则 swap交换

2.2、修改主机名并添加主机映射

2.3、调整内核参数

三、安装Docker

3.1、所有节点安装docker

3.2、所有接点添加镜像加速器

3.3、开启docker、并设置开机自启、查看状态

四、安装kubeadm,kubelet和kubectl

4.1、定义kubernetes源

4.2、安装kubeadm,kubelet和kubectl

4.3、开机自启kubelet

五、部署K8S集群

5.1、查看初始化需要的镜像

5.2、初始化kubeadm

5.3、设定kubectl

5.4、所有节点部署网络插件

5.5、在 node 节点上执行 kubeadm join 命令加入群集并查看状态

5.6、测试pod创建资源

5.7、暴露端口提供服务

5.8、测试访问

5.9、扩展3个副本

六、部署 Dashboard

6.1、上传 相关yaml 文件到 /opt/k8s 目录中

6.2、创建service account并绑定默认cluster-admin管理员集群角色

七、安装Harbor私有仓库

7.1、修改主机名,添加主机名和ip的映射

7.2、安装Docker20版本

7.2.1 添加镜像加速器

7.2.2 开启docker并设为开机自启

7.3、安装harbor

7.3.1 准备docker-compose安装包

7.3.2 准备harbor私有仓库的安装包

7.3.3 生成证书、私钥

7.3.4 启动Harbor

7.3.5 浏览器访问

7.3.6 在一个node节点上登录harbor

7.3.7 登录Harbar上传镜像

7.4、安装ipvsadm

7.4.1 修改调度策略,再去访问

7.5、浏览器访问

7.6、内核参数优化方案


一、部署步骤

  1. 在所有节点上安装Docker和kubeadm
  2. 部署Kubernetes Master
  3. 部署容器网络插件
  4. 部署 Kubernetes Node,将节点加入Kubernetes集群中
  5. 部署 Dashboard Web 页面,可视化查看Kubernetes资源
  6. 部署 Harbor 私有仓库,存放镜像资源

二、部署kubernetes

实验环境

服务器IP地址主要组件
master192.168.10.100docker / kubeadm / kubelet / kubectl / flannel
node01192.168.10.101docker/kubeadm/kubelet/kubectl/flannel
node02192.168.10.102docker/kubeadm/kubelet/kubectl/flanne
harbor192.168.10.103docker、docker-compose、harbor-offline-v1.2.2

2.1、所有节点关闭防火墙 核心防护 iptables规则 swap交换

以下图片只展示一个,过程都一样

  1. systemctl stop firewalld
  2. systemctl disable firewalld
  3. setenforce 0
  4. sed -i 's/enforcing/disabled/' /etc/selinux/config
  5. iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
  6. swapoff -a ##交换分区必须要关闭
  7. sed -ri 's/.*swap.*/#&/' /etc/fstab ##永久关闭swap分区,&符号在sed命令中代表上次匹配的结果
  8. for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done ##加载模块

2.2、修改主机名并添加主机映射

  1. hostnamectl set-hostname master01
  2. bash
  3. hostnamectl set-hostname node01
  4. bash
  5. hostnamectl set-hostname node02
  6. bash
  7. echo "192.168.10.100 master01" >> /etc/hosts
  8. echo "192.168.10.101 node01" >> /etc/hosts
  9. echo "192.168.10.102 node02" >> /etc/hosts
  10. echo "192.168.10.103 hub.hg.com" >> /etc/hosts
  11. cat /etc/hosts

2.3、调整内核参数

  1. cat > /etc/sysctl.d/kubernetes.conf << EOF
  2. #开启网桥模式,可将网桥的流量传递给iptables链
  3. net.bridge.bridge-nf-call-ip6tables=1
  4. net.bridge.bridge-nf-call-iptables=1
  5. #关闭ipv6协议
  6. net.ipv6.conf.all.disable_ipv6=1
  7. net.ipv4.ip_forward=1
  8. EOF
  9. //生效参数
  10. sysctl --system

三、安装Docker

3.1、所有节点安装docker

  1. [root@master01 ~]#yum install -y yum-utils device-mapper-persistent-data lvm2
  2. [root@master01 ~]#yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. [root@master01 ~]#yum install -y docker-ce docker-ce-cli containerd.io
  4. [root@master01 ~]#mkdir /etc/docker/
  5. [root@master01 ~]#cat > /etc/docker/daemon.json <<EOF
  6. {
  7. "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],
  8. "exec-opts": ["native.cgroupdriver=systemd"],
  9. "log-driver": "json-file",
  10. "log-opts": {
  11. "max-size": "100m"
  12. }
  13. }
  14. EOF
  15. [root@master01 ~]#systemctl daemon-reload
  16. [root@master01 ~]#systemctl restart docker.service
  17. [root@master01 ~]#systemctl enable docker.service

3.2、所有接点添加镜像加速器

  1. cat > /etc/docker/daemon.json <<EOF
  2. {
  3. "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],
  4. "exec-opts": ["native.cgroupdriver=systemd"],
  5. "log-driver": "json-file",
  6. "log-opts": {
  7. "max-size": "100m"
  8. }
  9. }
  10. EOF
  11. #使用Systemd管理的Cgroup来进行资源控制与管理,因为相对Cgroupfs而言,Systemd限制CPU、内存等资源更加简单和成熟稳定。
  12. #日志使用json-file格式类型存储,大小为100M,保存在/var/log/containers目录下,方便ELK等日志系统收集和管理日志。

3.3、开启docker、并设置开机自启、查看状态

  1. systemctl daemon-reload
  2. systemctl restart docker.service
  3. systemctl enable docker.service
  4. systemctl status docker.service
  5. docker info | grep "Cgroup Driver"
  6. Cgroup Driver: systemd ##结果

四、安装kubeadm,kubelet和kubectl

所有节点安装

4.1、定义kubernetes源

  1. cat > /etc/yum.repos.d/kubernetes.repo << EOF
  2. [kubernetes]
  3. name=Kubernetes
  4. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
  5. enabled=1
  6. gpgcheck=0
  7. repo_gpgcheck=0
  8. gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  9. EOF

4.2、安装kubeadm,kubelet和kubectl

yum install -y kubelet-1.20.11 kubeadm-1.20.11 kubectl-1.20.11

4.3、开机自启kubelet

systemctl enable kubelet.service

五、部署K8S集群

5.1、查看初始化需要的镜像

  1. [root@master01 ~]#kubeadm config images list
  2. [root@master01 opt]#unzip v1.20.11.zip -d /opt/k8s/
  3. [root@master01 opt]#cd /opt/k8s/v1.20.11/
  4. [root@master01 v1.20.11]#for i in $(ls *.tar); do docker load -i $i; done
  5. #复制镜像和脚本到 node 节点,并在 node 节点上执行脚本加载镜像文件
  6. [root@master01 v1.20.11]#scp -r /opt/k8s/ root@192.168.10.132:/opt/
  7. [root@master01 v1.20.11]#scp -r /opt/k8s/ root@192.168.10.133:/opt/
  8. [root@node01 v1.20.11]# for i in $(ls *.tar); do docker load -i $i; done
  9. [root@node02 v1.20.11]# for i in $(ls *.tar); do docker load -i $i; done

5.2、初始化kubeadm

  1. kubeadm config print init-defaults > /opt/kubeadm-config.yaml
  2. vim kubeadm-config.yaml
  3. advertiseAddress: 192.168.10.100 ## 12
  4. kubernetesVersion: v1.20.11 ## 34
  5. podSubnet: 10.244.0.0/16 ## 37
  6. serviceSubnet: 10.96.0.0/16 ## 38
  7. --- ## 40
  8. apiVersion: kubeproxy.config.k8s.io/v1alpha1 ## 41
  9. kind: KubeProxyConfiguration ## 42
  10. mode: ipvs ## 43
  11. kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.log
  12. #--experimental-upload-certs 参数可以在后续执行加入节点时自动分发证书文件,K8S V1.16版本开始替换为 --upload-certs
  13. #tee kubeadm-init.log 用以输出日志
  14. //查看 kubeadm-init 日志
  15. less kubeadm-init.log
  16. //kubernetes配置文件目录
  17. ls /etc/kubernetes/
  18. //存放ca等证书和密码的目录
  19. ls /etc/kubernetes/pki

5.3、设定kubectl

kubectl需经由API server认证及授权后方能执行相应的管理操作,kubeadm 部署的集群为其生成了一个具有管理员权限的认证配置文件 /etc/kubernetes/admin.conf,它可由 kubectl 通过默认的 “$HOME/.kube/config” 的路径进行加载。

  1. [root@master01 opt]#mkdir -p $HOME/.kube
  2. [root@master01 opt]#cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  3. [root@master01 opt]#chown $(id -u):$(id -g) $HOME/.kube/config
  4. [root@master01 opt]#kubectl get node
  5. [root@master01 opt]#kubectl get cs
  6. #如果 kubectl get cs 发现集群不健康,更改以下两个文件
  7. [root@master01 opt]#vim /etc/kubernetes/manifests/kube-scheduler.yaml
  8. [root@master01 opt]#vim /etc/kubernetes/manifests/kube-controller-manager.yaml
  9. 把httpGet:字段下的hosts由127.0.0.1变成192.168.10.100(有两处)
  10. #- --port=0 # 搜索port=0,把这一行注释掉
  11. host: 192.168.10.100 ##修改地址
  12. [root@master01 opt]#systemctl restart kubelet.service
  13. [root@master01 opt]#kubectl get cs
  14. [root@master01 opt]#kubectl get node

  1. [root@master01 opt]#vim /etc/kubernetes/manifests/kube-scheduler.yaml
  2. - --bind-address=192.168.10.100 ## 第16
  3. # - --port=0 ## 第19
  4. host: 192.168.10.100 ## 第25
  5. host: 192.168.10.100 ## 第39

  1. [root@master01 opt]#vim /etc/kubernetes/manifests/kube-scheduler.yaml
  2. - --bind-address=192.168.10.100 ## 第17
  3. # - --port=0 ## 第26
  4. host: 192.168.10.100 ## 第37
  5. host: 192.168.10.100 ## 第51

5.4、所有节点部署网络插件

  1. cd /opt
  2. unzip kuadmin.zip ##上传所需要的压缩包
  3. 解压
  4. unzip kuadmin.zip
  5. scp flannel-cni-v1.2.0.tar flannel-v0.22.2.tar node01:/opt/ ##拷贝到node01
  6. scp flannel-cni-v1.2.0.tar flannel-v0.22.2.tar node01:/opt/ ##拷贝到node02

  1. [root@master01 opt]#docker load -i flannel-cni-v1.2.0.tar
  2. [root@master01 opt]#docker load -i flannel-v0.22.2.tar
  3. [root@master01 opt]#docker images

  1. [root@master01 opt]#kubectl apply -f kube-flannel.yml
  2. [root@master01 opt]#kubectl get node

5.5、在 node 节点上执行 kubeadm join 命令加入群集并查看状态

将node节点加进来,

  1. [root@master01 opt]#ls
  2. [root@master01 opt]#cat kubeadm-init.log
  3. ##node01和node02上面添加
  4. kubeadm join 192.168.10.100:6443 --token abcdef.0123456789abcdef \
  5. --discovery-token-ca-cert-hash sha256:3800375b6db6fe668a7812e883ff1dc7ecc405c5ead58d289a6f015b594d1205
  6. ##master01查看
  7. [root@master01 opt]#kubectl get node
  8. [root@master01 opt]#kubectl get cs
  9. [root@master01 opt]#kubectl get pods -n kube-system
  10. [root@master01 opt]#kubectl get pod -n kube-flannel
  11. [root@master01 opt]#kubectl get pod -n kube-flannel -owide

由于机器的原因,换了三台,和之前位置相似 

5.6、测试pod创建资源

  1. kubectl create deployment nginx --image=nginx ##拉取nginx
  2. [root@master01 opt]#kubectl get pod ##看是否拉取到
  3. [root@master01 opt]#kubectl get pod -owide ##查看详细信息
  4. [root@master01 opt]#curl 10.244.2.2 ##只能对内访问,不能访问

5.7、暴露端口提供服务

  1. [root@master01 opt]#kubectl expose deployment nginx --port=80 --type=NodePort
  2. [root@master01 opt]#kubectl get svc

5.8、测试访问

  1. 192.168.10.103:31606
  2. 192.168.10.104:31606

5.9、扩展3个副本

  1. [root@master01 opt]#kubectl scale deployment nginx --replicas=3
  2. [root@master01 opt]#kubectl get pods -o wide

六、部署 Dashboard

6.1、上传 相关yaml 文件到 /opt/k8s 目录中

在 master01 节点上操作

  1. 在 master01 节点上操作
  2. #上传 recommended.yaml 文件到 /opt/k8s 目录中
  3. cd /opt/k8s
  4. vim recommended.yaml
  5. #默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:
  6. kind: Service
  7. apiVersion: v1
  8. metadata:
  9. labels:
  10. k8s-app: kubernetes-dashboard
  11. name: kubernetes-dashboard
  12. namespace: kubernetes-dashboard
  13. spec:
  14. ports:
  15. - port: 443
  16. targetPort: 8443
  17. nodePort: 30001 #添加
  18. type: NodePort #添加
  19. selector:
  20. k8s-app: kubernetes-dashboard
  21. ##上传dashboard.tar metrics-scraper.tar到/opt目录下
  22. ##远程从master拷贝到node节点的/opt下
  23. [root@master01 opt]#scp dashboard.tar metrics-scraper.tar node01:/opt/
  24. ##master节点执行下面语句
  25. kubectl apply -f recommended.yaml
  26. #使用输出的token登录Dashboard
  27. https://NodeIP:30001

6.2、创建service account并绑定默认cluster-admin管理员集群角色

  1. #创建service account并绑定默认cluster-admin管理员集群角色
  2. kubectl create serviceaccount dashboard-admin -n kube-system
  3. kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
  4. kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

6.3、登录Dashboard

#使用输出的token登录Dashboard
https://NodeIP:30001

无论哪个node的IP地址、因为服务都是运行在node上的

https://192.168.10.104:30001

 

七、安装Harbor私有仓库

7.1、修改主机名,添加主机名和ip的映射

  1. #修改主机名
  2. hostnamectl set-hostname hub.hg.com
  3. #所有节点加上主机名映射
  4. echo "192.168.10.103 master01" >> /etc/hosts
  5. echo "192.168.10.104 node01" >> /etc/hosts
  6. echo "192.168.10.105 node02" >> /etc/hosts
  7. echo "192.168.10.106 hub.hg.com" >> /etc/hosts
  8. cat /etc/hosts

7.2、安装Docker20版本

  1. yum install -y yum-utils device-mapper-persistent-data lvm2
  2. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18 containerd.io
  4. mkdir /etc/docker
  5. cat > /etc/docker/daemon.json <<EOF
  6. {
  7. "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],
  8. "exec-opts": ["native.cgroupdriver=systemd"],
  9. "log-driver": "json-file",
  10. "log-opts": {
  11. "max-size": "100m"
  12. },
  13. "insecure-registries": ["https://hub.hg.com"]
  14. }
  15. EOF
  16. systemctl start docker
  17. systemctl enable docker

7.2.1 添加镜像加速器

所有节点都需要修改

  1. vim /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],
  4. "exec-opts": ["native.cgroupdriver=systemd"],
  5. "log-driver": "json-file",
  6. "log-opts": {
  7. "max-size": "100m"
  8. },
  9. "insecure-registries": ["https://hub.hg.com"]
  10. }

7.2.2 开启docker并设为开机自启

  1. ##首先加载一下,因为前面把每个节点都配置了镜像加速器
  2. systemctl daemon-reload
  3. systemctl restart docker.service
  4. systemctl enable docker.service
  5. systemctl status docker.service
  6. ##此处就显示一个界面,其他节点的不展示了

7.3、安装harbor

7.3.1 准备docker-compose安装包

  1. [root@hub ~]#cd /usr/local/bin/
  2. ##上传docker-compose ##直接将docker-compose上传到/usr/local/bin/
  3. docker-compose
  4. [root@hub bin]#chmod +x docker-compose ##添加执行权限

7.3.2 准备harbor私有仓库的安装包

官网下载地址:http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
  1. ##首先进入/opt,然后将下载好的harbor压缩包上传到/opt
  2. ##进行解压
  3. [root@hub opt]#tar xf harbor-offline-installer-v1.2.2.tgz
  4. ##将harbor配置文件进行备份
  5. [root@hub harbor]#cp harbor.cfg{,.bak}
  6. ##对harbor.cfg配置文件进行修改
  7. [root@hub harbor]#vim harbor.cfg
  8. hostname = reg.hg.com ##第5
  9. ui_url_protocol = https ##第9
  10. db_password = root123 ##第12
  11. ssl_cert_key = /data/cert/server.key ##第25
  12. harbor_admin_password = Harbor12345 ##第59

7.3.3 生成证书、私钥

生成证书

  1. make -p /data/cert
  2. cd /data/cert

#生成私钥

  1. openssl genrsa -des3 -out server.key 2048
  2. ##密码:123456
  3. -------------------------------------------------------------------------------------------
  4. openssl #这是一个强大的加密库和工具集,用于处理SSL/TLS协议和相关的加密操作。
  5. genrsa #openssl的子命令,用于生成 RSA 私钥。
  6. -des3 #openssl 使用 DES3算法来加密生成的私钥。
  7. -out server.key #这个选项指定了输出文件的名称,即生成的私钥将被保存在名为server.key的文件中。
  8. 2048 #这个数字指定了RSA密钥的长度(以位为单位)。

#生成证书签名请求文件

  1. openssl req -new -key server.key -out server.csr
  2. =========================================================================================
  3. req #用于处理与证书签名请求(CSR)和私钥相关的任务。
  4. -new #这个选项指示OpenSSL创建一个新的证书签名请求。
  5. -key server.key #指定用于生成CSR的私钥文件的路径
  6. -out server.csr #指定生成的CSR文件的输出路径。
  7. =========================================================================================
  8. -----------------------------------------------------------------------------------------
  9. 输入私钥密码:123456
  10. 输入国家名:CN
  11. 输入省名:BJ
  12. 输入市名:BJ
  13. 输入组织名:HG
  14. 输入机构名:HG
  15. 输入域名:hub.hg.com
  16. 输入管理员邮箱:admin@hg.com
  17. 其它全部直接回车
  18. -----------------------------------------------------------------------------------------
  19. #备份私钥
  20. cp server.key server.key.org
  21. #清除私钥密码
  22. openssl rsa -in server.key.org -out server.key
  23. 输入私钥密码:123456
  24. #签名证书
  25. openssl x509 -req -days 1000 -in server.csr -signkey server.key -out server.crt
  26. chmod +x /data/cert/*
  27. cd /opt/harbor/
  28. ./install.sh

备份私钥

cp server.key server.key.org

清除私钥密码

openssl rsa -in server.key.org -out server.key

签名证书

  1. openssl x509 -req -days 1000 -in server.csr -signkey server.key -out server.crt
  2. ===========================================================================================
  3. openssl x509 #这是OpenSSL的一个子命令,用于处理X.509证书。
  4. -req #指示OpenSSL从一个CSR文件中读取请求信息。
  5. -days 1000 #设置证书的有效期为1000天。这意味着证书将在 1000 天后过期。
  6. -in server.csr #指定CSR文件的输入路径
  7. -signkey server.key #使用指定的私钥(server.key)对CSR进行签名,生成证书。
  8. -out server.crt #指定输出的证书文件路径。在这个例子中,证书文件将被保存为server.crt
  9. ===========================================================================================
  10. chmod +x /data/cert/*

7.3.4 启动Harbor

  1. [root@hub cert]#cd /opt/harbor/
  2. [root@hub harbor]#./install.sh
  3. #执行命令 ./install.sh 以 pull 镜像并启动容器
  4. #运行./install.sh时,这个脚本会执行一系列的步骤来配置和启动Harbor服务。这些步骤可能包括:
  5. #检查和准备安装环境(如检查必要的依赖项、配置文件等)。
  6. #生成或验证 Harbor 的配置文件(通常是 harbor.yml)。
  7. #创建必要的数据目录和文件。
  8. #初始化数据库(如果使用了数据库存储)。
  9. #启动 Harbor 的各个组件(如 core、registry、portal、jobservice 等)

7.3.5 浏览器访问

  1. 添加主机映射
  2. 在本地使用火狐浏览器访问:https://hub.hg.com
  3. 点击高级--->添加例外---->确认安全例外
  4. 用户密码登录,默认为:
  5. 用户名:admin
  6. 密码:Harbor12345

7.3.6 在一个node节点上登录harbor

docker login -u admin -p Harbor12345 https://hub.hg.com

7.3.7 登录Harbar上传镜像

在node01节点操作

  1. ​##上传镜像
  2. docker tag nginx:latest hub.hg.com/library/nginx:v1
  3. docker push hub.hg.com/library/nginx:v1

在master节点上删除之前创建的nginx资源

  1. kubectl delete deployment nginx
  2. kubectl create deployment nginx-deployment --image=hub.hg.com/library/nginx:v1 --port=80 --replicas=3
  3. kubectl expose deployment nginx-deployment --port=30000 --target-port=80
  4. kubectl get svc,pods
  5. kubectl get svc,pods -owide

访问验证

curl 10.244.1.7

7.4、安装ipvsadm

  1. [root@master01 k8s]#yum -y install ipvsadm.x86_64
  2. [root@master01 k8s]#ipvsadm -Ln
  3. [root@master01 k8s]#curl 10.96.30.170:30000

7.4.1 修改调度策略,再去访问

  1. kubectl edit svc nginx-deployment
  2. 25 type: NodePort #把调度策略改成NodePort
  3. [root@master01 k8s]#kubectl get svc
  4. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  5. kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2d3h
  6. nginx NodePort 10.96.169.156 <none> 80:31606/TCP 2d3h
  7. nginx-deployment NodePort 10.96.30.170 <none> 30000:31973/TCP 10h
  8. [root@master01 k8s]#

7.5、浏览器访问

  1. 浏览器访问:
  2. http://192.168.10.103:31973/
  3. http://192.168.10.104:31973/
  4. http://192.168.10.105:31973/

  1. #将cluster-admin角色权限授予用户system:anonymous
  2. kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system:anonymous

7.6、内核参数优化方案

  1. cat > /etc/sysctl.d/kubernetes.conf <<EOF
  2. net.bridge.bridge-nf-call-iptables=1
  3. net.bridge.bridge-nf-call-ip6tables=1
  4. net.ipv4.ip_forward=1
  5. net.ipv4.tcp_tw_recycle=0
  6. vm.swappiness=0 #禁止使用 swap 空间,只有当系统内存不足(OOM)时才允许使用它
  7. vm.overcommit_memory=1 #不检查物理内存是否够用
  8. vm.panic_on_oom=0 #开启 OOM
  9. fs.inotify.max_user_instances=8192
  10. fs.inotify.max_user_watches=1048576
  11. fs.file-max=52706963 #指定最大文件句柄数
  12. fs.nr_open=52706963 #仅4.4以上版本支持
  13. net.ipv6.conf.all.disable_ipv6=1
  14. net.netfilter.nf_conntrack_max=2310720
  15. EOF
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/618668
推荐阅读
相关标签
  

闽ICP备14008679号