目录
系统说明
CentOS 镜像 CentOS-7-x86_64-DVD-1908.iso
版本 CentOS Linux release 7.7.1908 (Core)
阿里云镜像地址 https://developer.aliyun.com/mirror/
下载地址: https://mirrors.aliyun.com/centos/
https://mirrors.aliyun.com/centos/7/isos/x86_64/
每台集群要求 CPU 核心数 2
安装说明
节点 | 需要安装 | 操作 |
master | docker kubelet kubeadm kubectl 网络插件calico | kubeadm init |
worker | docker kubelet kubeadm kubectl
| kubeadm join |
docker 安装
配置阿里镜像加速器
// 创建 docker 目录
mkdir -p /etc/docker
配置阿里镜像
-------------------
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://k3z8jdht.mirror.aliyuncs.com"]
}
EOF
-------------------
systemctl daemon-reload
安装
参考阿里云安装
https://yq.aliyun.com/articles/110806
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
systemctl restart docker
开机运行服务docker
systemctl enable docker.service
k8s 安装
机器配置修改
1 配置host /etc/hosts
192.168.68.104 master.k8s.com master
修改主机名称
hostnamectl set-hostname k8s-master
2 关闭防火墙, 开机不启动
systemctl stop firewalld.service
systemctl disable firewalld.service
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
3 禁用SELinux
修改/etc/selinux/config,设置SELINUX=disabled,重启机器 reboot
临时 setenforce 0
4 关闭所有swap设备
swapoff -a
配置阿里 kubernetes源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装 kubernetes
yum install -y kubelet kubeadm kubectl
设置kubelet开机自启动/并且启动 kubelet
systemctl enable kubelet && systemctl start kubelet
---
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.
------
查看kubelet安装生成了哪些文件
rpm -ql kubelet
-----------------
/etc/kubernetes/manifests
/etc/sysconfig/kubelet
/usr/bin/kubelet
/usr/lib/systemd/system/kubelet.service
---------------------
配置k8s配置
1 修改 /etc/sysconfig/kubelet 配置
默认 KUBELET_EXTRA_ARGS= 修改为
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
2 修改 /proc/sys/net/bridge
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
kubeadmin init
1 生成默认初始化文件,并修改配置
kubeadm config print init-defaults > kubeadm-init.yaml
修改文件 有3处需要修改,一处新增
将advertiseAddress: 修改为本机地址
将imageRepository: k8s.gcr.io修改为
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
nodeRegistration:name 改为k8s.master(woker节点的话,则修改为别的名称)
在networking 下添加 podSubnet: 10.244.0.0/16
此地址和 calico.yaml 中的 CALICO_IPV4POOL_CIDR 配置一致,并且不能和本级IP 相同
如本级 IP 192.168.1.101 不能配置成 192.168.0.0/16 否则会造成分配节点的时候访问本地
2 根据配置拉取镜像
kubeadm config images pull --config kubeadm-init.yaml
3 kubeadm init
kubeadm init --config kubeadm-init.yaml
init 完成后执行以下操作
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装calico网络插件
http://www.zyiz.net/tech/detail-122486.html
1 下载配置
wget https://docs.projectcalico.org/v3.9/manifests/calico.yaml
修改 calico.yaml 文件
CALICO_IPV4POOL_CIDR 和 kubeadm-init.yaml podSubnet保持一致 (10.244.0.0)
2 初始化网络
kubectl apply -f calico.yaml
---------------------------
(主机节点需要可分配pod) 将主节点可以分配
kubectl taint nodes --all node-role.kubernetes.io/master-