kubernetes 版本 v1.11.1
系统版本:Centos 7.4 3.10.0-693.el7.x86_64html
master: 192.168.0.205
node1: 192.168.0.206
node2: 192.168.0.207node
pod 地址段:10.244.0.0/16
service 地址段:10.96.0.0/12git
由于某种缘由,国内没法直接获取k8s的镜像,这里列出须要用到的镜像。已在百度云盘共享,须要的自行下载:
连接: https://pan.baidu.com/s/10yXHln4qC5Sxc3TLzgNEAg 密码: furpgithub
master:
k8s.gcr.io/kube-proxy-amd64:v1.11.1
k8s.gcr.io/kube-scheduler-amd64:v1.11.1
k8s.gcr.io/kube-controller-manager-amd64:v1.11.1
k8s.gcr.io/kube-apiserver-amd64:v1.11.1
k8s.gcr.io/coredns:1.1.3
k8s.gcr.io/etcd-amd64:3.2.18
quay.io/coreos/flannel:v0.10.0-amd64
k8s.gcr.io/pause:3.1docker
node:
k8s.gcr.io/kube-proxy-amd64:v1.11.1
quay.io/coreos/flannel:v0.10.0-amd64
k8s.gcr.io/pause:3.1
k8s.gcr.io/coredns:1.1.3api
1.主机间能够相互经过主机名通讯,如修改 /etc/hosts
2.主机时间同步
3.主机关闭 firewalld 和 iptables
4.安装 docker-ce ,详情参考:https://www.cnblogs.com/klvchen/p/8468855.html网络
# 配置 kubernetes 源 cat >> /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes Repo 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 # 测试 yum 源 yum repolist # 把 kubernetes.repo 复制到其余机器 cd /etc/yum.repos.d scp kubernetes.repo root@192.168.0.206:/etc/yum.repos.d scp kubernetes.repo root@192.168.0.207:/etc/yum.repos.d # 安装 kubelet,kubeadm,kubectl yum install kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 -y # 确保下面三个值为 1 cat /proc/sys/net/bridge/bridge-nf-call-iptables cat /proc/sys/net/bridge/bridge-nf-call-ip6tables cat /proc/sys/net/ipv4/ip_forward # 若是不是,则添加: vi /etc/sysctl.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 # 使配置文件生效 sysctl -p # kubelet 设置开机启动 systemctl enable kubelet # 启用 swap # 修改为 sed -i 's#KUBELET_EXTRA_ARGS=#KUBELET_EXTRA_ARGS="--fail-swap-on=false"#g' /etc/sysconfig/kubelet # 手动导入镜像 # 初始化集群 kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap # 这里须要记录下前一命令的执行结果: kubeadm join 192.168.0.205:6443 --token phzg6j.4kwhu03dvsddd9vx --discovery-token-ca-cert-hash sha256:4e6f8195e7e23b7929d6d5068fffddb5e0652bf49fea4aefe9c868b990b5507b # 建立执行集群命令的用户 useradd klvchen mkdir -p /home/klvchen/.kube cp -i /etc/kubernetes/admin.conf /home/klvchen/.kube/config chown -R klvchen.klvchen /home/klvchen/.kube # 部署 flannel 网络,详情可参考:https://github.com/coreos/flannel su - klvchen kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 安装 kubelet,kubeadm,kubectl yum install kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 -y # kubelet 设置开机启动 systemctl enable kubelet # 启用 swap # 修改为 sed -i 's#KUBELET_EXTRA_ARGS=#KUBELET_EXTRA_ARGS="--fail-swap-on=false"#g' /etc/sysconfig/kubelet # 确保下面三个值为 1 cat /proc/sys/net/bridge/bridge-nf-call-iptables cat /proc/sys/net/bridge/bridge-nf-call-ip6tables cat /proc/sys/net/ipv4/ip_forward # 若是不是,则添加: vi /etc/sysctl.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 # 使配置文件生效 sysctl -p # 本地导入须要的镜像 # 加入集群,注意,这里后面要启用 swap,最后加上参数:--ignore-preflight-errors=Swap kubeadm join 192.168.0.205:6443 --token phzg6j.4kwhu03dvsddd9vx --discovery-token-ca-cert-hash sha256:4e6f8195e7e23b7929d6d5068fffddb5e0652bf49fea4aefe9c868b990b5507b --ignore-preflight-errors=Swap
# 查询组件状态 kubectl get cs kubectl get componentstatus # 查询节点, 看到 master 和2个 node 都已经 Ready 即表示建立成功 kubectl get nodes