使用国内源安装k8s-创新互联

安装过程中的问题

创新互联是一家集网站建设,天涯企业网站建设,天涯品牌网站建设,网站定制,天涯网站建设报价,网络营销,网络优化,天涯网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

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 </etc/apt/sources.list.d/kubernetes.list
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许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:使用国内源安装k8s-创新互联
网页路径:http://ybzwz.com/article/ceghcc.html