IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> k8s集群部署——k8s简介和环境部署 -> 正文阅读

[系统运维]k8s集群部署——k8s简介和环境部署

一、k8s简介

kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
在这里插入图片描述

1、概述

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,
将最终的应用服务交给用户。

2、特点

可移植: 支持公有云,私有云,混合云,多重云
可扩展: 模块化,插件化,可挂载,可组合
自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

3、组件

  • Master组件

Master组件提供集群的管理控制中心。
Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。

  • Node节点组件

节点组件运行在Node,提供Kubernetes运行时环境,以及维护Pod。

4、优点

  • 隐藏资源管理和错误处理,用户仅需要关注应用的开发。
  • 服务高可用、高可靠。
  • 可将负载运行在由成千上万的机器联合而成的集群中。

二、k8s环境部署

主机需求

四台主机:
一台101为仓库主机
剩余三台分别为一台Master节点102和普通主机103和104
101 ip 172.25.76.11 docker主机
102 ip 172.25.76.12 Master节点主机
103 ip 172.25.76.13 普通节点主机1
104 ip 172.25.76.14 普通节点主机2

1、确认harbor仓库

在仓库主机101

cd harbor/
docker-compose ps
若为空则使用该目录下的安装脚本文件安装
./install --help
添加第三个参数,防止安装加载过多占用内存过大
docker-compose start
docker-compose ps
再次查看仓库内容
出现后浏览器访问仓库主机,进入harbor仓库并登陆

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、添加节点解析,部署docker引擎

在102,103,104同时进行

vim /etc/hosts添加解析
---
172.25.76.11 reg.westos.org
172.25.76.12
172.25.76.13
172.25.76.14
---

在这里插入图片描述
仓库主机

cd /etc/yum.repos.d
ls
scp docker.repo 102:/etc/yum.repos.d/
scp docker.repo 103:/etc/yum.repos.d/
scp docker.repo 104:/etc/yum.repos.d/

cd /etc/docker
ls
scp -r certs.d/ 102:/etc/docker/
scp -r certs.d/ 103:/etc/docker/
scp -r certs.d/ 104:/etc/docker/

102,103,104主机

yum install -y docker-ce
systemctl enable --now docker
docker info
查看是否有问题
sysctl --system
刷新内核
cd /etc/docker
vim daemon.json
---
{
 "registry-mirrors":["https://reg.westos.org"],
 "exec-opts": ["native.cgroupdriver=systemd"],
 "log-driver": "json-file",
 "log-opts": {
  "max-size": "100m"
 },
 "storage-driver": "overlay2"
}
systemctl restart docker
不报错则文件无语法错误
docker info 
查看cgroup driver(systemd),mirrors(reg.westos.org)
注意:使用私有仓库,仓库中必须提前有镜像
---

在这里插入图片描述
在这里插入图片描述

3、安装部署软件kubeadm

仓库主机

docker tag busyboxplus:latest reg.westos.org/library/busyboxplus:latest
docker push reg.westos.org/library/busyboxplus:latest
解析必须正确,否则会报错

102,103,104主机

docker pull busyboxplus

禁用swap分区
swapoff -a
vim /etc/pstab注释掉最后一行

安装部署软件
cd /etc/yum.repos.d/
vim k8s.repo
---
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
----

联外网安装
yum install -y kubeadm kubelet kubectl
systemctl enable --now kubelet
kubeadm config print init-defaults
查看默认配置信息,images  repository
rpm -q kubeadm
查看最新安装版本

在这里插入图片描述
在这里插入图片描述

在harbor浏览器图形界面创建k8s项目,设置公开
在这里插入图片描述

4、安装部署flannel网络组件

在master节点主机102

默认从k8s.gcr.io上下载组件镜像,需要翻墙才可以,所以需要修改镜像仓库:

列出所需镜像
kubeadm config images list --image-repository registry.aliyuncs.com/google_containers 
拉取镜像
kubeadm config images pull --image-repository
registry.aliyuncs.com/google_containers
初始化集群
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository
registry.aliyuncs.com/google_containers

拉取镜像到k8s项目
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

安装flannel网络组件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentat
ion/kube-flannel.yml
kubectl apply -f kube-flannel.yml

配置kubectl命令补齐功能:
echo "source <(kubectl completion bash)" >> ~/.bashrc
source .bashrc

docker pull quay.io/coreos/flannel:v0.14.0
docker tag quay.io/coreos/flannel:v0.14.0 reg.westos.org/k8s/flannel:v0.14.0
docker push reg.westos.org/k8s/flannel:v0.14.0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在103和104主机

粘贴在master节点主机初始化得出的提示
在这里插入图片描述

在这里插入图片描述
部署成功
在这里插入图片描述
在这里插入图片描述

Master查看状态:
kubectl get cs
kubectl get node
kubectl get pod -n kube-system

在这里插入图片描述

三、排错和注意

1、报错

查看docker信息报错

docker info
WARNING: IPv4 forwarding is disabled
vim  /usr/lib/sysctl.d/00-system.conf
在文件里面添加如下代码:
net.ipv4.ip_forward=1
重启docker、network服务:
systemctl restart network
systemctl restart docker

拉取镜像报错
解析有问题
私有仓库中无内容导致无法拉取

初始化报错
在这里插入图片描述
学会看报错老哥们,内存不够,咱就扩容
在这里插入图片描述
这儿有个坑,在开始配置的时候也应该配好,我是个five我没听到,over

别人的错
文件里粘贴有缺失,需要在编辑模式粘贴,我同桌傻子
内核没有刷新

2、注意

主机
除仓库外的三台主机设置为双核cpu,若开始时未设置可先关闭主机在virt-manager中小灯泡设置,再次启动即刻生效

网络
在需要pull镜像时需要打开外网,通过实验发现一些镜像需要随缘拉取,速度跟网速挂钩。亲测我同学的网比我快很多,我就刷了两条朋友圈机好了哭哭

镜像拉取
从私有仓库拉取时需要在私有仓库中push了镜像才能拿来使用,否则你就pull了个der

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:55:43  更:2021-10-11 17:58:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:05:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码