利用kubeadm部署kubernetes 1.7 with flannel
一、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
- https://github.com/kubernetes/frakti/blob/master/docs/deploy.md
- http://blog.frognew.com/2017/04/kubeadm-install-kubernetes-1.6.html
- http://tonybai.com/2016/12/30/install-kubernetes-on-ubuntu-with-kubeadm/
利用kubeadm部署kubernetes 1.7 with flannel的更多相关文章
- [原]使用kubeadm部署kubernetes(一)
####################### 以下为声明 ##################### 在公众号 木子李的菜田 输入关键词: k8s 有系列安装文档 此文档是之前做笔记在 ...
- [转帖]CentOS 7 使用kubeadm 部署 Kubernetes
CentOS 7 使用kubeadm 部署 Kubernetes 关闭swap 执行swapoff临时关闭swap. 重启后会失效,若要永久关闭,可以编辑/etc/fstab文件,将其中swap分 ...
- 02 . Kubeadm部署Kubernetes及简单应用
kubeadm部署Kubernetes kubeadm简介 # kubeadm是一位高中生的作品,他叫Lucas Kaldstrom,芬兰人,17岁用业余时间完成的一个社区项目: # kubeadm的 ...
- 附025.kubeadm部署Kubernetes更新证书
一 查看证书 1.1 查看过期时间-方式一 1 [root@master01 ~]# tree /etc/kubernetes/pki/ 2 [root@master01 ~]# for tls in ...
- 使用kubeadm部署Kubernetes v1.13.3
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: 1. 安装要求 在开始之前,部署Kubernetes集群 ...
- Kubeadm部署Kubernetes
Kubeadm部署Kubernetes 1.环境准备 主机名 IP 说明 宿主机系统 k8s-master 10.0.0.101 Kubernetes集群的master节点 Ubuntu2004 k8 ...
- 使用kubeadm部署Kubernetes集群
一.环境架构与部署准备 1.集群节点架构与各节点所需安装的服务如下图: 2.安装环境与软件版本: Master: 所需软件:docker-ce 17.03.kubelet1.11.1.kubeadm1 ...
- kubeadm部署Kubernetes集群
Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube- ...
- 使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像)
系列目录 kubernetes简介 Kubernetes节点架构图: kubernetes组件架构图: 准备基础环境 我们将使用kubeadm部署3个节点的 Kubernetes Cluster,整体 ...
随机推荐
- 蓝牙(CoreBluetooth)-外部设备(服务端)
蓝牙(CoreBluetooth)-外部设备(服务端) 主要内容 1. 创建外部管理器对象 2. 设置本地外设的服务和特征 3. 添加服务和特征到到你的设置的数据库中 4. 向外公布你的的服务 5. ...
- Unity中使用ulua的个人经验总结
热度 286052 2015-3-15 14:32 |个人分类:技术类| Lua Lua代码都是运行时才编译的,不运行的时候就如同一张图片.一段音频一样,都是文件:所以更新逻辑只需要更新脚本,不需要再 ...
- make——五谷杂粮
- VMWare虚拟机端口转发
# VMWare虚拟机端口转发 虚拟机和宿主机共用主机IP对外提供服务,又不想提供给虚拟机独立IP,使用VM虚拟机提供的端口转发功能正合适. ### 端口转发--------------------- ...
- POSTGRESQL 9.1 FATAL: password authentication failed for user "postgres"
1.配置postgreql 可以远程访问: sudo vim /etc/postgresql/9.1/main/postgresql.conf root@ubuntuserver:~# sudo vi ...
- MySQL定义异常和异常处理方法
在MySQL中.特定异常须要特定处理.这些异常可以联系到错误,以及子程序中的一般流程控制.定义异常是事先定义程序运行过程中遇到的问题,异常处理定义了在遇到问题时相应当採取的处理方式.而且保证存储过程或 ...
- CentOS全自动一键安装PHP,MySQL,phpmyadmin与Nginx
运行install_nginx.sh即可 1,需要修改install_nginx.sh中的相应路径: #存放源代码和本脚本的目录 compile_dir=/root/nginx_compile,需要修 ...
- yum 安装出错--"Couldn't resolve host 'mirrors.aliyun.com'"
1.yum 安装出错 [root@iz25m0z7ik3z ~]#yum install mysql [root@iZ25m0z7ik3Z ~]#yum install mysql Loaded pl ...
- C语言 函数指针二(正向调用)
//函数指针做函数参数 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<Wi ...
- storm入门教程 第一章 前言
转自:http://blog.linezing.com/?p=1847 storm:http://www.cnblogs.com/panfeng412/tag/Storm/ http://blog.l ...