2、主机准备
2.1、主机配置要求
- 操作系统centos7
- 内存>=2GB、CPU>=2、硬盘 >=100GB
- 内核版本>4.4
- 机器网络互通
- 可以访问外网或者提前下载镜像
- 禁用swap
软件 | 版本 |
---|---|
操作系统 | CentOS7 7.9.2009 |
docker-ce | 17.03 |
k8s | yum源安装 |
calico | 3.1.3 |
主机名称 | IP |
---|---|
master01 | 192.168.1.100 |
master02 | 192.168.1.101 |
worker01 | 192.168.1.102 |
worker02 | 192.168.1.103 |
etcd01 | 192.168.1.104 |
2.2、IP地址设置
hostnamectl set-hostname xxx
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
systemctl restart network
2.3、主机名和IP地址解析
vim /etc/hosts
ip hostname
ip1 hostname1
2.3.5、升级内核版本
#安装完成后检查 /boot/grub2/grub.cfg 中对应内核 menuentry 中是否包含 initrd16 配置
#,如果没有,再安装一次!
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
#设置开机从新内核启动
grub2-set-default "CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)"
#重启
reboot
uname -r
4.4.212-1.el7.elrepo.x86_64
2.4、系统参数设置
cat > /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_watches=89100
EOF
或者
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它
vm.overcommit_memory=1 # 不检查物理内存是否够用
vm.panic_on_oom=0 # 开启OOM
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
# 加载模块
modprobe br_netfilter
sysctl -p /etc/sysctl.d/kubernetes.conf
2.5、主机安全配置
防火墙
systemctl stop firewalld
systemctl disable firewalld
firewall-cmd --state
selinux
# 永久关闭 重启生效
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 临时关闭 即刻生效
setenforce 0
安装依赖包
yum update -y
yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp
2.6、swap分区设置
# 永久关闭 重启生效
sed -ri 's/.*swap.*/#$/' /etc/fstab
# 临时关闭 即刻生效
swapoff -a
2.7、时间同步
yum install -y ntpdate
crontab -e
0 */1 * * * ntpdate time.aliyun.com
*/1 * * * * ntpdate time.nist.gov
3、Docker安装
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum list docker-ce --showduplicates| sort -r
yum install --setopt=obsoletes=0 docker-ce-17.03.1.ce -y
mkdir /etc/docker
vim /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=systemd"],
"registry-mirrors":["https://y3oofaik.mirror.aliyuncs.com"]
}
systemctl restart docker
systemctl enable docker
docker version
docker卸载
查询卸载
yum list installed|grep docker
yum remove -y containerd.io.x86_64
直接卸载
yum remove -y docker-ce docker-ce-cli containerd.io docker-common docker-selinux docker-engine
上面四个都卸载
删除目录
rm -rf /opt/docker /opt/containerd /var/lib/docker
4、docker compose安装
all。
curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose version # 查看版本号,测试是否安装成功
你可以通过修改URL中的版本,可以自定义您的需要的版本。
5、安装k8s组件
- kubeadm
- kubelet 管理pod、容器的生命周期
- kubectl 集群管理工具
更改yum源
更改yum源为阿里云。
vim /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
yum install -y kubelet-1.17.4 kubeadm-1.17.4 kubectl-1.17.4 --disableexcludes=kubernetes
systemctl enable --now kubelet
配置kubelet的cgroup
vim /etc/sysconfig/kubelet
KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"
KUBE_PROXY_MODE="ipvs"
6、准备集群镜像
kubeadm config images list
下载镜像
images=(
kube-apiserver:v1.17.4
kube-controller-manager:v1.17.4
kube-scheduler:v1.17.4
kube-proxy:v1.17.4
pause:3.1
etcd:3.4.3-0
coredns:1.6.5
)
for imageName in ${images[@]}; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done
7、集群初始化
创建集群master节点
kubeadm init --kubernetes-version=v1.17.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=masterIP
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u)
标签:kubernetes,--,com,etc,yum,docker,k8s,安装,kubeadmin From: https://www.cnblogs.com/20190707wdd/p/16801798.html