使用阿里云和gcr.azk8s.cn镜像安装Kubernetes (K8s)

使用阿里云和gcr.azk8s.cn镜像安装Kubernetes (K8s)

由于墙的原因,k8s.gcr.io无法从国内访问,因此在安装Kubernetes时需要使用到国内的镜像。本文讲解使用kubeadm进行安装(官网推荐),以下为安装步骤,个人在Ubuntu 16(xenial)系统测试通过

1,安装Docker

参考:Ubuntu 16安装Docker ce版

CentOS 7.6 安装Docker ce版

2,安装kubeadm命令

请根据你的系统版本配置镜像

apt-get update && apt-get install -y apt-transport-https

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF  

sudo apt-add-repository "deb  https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"

apt-get update
apt-get install -y kubelet kubeadm kubectl

3,kubeadm init

kubeadm init --pod-network-cidr=10.244.0.0/16

此命令会检测系统环境,然后给出许多错误提示,以下为每种错误的解决办法。你需要反复执行此命令直到没有错误提示为止。

3.1 提示需要关闭swap

sudo swapoff -a
vi /etc/fstab,然后在swap前面加#
#使用命令 free -m 校验一下swap是否关闭了

3.2 提示关闭SELinux

# 临时关闭
setenforce 0
# 永久关闭
vi /etc/selinux/config

#将SELINUX=enforcing改为SELINUX=disabled
#设置后需要重启服务器才能生效

3.3 提示cgroupdriver错误

vi /etc/docker/daemon.json
# json文件格式如下:
{
 "exec-opts":["native.cgroupdriver=systemd"]
}
#然后重启docker
systemctl restart docker

3.4 提示docker镜像下载超时

# 先查看以下需要哪些镜像
kubeadm config images list

使用下面的脚本进行下载

#/bin/bash
LIST=$(kubeadm config images list | grep k8s.gcr.io/)
for image in $LIST
do
   echo "required: "$image
   china="gcr.azk8s.cn/google_containers/"${image:11}
   echo "downloading: "$china
   docker pull $china
   docker tag $china $image
   docker rmi $china
done

4. 配置kubectl

第三步执行成功后,系统会有以下提示命令:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

请按此命令进行操作,然后执行:

kubectl get nodes

会显示当前集群的节点

5. 安装网络组件flannel

官方命令:

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

这个yml中引用的docker镜像国内下载不动,需要配置国内镜像,使用以下脚本:

#/bin/bash
if [[ ! -e kube-flannel.yml ]]
then
   wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
fi

LIST=$(cat kube-flannel.yml | grep image | awk -F 'image:' '{print $2}')
for image in $LIST
do
  echo "require: "$image
  china="quay.mirrors.ustc.edu.cn/"${image:8}
  echo "downloading: "$china
  docker pull $china
  docker tag $china $image
  docker rmi $china
done

网络组件安装速度很慢,需要耐心等待,也可以使用下文的命令进行查看

6. 查看Pods状态

kubectl get pods --all-namespaces

7. Dashboard

7.1 安装Dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml

版本可能过时了,请点击到github查找最新地址: https://github.com/kubernetes/dashboard

7.2 启动代理访问

kubectl proxy --accept-hosts='^.*^' --address='0.0.0.0'

7.3 在浏览器中访问

在浏览器中打开下面的地址:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

发现需要密码才能登录,使用下面的方法查找密码

7.4 查看Dashboard登录密码

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

如果没有结果输出,请参考官方文档创建一个用户:https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值