千家信息网

Centos7.6 使用kubeadm部署Kubernetes1.15集群

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,一、环境准备172.16.8.101 k8s-master01172.16.8.102 k8s-master02172.16.8.103 k8s-master03172.16.8.1
千家信息网最后更新 2024年11月11日Centos7.6 使用kubeadm部署Kubernetes1.15集群

一、环境准备

172.16.8.101    k8s-master01172.16.8.102    k8s-master02172.16.8.103    k8s-master03172.16.8.104    k8s-master04172.16.8.105    k8s-master05172.16.8.106    k8s-master06#harbor172.16.8.201    k8s-node01

1、升级内核

CentOS 7.x 系统自带的 3.10.x 内核存在一些 Bugs,导致运行的 Docker、Kubernetes 不稳定,例如:高版本的 docker(1.13 以后) 启用了 3.10 kernel 实验支持的 kernel memory account 功能(无法关闭),当节点压力大如频繁启动和停止容器时会导致 cgroup memory leak;网络设备引用计数泄漏,会导致类似于报错:"kernel:unregister_netdevice: waiting for eth0 to become free. Usage count = 1";https://blog.51cto.com/10880347/2420861https://blog.csdn.net/xiegh3014/article/details/96192233

2、设置/etc/hosts

cat >> /etc/hosts<

3、关闭防火墙及SELINUX

https://devops51.blog.csdn.net/article/details/53031781

4、关闭swap分区

swapoff -ased -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab 

5、Kernel性能调优

必须关闭 tcp_tw_recycle,否则和NAT 冲突,会导致服务不通;
关闭 IPV6,防止触发 docker BUG;

cat > /etc/sysctl.d/k8s.conf <

6、加载内核模块

modprobe ip_vs_rrmodprobe br_netfilter

7、设置系统时区

调整系统 TimeZonetimedatectl set-timezone Asia/Shanghai将当前的 UTC 时间写入硬件时钟timedatectl set-local-rtc 0重启依赖于系统时间的服务systemctl restart rsyslog systemctl restart crond

yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget
yum install -y yum-utils device-mapper-persistent-data lvm2

使用阿里云Docker Yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

选择安装的版本

yum list docker-ce --showduplicates | sort -r

已加载插件:fastestmirror, langpacks
可安装的软件包
Loading mirror speeds from cached hostfile

  • epel: mirror01.idc.hinet.net
  • elrepo: mirror.rackspace.com
    docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
    docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
    docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable

yum install docker-ce-18.09.8-3.el7 -y

启动DOcker
systemctl start docker
systemctl enable docker

cat > /etc/docker/daemon.json<{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors" : [
"https://ot2k4d59.mirror.aliyuncs.com/"
]
}
EOF
配置Docker镜像仓库必须重启
systemctl restart docker

查看Docker信息
[root@k8s-master01 ~]# docker info
Client:
Debug Mode: false

Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 18.09.8
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: systemd
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.4.183-1.el7.elrepo.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.936GiB
Name: k8s-master01
ID: YZ5Q:2IUX:THW4:Z7DF:GK43:QG4O:D2M2:DVUL:3YI3:G3Y3:J4QE:5A64
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://ot2k4d59.mirror.aliyuncs.com/
Live Restore Enabled: false
Product License: Community Engine

cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

系统 内核 时间 版本 服务 频繁 仓库 信息 功能 容器 性能 插件 时区 时钟 模块 环境 硬件 网络 网络设备 节点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保护网络安全工作汇报 电力二次网络安全防护 术士拉人密语宏如何跨服务器 网络安全法确定了什么主体责任 家里蹲 软件开发 后台软件开发升级书籍 北京免费服务器虚拟主机 数据库卸载不 武汉网络安全人才培养 中贷天下国际互联网科技 对比两个地理数据库图层数量 如何防止网络安全支付 服务器cpu核心数怎么看 显卡登录服务器不可用 陕西军工时钟同步服务器 文摘类数据库有哪些 泰拉瑞亚能不能开服务器 外国调查问卷数据库 初中文化学可以学网络技术吗 英雄联盟新服务器活动 崇明区人工智能应用软件开发 网络安全法确定了什么主体责任 宣贯网络安全等级制度 服务器cpu利用率多少算正常 我想学习app软件开发 阐述数据库的几种模型 网络安全的十大基础知识 泰拉瑞亚能不能开服务器 阜阳门店管理软件开发定制公司 企业微信怎么跳过设置服务器
0