kubernetes(k8s)快速部署

kubernetes(k8s)简介:

  • Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。
  • Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用。
  • Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统。下面这张图是Kubernetes的架构图(网上摘录)。

Kubernetes主要由以下几个核心组件组成:

 

  1. etcd保存了整个集群的状态;
  2. apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  3. controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  4. scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  5. kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
  6. Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);
  7. kube-proxy负责为Service提供cluster内部的服务发现和负载均衡。

测试环境部署:

  • 操作系统:CentOS Linux release 7.6.1810 (Core)
  • Docker version 1.13.1, build 64e9980/1.13.1
  • 网络规划工具,统一分配集群Docker容器的虚拟IP,并实现服务之间通信:Flannel 0.7.0
  • 需要关闭防火墙,并连接外网进行yum安装。
  • master:192.168.10.100 服务:apiserver, controller-manager, scheduler,etcd
  • node:192.168.10.101 服务:flannel, docker, kubelet, kube-proxy

1.  master安装和配置:

  • 配置本地解析

vim /etc/hosts

192.168.10.100 server11 master
192.168.10.101 node1
  • 安装etcd

yum install -y etcd

  • 配置etcd

vim /etc/etcd/etcd.conf    #修改部分内容如下

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

ETCD_ADVERTISE_CLIENT_URLS="http://server11:2379"

注:其中server11表示etcd服务器主机名

  • 运行etcd

systemctl start etcd    #启动etcd

systemctl enable etcd    #开机自启etcd

  • 配置etcd的flannel信息

etcdctl -C 192.168.10.100:2379 set /atomic.io/network/config '{"Network":"172.17.0.1/16"}'

  • master端安装kubernetes-master

yum install kubernetes-master

  • 修改配置文件
vim /etc/kubernetes/apiserver

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"

KUBE_ETCD_SERVERS="--etcd-servers=http://server11:2379"

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"

注:其中KUBE_ADMISSION_CONTROL的原有的SecurityContextDeny和ServiceAccount是权限相关的配置需要去掉。

  • 配置全局配置文件

vim /etc/kubernetes/config

KUBE_MASTER="--master=http://master:8080"
  • 启动master服务

systemctl start kube-apiserver kube-scheduler kube-controller-manager

  • 测试master服务

2. node1节点安装和配置

  • 配置本地解析

vim /etc/hosts

192.168.10.100 server11 master
192.168.10.101 node1
  • 安装服务

yum install -y docker flannel kubernetes-node

  • 配置flannel

vim /etc/sysconfig/flanneld

FLANNEL_ETCD_ENDPOINTS="http://server11:2379"

FLANNEL_ETCD_PREFIX="/atomic.io/network"
  • 配置全局配置文件

vim /etc/kubernetes/config

KUBELET_HOSTNAME="--hostname-override=node1"

KUBELET_API_SERVER="--api-servers=http://master:8080"
  • 启动服务

systemctl start kubelet kube-proxy

3. 测试集群

在master节点运行

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璐程风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值