文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ubuntu 16.04下如何安装kubernetes1.6

2023-06-04 21:50

关注

这篇文章将为大家详细讲解有关ubuntu 16.04下如何安装kubernetes1.6,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1 kubernetes 简介

kubernetes是提供了一套组件来管理容器的集群管理系统,kubernetes可以放便地管理跨主机运行的容器,可以对容器进行维护和扩展。

2 kubernetes核心组件

master端组件

1 apiserver

kubernetes系统的入口,封装了核心对象的增删改查操作,以RESTFul接口方式提供给外部客户和内部组件调用。它维护的REST对象将持久化到etcd(一个分布式强一致性的key/value存储)

2 controller-manager

负责执行各种控制器,目前有两类:

endpoint-controller:定期关联service和pod(关联信息由endpoint对象维护),保证service到pod的映射总是最新的。

replication-controller:定期关联replicationController和pod,保证replicationController定义的复制数量与实际运行pod的数量总是一致的。

3 scheduler

负责集群的资源调度,为新建的pod分配机器

4 etcd

提供pod,services等信息的持久化存储

minion端组件

5 kubelet

负责管控docker容器,如启动/停止、监控运行状态等。它会定期从etcd获取分配到本机的pod,并根据pod信息启动或停止相应的容器。同时,它也会接收apiserver的HTTP请求,汇报pod的运行状态

6 kube-proxy

负责为pod提供代理。它会定期从etcd获取所有的service,并根据service信息创建代理。当某个客户pod要访问其他pod时,访问请求会经过本机proxy做转发。

3 基本操作对象

3.1 pod

Kubernetes最基本的部署调度单元,可以包含一个或多个container,逻辑上表示某种应用的一个实例。比如一个web站点应用由前端、后端及数据库构建而成,这三个组件将运行在各自的容器中,那么我们可以创建包含三个container的pod。

3.2 service

是pod的路由代理抽象,用于解决pod之间的服务发现问题。因为pod的运行状态可动态变化(比如切换机器了、缩容过程中被终止了等),所以访问端不能以写死IP的方式去访问该pod提供的服务。service的引入旨在保证pod的动态变化对访问端透明,访问端只需要知道service的地址,由service来提供代理

3.3 replicationController

是pod的复制抽象,用于解决pod的扩容缩容问题。通常,分布式应用为了性能或高可用性的考虑,需要复制多份资源,并且根据负载情况动态伸缩。通过replicationController,我们可以指定一个应用需要几份复制,Kubernetes将为每份复制创建一个pod,并且保证实际运行pod数量总是与该复制数量相等(例如,当前某个pod宕机时,自动创建新的pod来替换)。

service和replicationController只是建立在pod之上的抽象,最终是要作用于pod的,那么它们如何跟pod联系起来呢?这就要引入label的概念:label就是为pod加上可用于搜索或关联的一组key/value标签,而service和replicationController正是通过label来与pod关联的。创建service和replicationController时可以指定同样的label:"xxx=yyy",再通过label selector机制,就将它们与这三个pod关联起来了。

4 kubernetes安装

4.1 环境准备

ubuntu 16.04下如何安装kubernetes1.6

4.2  用openvswitch GRE实现kubernetes的网络模型

利用openvswitch GRE通道实现跨主机间的容器通信

分别在192.168.100.92和192.168.100.93上做下列操作

安装openvswitch,bridge-utils,docker

apt-get install openvswitch-switch bridge-utils docker-engine

建立ovs bridge

ovs-vsctl add-br obr0

建立gre,并将新建的gre0添加到obr0

ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.100.93

在192.168.100.93上将remote_ip=192.168.100.93改为remote_ip=192.168.100.92

创建linux bridge

brctl addbr kbr0

添加obr0为kbr0的接口

brctl addif kbr0 obr0

设置docker0为down状态

ip link set dev docker0 down

删除docker0

ip link del dev docker0

为了是kbr0永久生效,在/etc/network/interfaces,添加如下语句

auto kbr0

iface kbr0 inet static

address 172.17.1.1

netmask 255.255.255.0

dns-nameservers 8.8.8.8

up route add -net 172.17.2.0/24 gw 192.168.100.93 dev enp0s3

在192.168.100.93的/etc/network/interfaces,添加如下语句

auto kbr0

iface kbr0 inet static

address 172.17.2.1

netmask 255.255.255.0

dns-nameservers 8.8.8.8

up route add -net 172.17.1.0/24 gw 192.168.100.92 dev enp0s3

开启ip_forward

在/etc/sysctl.conf中开启

net.ipv4.ip_forward=1

sysctl -p

分别在192.168.100.92上ping 172.17.2.1,在192.168.100.93上ping 172.17.1.1,如果能相互ping通则GRE通道已经打通了。

ubuntu 16.04下如何安装kubernetes1.6

ubuntu 16.04下如何安装kubernetes1.6

关于“ubuntu 16.04下如何安装kubernetes1.6”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯