当前位置:首页 > Web开发 > 正文

安装部署Kubernetes集群实战

11-05 Web开发

标签:

kubernetes概述:

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。

通过kubernetes可以实现的功能:

快速部署应用

快速扩展应用

无缝对接新的应用功能

节省资源,优化硬件资源的使用

我们的目标是促进完善组件和工具的生态系统,以减轻应用程序在公有云或私有云中运行的负担。

kubernetes的特点:

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

可扩展: 模块化, 插件化, 可挂载, 可组合

自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

为什么要使用容器?容器优势总结:

快速创建/部署应用:与VM虚拟机相比,容器镜像的创建更加容易。

持续开发、集成和部署:提供可靠且频繁的容器镜像构建/部署,并使用快速和简单的回滚(由于镜像不可变性)。

开发和运行相分离:在build或者release阶段创建容器镜像,使得应用和基础设施解耦。

开发,测试和生产环境一致性:在本地或外网(生产环境)运行的一致性。

云平台或其他操作系统:可以在 Ubuntu、RHEL、 CoreOS、on-prem、Google Container Engine或其它任何环境中运行。

Loosely coupled,分布式,弹性,微服务化:应用程序分为更小的、独立的部件,可以动态部署和管理。

资源隔离

资源利用:更高效

kubernetes能做什么?
可以在物理或虚拟机的Kubernetes集群上运行容器化应用,Kubernetes能提供一个以“容器为中心的基础架构”,满足在生产环境中运行应用的一些常见需求,如:

多个进程(作为容器运行)协同工作。(Pod)

存储系统挂载

Distributing secrets

应用健康检测

应用实例的复制

Pod自动伸缩/扩展

Naming and discovering

负载均衡

滚动更新

资源监控

日志访问

调试应用程序

提供认证和授权

kubernetes中文官网:
https://kubernetes.io/zh/
kubernetes中文社区:
https://www.kubernetes.org.cn/doc-11

搭建kubernetes集群 环境准备:

3台dockerhost主机(centos7)
master: 172.16.1.30
node01:172.16.1.31
node02:172.16.1.32
注意事项:每台虚拟机内存最少2GB,最低双核cpu,每台主机必须安装docker环境,关闭防火墙(一般kubernetes是运行在公司内部的),禁用selinux,确保时间同步。

我们现在安装kubernetes时,利用的是kubernetes官方开发出来的自动化部署的软件(kubeadm),以来实现更快速的安装kubernetes。

清空iptables规则,并重新加载docker:

[[email protected] ~]# iptables -F [[email protected] ~]# systemctl daemon-reload [[email protected] ~]# systemctl restart docker

(1)修改主机名:

[[email protected] ~]# hostnamectl set-hostname master [[email protected] ~]# bash [[email protected] ~]# hostnamectl set-hostname node01 [[email protected] ~]# bash [[email protected] ~]# hostnamectl set-hostname node02 [[email protected] ~]# bash

(2)ssh,域名解析,免密登录:

配置域名解析: [[email protected] ~]# vim /etc/hosts

技术图片


##将hosts文件拷贝给其他节点:

[[email protected] ~]# scp /etc/hosts [email protected]:/etc/hosts [[email protected] ~]# scp /etc/hosts [email protected]:/etc/hosts 免密登录: [[email protected] ~]# ssh-keygen -t rsa #生成密钥

技术图片


将密钥拷贝给其他节点:
[[email protected] ~]# ssh-copy-id node01
[[email protected] ~]# ssh-copy-id node02

(3)禁用swap(kubernetes特性)
注意:所有节点都需禁用,不然无法加入集群。
[[email protected] ~]# swapoff -a #临时生效

永久禁用swap:(修改开机加载配置文件) [[email protected] ~]# vim /etc/fstab

技术图片

可以重新加载使其生效: [[email protected] ~]# mount -a 安装kubernetes:

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/web/10085.html