安装过程中的问题
创新互联是一家集网站建设,天涯企业网站建设,天涯品牌网站建设,网站定制,天涯网站建设报价,网络营销,网络优化,天涯网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。https://kubernetes.io/docs/setup/independent/install-kubeadm/
官网ubuntu安装命令
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
1、源问题
此处kubernetes的源 我选择的ustc源
因此/etc/apt/sources.list.d/kubernetes.list文件需要添加(ubuntu16.04代号为xenial),
deb https://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
软件源更改 /etc/apt/sources.list
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse#
预发布软件源,不建议启用# deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
2、swap问题
kubernetes需要关闭swap
swapoff -a
同时把/etc/fstab包含swap那行记录删掉。
3、image问题
安装好kubectl,kubeadm,kubelet之后,使用kubectl init进行初始化,初始化的时候默认使用国外的镜像。
因此可以使用kubeadm config images lsit --kunernetes-version v1.12.2(自己的版本号)查看k8s都需要那些image,可以事先使用国内能访问的网站下载下来
使用kubeadm初始化的时候无法拉取镜像
推荐使用anjia0532的镜像,机器人自动跟官方同步,非常及时。
docker pull anjia0532/google-containers.kube-controller-manager-amd64:v1.11.2
docker pull anjia0532/google-containers.kube-apiserver-amd64:v1.11.2
docker pull anjia0532/google-containers.kube-scheduler-amd64:v1.11.2
docker pull anjia0532/google-containers.kube-proxy-amd64:v1.11.2
docker pull anjia0532/google-containers.pause:3.1
docker pull anjia0532/google-containers.etcd-amd64:3.2.18
docker pull anjia0532/google-containers.coredns:1.1.3
然后重新tag
docker tag anjia0532/google-containers.kube-controller-manager-amd64:v1.11.2 k8s.gcr.io/kube-controller-manager-amd64:v1.11.2
docker tag anjia0532/google-containers.kube-apiserver-amd64:v1.11.2 k8s.gcr.io/kube-apiserver-amd64:v1.11.2
docker tag anjia0532/google-containers.kube-scheduler-amd64:v1.11.2 k8s.gcr.io/kube-scheduler-amd64:v1.11.2
docker tag anjia0532/google-containers.kube-proxy-amd64:v1.11.2 k8s.gcr.io/kube-proxy-amd64:v1.11.2
docker tag anjia0532/google-containers.pause:3.1 k8s.gcr.io/pause:3.1
docker tag anjia0532/google-containers.etcd-amd64:3.2.18 k8s.gcr.io/etcd-amd64:3.2.18
docker tag anjia0532/google-containers.coredns:1.1.3 k8s.gcr.io/coredns:1.1.3
再删掉原来的image
docker rmi [imagename]
4、join加入master时的问题
因为我的测试机时克隆的,所以3个主机名字是一样的,加入的时候
kubeadm join IP:6443 --token xuzad4.qkfdi57gal2bkobo
在master上 kubectl get nodes看不到加入的节点,发现问题的原因是主机名相同,修改主机名,Ubuntu修改方法 编辑/etc/hostname
修改完成之后使用kubeadm reset在节点主机上使用,重置,然后在使用kubeadm join命令,加入成功。
5、join之后各节点需要运行一些组件
kubectl get nodes
可以查看到现有的节点仍处于not ready状态,当各节点需要运行的组件都启动正常之后会变为ready状态
可以通过
kubectl get pod --all-namespaces
查看组件启动情况,若有组件未启动成功,可以使用
kubectl describe pod (上一命令查到的NAME) --namespace=kube-system
节点在ready的时候会创建一些容器,需要上边列出的7个image中的一些,所以在节点机器上也要下载部分第3部中的image
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。