设为首页 收藏本站
查看: 1146|回复: 0

[经验分享] kubernetes集群安装部署

[复制链接]

尚未签到

发表于 2018-9-15 12:08:55 | 显示全部楼层 |阅读模式
  部署环境说明:
  1、CENTOS 7.4
  2、Docker version 17.05.0
  3、etcd Version: 3.3.8
  4、flannel-v0.10.0
  node节点上运行:
  Kubelet
  kube-proxy
  Docker
  flannel
  MASTER节点上运行:
  Etcd
  flannel
  kube-apiserver
  kube-controller-manager
  kube-scheduler
  IP    Address
  Role
  CPU
  Memory
  192.168.1.10
  K8s-Master1
  2C
  2G
  192.168.1.20
  K8s-node1
  2C
  2G
  192.168.1.30
  K8s-node2
  2C
  2G
  修改各主机的hosts文件:
DSC0000.jpg

  
  1、安装操作系统,选择最小化安装,安装完成后yum相关包如下:
  yum -y install wget ntpdate bind-utils iptables-services
  关闭firewall
  # systemctl stop firewalld.service #停止firewall
  # systemctl disable firewalld.service #禁止firewall开机启动
  # systemctl start iptables.service #重启防火墙
  # systemctl enable iptables.service #设置防火墙开机启动
  #iptables -A INPUT -p tcp --dport 4001 -m state --state new -j ACCEPT
  #iptables -A INPUT -p tcp --dport 2379 -m state --state new -j ACCEPT
  #iptables -A INPUT -p tcp --dport 2380 -m state --state new -j ACCEPT
  关闭selinux
  #setenforce 0
  [root@localhost ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
  2、安装etcd  
  git地址:https://github.com/coreos/etcd/releases/
  etcd中文文档:http://etcd.doczh.cn/documentation/
  下载安装包:https://github.com/coreos/etcd/releases/download/v3.3.8/etcd-v3.3.8-linux-amd64.tar.gz
  #tar -zxvf etcd-v3.3.8-linux-amd64.tar.gz
  #ln -s etcd-v3.3.8-linux-amd64 etcd
  #cd etcd
  #cp etcd* /bin/
  #etcd --version #确认是否可以使用
  #mkdir /etc/etcd # 创建etcd配置文件目录
  编辑etcd配置文件:vim /etc/etcd/etcd.conf修改下面的内容,nodes节点上按照IP地址进行相应修改,
DSC0001.jpg

  Node2节点,相应的修改node3节点
DSC0002.jpg 检查集群健康状态:etcdctl –endpoints http://192.168.1.10:2379 cluster-health

DSC0003.jpg 检查etcd集群的节点情况以及查看那台是leader节点

  Etcdctl –endpoints http://192.168.1.10:2379 member list
DSC0004.jpg 3、安装kubernetes    yum install kubernetes     (master、nodes都需要安装)

  安装完成后可以修改配置文件:
  配置文件在/etc/kubernetes目录下,MASTER上需要修改apiserver  config两个配置文件,如果多个集群还需要修改controller-manager:
  Config配置中可以定义日志以及是否有特权访问主机上的硬件 --allow-privileged 主要设置KUBE_MASTER 以及KUBE_ETCD_SERVERS
  KUBE_LOGTOSTDERR定义将错误日志记录到stderr或者在文件中记录
  KUBE_LOG_LEVEL定义日志级别
  KUBE_ALLOW_PRIV是否允许运行特权容器。
DSC0005.jpg

  apiserver配置文件如下,其中KUBE_API_ARGS项,可配置安全证书,没有可忽略
DSC0006.jpg apiserver中配置KUBE_API_ADDRESS、KUBE_API_PORT、KUBE_SERVICE_ADDRESSES

  在node节点上主要配置kubelet配置文件 KUBELET_ADDRESS、KUBELET_PORT、KU证忽略书BELET_HOSTNAME、KUBELET_API_SERVER
DSC0007.jpg 5、安装、配置flannel 下载地址 https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz

  下载解压后主要有flanneld、mk-docker-opts.sh这两个文件,其中flanneld为主要的执行文件,sh脚本用于生成Docker启动参数。
  需要将flanneld拷贝到/usr/bin 目录下,启动时调用。
  所有服务器上配置vim /usr/lib/systemd/system/flanneld.service
DSC0008.jpg 所有服务器编辑配置文件/etc/sysconfig/flanneld,并且设置etcd的地址。

DSC0009.jpg 在etcd中添加一条网络配置记录,这个配置将用于flanneld分配给每个docker的虚拟IP地址段,根据需要修改DOCKER的网络地址段。

  etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'
  注意:flanneld将覆盖docker0网桥,如果docker服务已经启动,需要停止docker服务。
  启动flanneld服务
  systemctl restart flannel
  设置docker0网桥的ip地址
  source /run/flannel/subnet.env
  ifconfig docker0 ${FLANNEL_SUBNET}
  完成后确认网络接口docker0的IP地址属于flannel0的子网
  [root@kubernets-node2 ~]# ip a
DSC00010.jpg 6、启动kubernetes\etcd\flannel\docker

  master节点上启动 etcd(也可以单独部署) flannel  systemctl start kube-apiserver 、kube-controller-manager、kube-scheduler
  也可以写成脚本来启动:
  for master in etcd flanneld kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $master; done
  node节点上启动 systemctl start flannel kube-proxt 、 systemctl start kubelet、 systemctl start docker
  for node in etcd flanneld kube-proxy kubelet docker;do systemctl restart $node;done
  7、验证kubernetes集群是否正常
  kubectl get nodes  获取所有节点信息
DSC00011.jpg          DSC00012.jpg

  [root@localhost kubernetes]# kubectl cluster-info
  kubectl describe node d8s-node1  获取详细的节点信息,包括该节点的系统配置、CPU、内存、可以创建的pods数量
DSC00013.jpg     kubectl get namespace





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-583488-1-1.html 上篇帖子: 中国东信基于Kubernetes的容器云PaaS平台 下篇帖子: 基于Kubernetes构建企业容器云【入门实战篇】- Flannel网络部署(五)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表