注: docker系列都是以前自己学习搭建时的笔记,难免有疏漏之处,仅做参考
docker集群管理 (主机先做免密登录,方便文件copy)
master: 192.168.78.130
slave1: 192.168.78.131
slave2: 192.168.78.132
#正文部分
所有主机(master,slave1,slave2)执行
#时间同步
systemctl start chronyd.service
systemctl enable chronyd.service
关闭swapoff
swapoff -a
#配置yum源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker.repo
cat << EOF >/etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
enabled=1
EOF
导入gpgcheck包
wget -q https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
wget -q https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import yum-key.gpg
rpm --import rpm-package-key.gpg
scp rpm-package-key.gpg slave1:/root
scp rpm-package-key.gpg slave2:/root
scp yum-key.gpg slave1:/root
scp yum-key.gpg slave2:/root
scp /etc/yum.repos.d/kubernetes.repo slave1:/etc/yum.repos.d/
scp /etc/yum.repos.d/kubernetes.repo slave2:/etc/yum.repos.d/
master主机
安装docker-ce kubelet kubeadm kubectl
yum install docker-ce-18.09.2-3.el7 kubeadm-1.13.3 kubectl-1.13.3 kubelet-1.13.3 -y
rpm -ql kubelet
设置开机自启
systemctl enable kubelet
systemctl enable docker
systemctl start docker
把以下功能打开,否则可能会报错
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/ipv4/ip_forward
#执行
kubeadm config images list
#输出
k8s.gcr.io/kube-apiserver:v1.13.3
k8s.gcr.io/kube-controller-manager:v1.13.3
k8s.gcr.io/kube-scheduler:v1.13.3
k8s.gcr.io/kube-proxy:v1.13.3
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.6
# pull镜像
docker pull mirrorgooglecontainers/kube-apiserver:v1.13.3
docker pull mirrorgooglecontainers/kube-controller-manager:v1.13.3
docker pull mirrorgooglecontainers/kube-scheduler:v1.13.3
docker pull mirrorgooglecontainers/kube-proxy:v1.13.3
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/etcd:3.2.24
docker pull coredns/coredns:1.2.6
# 打标签
docker tag docker.io/mirrorgooglecontainers/kube-apiserver:v1.13.3 k8s.gcr.io/kube-apiserver:v1.13.3
docker tag docker.io/mirrorgooglecontainers/kube-controller-manager:v1.13.3 k8s.gcr.io/kube-controller-manager:v1.13.3
docker tag docker.io/mirrorgooglecontainers/kube-scheduler:v1.13.3 k8s.gcr.io/kube-scheduler:v1.13.3
docker tag docker.io/mirrorgooglecontainers/kube-proxy:v1.13.3 k8s.gcr.io/kube-proxy:v1.13.3
docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag docker.io/mirrorgooglecontainers/etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
docker tag docker.io/coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6
docker tag coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6
# 删除旧镜像
docker rmi mirrorgooglecontainers/kube-apiserver:v1.13.3
docker rmi mirrorgooglecontainers/kube-controller-manager:v1.13.3
docker rmi mirrorgooglecontainers/kube-scheduler:v1.13.3
docker rmi mirrorgooglecontainers/kube-proxy:v1.13.3
docker rmi mirrorgooglecontainers/pause:3.1
docker rmi mirrorgooglecontainers/etcd:3.2.24
docker rmi coredns/coredns:1.2.6
# 关闭Swap选项
cat << EOF >/etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
EOF
#执行初始化
kubeadm init --kubernetes-version=v1.13.3 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --token-ttl=0 --ignore-preflight-errors=Swap
# flannel 安装
docker pull registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.10.0-amd64
docker tag registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.10.0-amd64 quay.io/coreos/flannel:v0.10.0-amd64
docker rmi registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.10.0-amd64
# 创建集群 注意输出最后信息 子节点加入时需要
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
节点配置
# rpm-gpg引入完成后开始安装所需包
rpm --import yum-key.gpg
rpm --import rpm-package-key.gpg
#安装所需包,kubelet不用立即启动,在加入k8s后就会启动
yum install docker-ce-18.09.2-3.el7 kubeadm-1.13.3 kubectl-1.13.3 kubelet-1.13.3 -y
systemctl enable docker kubelet
systemctl start docker
#设置
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 >/proc/sys/net/bridge/bridge-nf-call-iptables
# 关闭Swap选项
cat << EOF >/etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
EOF
节点加入集群 注意master创建集群信息
kubeadm join 192.168.78.130:6443 --token ls7p8w.db58adnrufdxorjl --discovery-token-ca-cert-hash sha256:dac6495e40d745a50fa37e217355c0895c233e9b9e6a1535df243b4926d4c5a9 --ignore-preflight-errors=Swap
节点下载所需镜像
docker pull mirrorgooglecontainers/kube-proxy:v1.13.3
docker pull mirrorgooglecontainers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.10.0-amd64
docker tag docker.io/mirrorgooglecontainers/kube-proxy:v1.13.3 k8s.gcr.io/kube-proxy:v1.13.3
docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.10.0-amd64 quay.io/coreos/flannel:v0.10.0-amd64
docker rmi mirrorgooglecontainers/kube-proxy:v1.13.3
docker rmi mirrorgooglecontainers/pause:3.1
docker rmi registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.10.0-amd64