直接进入主题,先上手,再说别的,也是初次使用kubeadm,问题一步一步解决。
第一步,安装docker,直接安装docker.io就行,我这里的版本是18.06
apt-get update
apt-get install docker.io
第二步,安装kubeadm,这里参考了其他人的博客,但不可考。
wget https://raw.githubusercontent.com/EagleChen/kubernetes_init/master/kube_apt_key.gpg
cat kube_apt_key.gpg | sudo apt-key add -
echo "deb [arch=amd64] https://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-$(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list
apt-get update
然后安装kubeadm等应用
apt-get update
apt-get install kubeadm
第三步,安装Kubernetes。
首先看看需要什么镜像:
kubeadm config images list --kubernetes-version=1.13.1
然后拉取我们自己的镜像
docker pull luutqf/etcd:3.2.24
docker pull luutqf/coredns:1.2.6
docker pull luutqf/pause:3.1
docker pull luutqf/kube-proxy:1.13.1
docker pull luutqf/kube-scheduler:1.13.1
docker pull luutqf/kube-controller-manager:1.13.1
docker pull luutqf/kube-apiserver:1.13.1
再把它们打成官方tag
docker tag luutqf/etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
docker tag luutqf/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6
docker tag luutqf/pause:3.1 k8s.gcr.io/pause:3.1
docker tag luutqf/kube-proxy:1.13.1 k8s.gcr.io/kube-proxy:v1.13.1
docker tag luutqf/kube-scheduler:1.13.1 k8s.gcr.io/kube-scheduler:v1.13.1
docker tag luutqf/kube-controller-manager:1.13.1 k8s.gcr.io/kube-controller-manager:v1.13.1
docker tag luutqf/kube-apiserver:1.13.1 k8s.gcr.io/kube-apiserver:v1.13.1
然后用kubeadm init一下,下面这段是从别的地方抄来的,请酌情处理。
kubeadm init --kubernetes-version=1.13.1 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.0.3
安装成功之后,会有类似下面提示代码,可以添加节点
kubeadm join 192.168.0.3:6443 --token 78bct6.af6jtm1jm4giatr2 --discovery-token-ca-cert-hash sha256:be494b85d11471c39023ac71beb4c1ae2c66771676607c242329d1e0fc4ad84b
形如这样就添加成功了,也仅仅是添加成功了。
可以使用kubectl命令,查看当前节点,但很明显,状态都是NotReady。。
查看一下日志 journalctl -f -u kubelet结果如下:
Unable to update cni config: No networks found in /etc/cni/net.d
应该是cni没有配置。。咋办呢,可以参考Calico官网的解决方法,配置cni,等配置好了再说。