CentOS 7 部署 Kubernetes
2016-03-18 15:49
639 查看
http://www.fangyunlin.com/?p=54
截止至2015年9月1日,CentOS 已经把 kubernetes 加入官方源。
目前各相关组件版本如下
kubernetes-1.0.0
docker-1.7.1
flannel-0.2.0
etcd-2.0.11
kubernetes环境角色如下
192.168.1.248 etcd server
192.168.1.247 kubernetes master
192.168.1.246 kubernetes node
192.168.1.245 kubernetes node
Tips:
虽然我下面均用IP进行操作,但是建议部署的时候,建议用hosts或者DNS取代IP。
建议做部署前,先更新系统到最新版本,免得一些(我遇到过)的安装问题
kube-apiserver
k8s的管理接口
kube-scheduer
k8s调度器,容器的启动、迁移、扩容缩减时候,选择哪个node,就看它了。
kube-controller-manager
k8s对node的控制行为,比如怎么去调用node启动一个容器。
kube node
kubelet
负责node的管理,基本所有操作都靠它。
kube-proxy
每个node里的container都在一个私有网络中,kube-proxy的作用就是做一个反向代理,让访问者访问这个node的时候,可以转发到内部对应的container。
Tips: 当然,这是我狭隘的理解,仅供参考。
存储flannel网络配置信息,供各节点协调。
启动服务
[root@localhost kubernetes]# egrep -v ‘^#’ /etc/kubernetes/controller-manager |grep -v ‘^$’
[root@localhost ~]# egrep -v ‘^#’ /etc/kubernetes/config | egrep -v ‘^$’
启动服务
[root@localhost ~]# egrep -v ‘^#’ /etc/kubernetes/kubelet | grep -v ‘^$’
启动服务
[root@bogon ~]# egrep -v ‘^#’ /etc/sysconfig/flanneld | grep -v ‘^$’
启动服务
若网络还不通,就重启下node吧。
截止至2015年9月1日,CentOS 已经把 kubernetes 加入官方源。
目前各相关组件版本如下
kubernetes-1.0.0
docker-1.7.1
flannel-0.2.0
etcd-2.0.11
kubernetes环境角色如下
192.168.1.248 etcd server
192.168.1.247 kubernetes master
192.168.1.246 kubernetes node
192.168.1.245 kubernetes node
Tips:
虽然我下面均用IP进行操作,但是建议部署的时候,建议用hosts或者DNS取代IP。
建议做部署前,先更新系统到最新版本,免得一些(我遇到过)的安装问题
yum update -y
各组件用途
kube masterkube-apiserver
k8s的管理接口
kube-scheduer
k8s调度器,容器的启动、迁移、扩容缩减时候,选择哪个node,就看它了。
kube-controller-manager
k8s对node的控制行为,比如怎么去调用node启动一个容器。
kube node
kubelet
负责node的管理,基本所有操作都靠它。
kube-proxy
每个node里的container都在一个私有网络中,kube-proxy的作用就是做一个反向代理,让访问者访问这个node的时候,可以转发到内部对应的container。
Tips: 当然,这是我狭隘的理解,仅供参考。
etcd
作为kubernetes的数据库,存储了k8s自身的信息、以及各种业务容器信息等。存储flannel网络配置信息,供各节点协调。
安装
安装 etcd 节点
yum install etcd -y
安装 k8s master 节点
yum install kubernetes-master -y
安装 k8s node 节点
yum install kubernetes-node flannel docker -y
配置
etcd 节点配置
[root@localhost ~]# egrep -v “^#” /etc/etcd/etcd.confETCD_NAME=default ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.248:2379"
启动服务
systemctl enable etcd systemctl start etcd
k8s master 节点配置
[root@localhost ~]# egrep -v ‘^#’ /etc/kubernetes/apiserver | grep -v ‘^$’KUBE_API_ADDRESS="--address=0.0.0.0" KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.1.248:2379" KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota" KUBE_API_ARGS=""
[root@localhost kubernetes]# egrep -v ‘^#’ /etc/kubernetes/controller-manager |grep -v ‘^$’
KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"
[root@localhost ~]# egrep -v ‘^#’ /etc/kubernetes/config | egrep -v ‘^$’
KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v=0" KUBE_ALLOW_PRIV="--allow_privileged=false" KUBE_MASTER="--master=http://192.168.1.247:8080"
启动服务
systemctl enable kube-apiserver kube-scheduler kube-controller-manager systemctl start kube-apiserver kube-scheduler kube-controller-manager
k8s node 节点配置
[root@localhost ~]# egrep -v ‘^#’ /etc/kubernetes/config | grep -v ‘^$’KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v=0" KUBE_ALLOW_PRIV="--allow_privileged=false" KUBE_MASTER="--master=http://192.168.1.247:8080"
[root@localhost ~]# egrep -v ‘^#’ /etc/kubernetes/kubelet | grep -v ‘^$’
KUBELET_ADDRESS="--address=127.0.0.1" KUBELET_HOSTNAME="--hostname_override=192.168.1.246" KUBELET_API_SERVER="--api_servers=http://192.168.1.247:8080" KUBELET_ARGS="--pod-infra-container-image=kubernetes/pause"
启动服务
systemctl enable kubelet kube-proxy systemctl start kubelet kube-proxy
k8s node 节点配置 flannel
初始化flannel的etcd配置etcdctl -C 192.168.1.248:2379 set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'
[root@bogon ~]# egrep -v ‘^#’ /etc/sysconfig/flanneld | grep -v ‘^$’
FLANNEL_ETCD="http://192.168.1.248:2379" FLANNEL_ETCD_KEY="/coreos.com/network"
启动服务
systemctl enable flanenld systemctl restart flanneld, docker
若网络还不通,就重启下node吧。
相关文章推荐
- CentOS7.1 Liberty云平台之Compute篇(5)
- Linux实用小工具
- linux目录间的瞬间转移:dtags
- dos和Linux文本格式转换
- Linux自动密码修改
- Linux基础回顾之用户认证与加密
- zookeeper使用和原理探究 (注意linux下防火墙导致启动失败的坑,使用service iptables stop 关闭防火墙 使用service iptables status确认)
- Linux中的tar命令和scp命令
- SecureCRT连接CentOS
- linux 文件相关的命令
- linux下的时间函数
- 《Linux内核分析》第四周学习总结
- 再谈互斥锁与条件变量!(终于搞清楚了啊!!!!!)
- 网站服务器选择windows主机好还是linux主机好
- Lynis:linux系统安全检查工具
- linux
- linux的nohup命令的用法
- Linux命令学习总结: file命令
- GNU/Linux 体系结构
- linux下QTE环境搭建