一、Installation

1、安装环境为CentOS 7

2、安装Docker

  • yum install -y docker
  • systemctl enable docker
  • systemctl start docker

3、安装CNI

  • cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
    https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
  • setenforce 0
  • yum install -y kubernetes-cni

4、安装kubernetes其他组件

  • yum install -y kubelet kubeadm kubectl

5、创建master node

  • kubeadm init --pod-network-cidr 10.244.0.0/16
  • mkdir -p $HOME/.kube
  • sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  • sudo chown $(id -u):$(id -g) $HOME/.kube/config

6、创建minion node

  • 在master节点上调用`TOKEN=$(kubeadm token list | grep authentication,signing | awk '{print $1}')`
  • 在minion节点上调用`kubeadm join --token $TOKEN ${MASTER_IP:PORT}`加入集群
  • 调用`kubectl get nodes`可以观察节点是否加入

7、安装flannel,仅在master节点上操作

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

需要注意的是,通过上述步骤,会自动将flannel安装到整个集群中,包括master节点和所有minion节点

8、检测安装是否成功

  1、在master节点调用`kubectl get pods --all-namespaces`,特别注意kube-dns-*和kube-flannel-*是否running,输出结果如下:  

    

  2、在master节点调用`ip route`,特别注意是否存在路由范围为"10.244.0.0/24"的"cni0"设备和路由范围为"10.244.0.0/16"的"flannel.1"设备,输出结果如下:

  

  3、调用`kubectl run -i --tty busybox --image=busybox`创建pod,然后用位于不同节点间的pod互ping,成功即可

二、Troubleshooting

1、如果通过`kubectl get pods --all-namespaces`命令观察到kube-flannel-*这个pod迟迟不能running

  调用`journalctl -u docker`发现错误为`cp: can't create '/etc/cni/net.d/10-flannel.conf': Permission denied`

  调用`setenforce 0`暂时关闭SELinux即可

2、最新版的kubernetes中,在添加minion节点时,可能会出现如下问题,导致minion无法加入节点:

  

  解决办法.....暂时没有.......

3、如果minion节点显示已经加入成功了,但是在master节点上调用`kubectl get nodes`后发现该节点并没有加入

  可以调用`kubectl get csr`查看是否有csr处于pending的状态,有的话,调用`kubectl certificate approve $CSR`将其确认即可

三、Reference

  1. https://github.com/kubernetes/frakti/blob/master/docs/deploy.md
  2. http://blog.frognew.com/2017/04/kubeadm-install-kubernetes-1.6.html
  3. http://tonybai.com/2016/12/30/install-kubernetes-on-ubuntu-with-kubeadm/

利用kubeadm部署kubernetes 1.7 with flannel的更多相关文章

  1. [原]使用kubeadm部署kubernetes(一)

    #######################    以下为声明  ##################### 在公众号  木子李的菜田 输入关键词:   k8s 有系列安装文档 此文档是之前做笔记在 ...

  2. [转帖]CentOS 7 使用kubeadm 部署 Kubernetes

    CentOS 7 使用kubeadm 部署 Kubernetes   关闭swap 执行swapoff临时关闭swap. 重启后会失效,若要永久关闭,可以编辑/etc/fstab文件,将其中swap分 ...

  3. 02 . Kubeadm部署Kubernetes及简单应用

    kubeadm部署Kubernetes kubeadm简介 # kubeadm是一位高中生的作品,他叫Lucas Kaldstrom,芬兰人,17岁用业余时间完成的一个社区项目: # kubeadm的 ...

  4. 附025.kubeadm部署Kubernetes更新证书

    一 查看证书 1.1 查看过期时间-方式一 1 [root@master01 ~]# tree /etc/kubernetes/pki/ 2 [root@master01 ~]# for tls in ...

  5. 使用kubeadm部署Kubernetes v1.13.3

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: 1. 安装要求 在开始之前,部署Kubernetes集群 ...

  6. Kubeadm部署Kubernetes

    Kubeadm部署Kubernetes 1.环境准备 主机名 IP 说明 宿主机系统 k8s-master 10.0.0.101 Kubernetes集群的master节点 Ubuntu2004 k8 ...

  7. 使用kubeadm部署Kubernetes集群

    一.环境架构与部署准备 1.集群节点架构与各节点所需安装的服务如下图: 2.安装环境与软件版本: Master: 所需软件:docker-ce 17.03.kubelet1.11.1.kubeadm1 ...

  8. kubeadm部署Kubernetes集群

    Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube- ...

  9. 使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像)

    系列目录 kubernetes简介 Kubernetes节点架构图: kubernetes组件架构图: 准备基础环境 我们将使用kubeadm部署3个节点的 Kubernetes Cluster,整体 ...

随机推荐

  1. oozie搭建手册

    环境准备 mave安装 1.下载并上传maven,然后解压 tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /home 2.配置环境变量 vi /etc/prof ...

  2. PHP——菜单及内容轮换(Jquery)

    效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  3. jquery怎么实现页面刷新后保留鼠标点击addclass的样式

    $(document).ready(function(){ $('#rating li').each(function(){ if($($(this)).attr('id')==String(wind ...

  4. 常见tcp端口说明

    TCP端口(静态端口)TCP 0= ReservedTCP 1=TCP Port Service MultiplexerTCP 2=DeathTCP 5=Remote Job Entry,yoyoTC ...

  5. EasyUI combobox 加载JSON数据《一》

    Action返回 JSON 格式如下: jsonResult = { total=7,rows=[ {TEXT=技术支持, ID=402894ca4419acf1014419b148a10000}, ...

  6. pycharm重置设置,恢复默认设置

    备忘,备忘,备忘 window 系统 找到下方目录-->删除. 再重新打开pycharm # Windows Vista, 7, 8, 10: <SYSTEM DRIVE>\User ...

  7. NIPS(Conference and Workshop on Neural Information Processing Systems)

    论文提交时间:5月下旬 会议时间:12月上旬 NIPS2017: 网址:https://nips.cc/

  8. 【tyvj】P2065 「Poetize10」封印一击(贪心+线段树/差分)

    http://new.tyvj.cn/p/2065 我就不说我很sb的用线段树来维护值...... 本机自测的时候想了老半天没想出怎么维护点在所有区间被多少区间包含的方法.最后一小时才想出来线段树(果 ...

  9. docker-py环境配置

    一.系统环境版本介绍: os-version: Linux -.el7.x86_64 python-version: Python six-version: python-six--.el7.noar ...

  10. uva 10494 - If We Were a Child Again 大数除法和取余

    uva 10494 - If We Were a Child Again If We Were a Child Again Input: standard inputOutput: standard ...