isgood 发表于 2018-1-4 23:33:51

kubernetes部署(v1.6)(一)

4.# 刷新cache yum makecache# 安装 (同时会安装依赖socat和kubernetes-cni) yum install -y kubelet-1.5.3 kubectl-1.5.3 kubeadm-1.6.0# 加入开机启动并启动kubelet (这里要先启动, 会报错, 但是也要启动)systemctl enable kubelet && systemctl start kubelet 5.下载相关镜像(这一部,原生使用的事google源,但是国内的网络是不通的,感谢原作者提供的镜像源)  # 创建镜像下载脚本
  cd /opt
  vi k8s-docker-images.sh
  #############################################
  # 添加需要的镜像
  images=(
  pause-amd64:3.0
  kube-proxy-amd64:v1.5.3
  kube-scheduler-amd64:v1.5.3
  kube-controller-manager-amd64:v1.5.3
  kube-apiserver-amd64:v1.5.3
  etcd-amd64:3.0.14-kubeadm
  kube-discovery-amd64:1.0
  kubedns-amd64:1.9
  kube-dnsmasq-amd64:1.4
  exechealthz-amd64:1.2
  dnsmasq-metrics-amd64:1.0
  )
  for imageName in ${images[@]} ; do
  docker pull registry.cn-hangzhou.aliyuncs.com/magina-k8s/$imageName
  docker tag registry.cn-hangzhou.aliyuncs.com/magina-k8s/$imageName gcr.io/google_containers/$imageName
  docker rmi registry.cn-hangzhou.aliyuncs.com/magina-k8s/$imageName
  done
  #############################################
  # 执行脚本
  bash k8s-docker-images.sh
  6.启动镜像之前需要调整下配置文件,因为kubelet与docker的文件驱动方式不同,一个是cgroupfs ,一个是systemd
  修改kubelet的文件驱动方式:
  vim /etc/systemd/system/kubelet.service.d/
https://images2017.cnblogs.com/blog/898903/201711/898903-20171115173337531-1582099926.png
  同时需要修改系统关于网桥的配置:
  # 创建文件
  vi /etc/sysctl.d/k8s.conf
  # 添加如下内容
  net.bridge.bridge-nf-call-ip6tables = 1
  net.bridge.bridge-nf-call-iptables = 1
  # 使配置生效
  sysctl -p /etc/sysctl.d/k8s.conf
  之后需要重启kubelet
  systemctl daemon-reload
  systemctl restart kubelet
  检查下ps -e|grep kub ,kubulet是否真的启动,若没启动,则在初始化的时候会卡死
  初始化:
  kubeadm init --kubernetes-version v1.6.1 --pod-network-cidr 10.244.0.0/16 --apiserver-advertise-address 10.75.134.78
  如果之前没有出什么错的话,初始化的过程会比较迅速,如果过了很长时间没有反应,说明配置是有问题的,一个kublet,另外一个可能引起的是防火墙没有关闭。
  初始化完成后,会显示带1条token的例子,也可以使用以下命令显示:
  kubeadm token list
  TOKEN
  默认情况下, master节点是不会调度pod, 也就是说, 只有一台主机的情况下, 我们无法启动pod, 但有的时候我们的确只有一台机器, 这个时候可以执行命令, 允许master调度pod(这个命令和1.5.x版本不一样)
  kubectl taint nodes --all node-role.kubernetes.io/master-
  kubectl 命令
  这个命令是我们经常使用的, 几乎所有的k8s相关操作都需要, 但当我们集群安装好后, 发现这个命令会报错, 这里我直接给出解决方案
  # 如果不想每次都带上参数, 可以配置环境变量
  vi /etc/profile
  # 底部添加
  export KUBECONFIG=/etc/kubernetes/admin.conf
  # 使之生效
  source /etc/profile
页: [1]
查看完整版本: kubernetes部署(v1.6)(一)