Kubernetes集群yum安装部署

第四阶段

时  间:2023年8月10日

参加人:全班人员

内  容:

Kubernetes集群yum安装部署

目录

yum方式部署K8S集群

一、环境搭建

1、准备环境

2、关闭防火墙

3、修改master主机的计算机名设置host文件

二、安装部署

(一)安装master节点

(二)安装k8s-master上的node

(三)安装配置k8s-node1节点

(四)安装k8s-node2节点

(五)为所有node节点配置flannel网络

(六)配置docker开启加载防火墙规则允许转发数据

三、k8s常用资源管理

1、创建一个pod

2、pod管理

3、pod操作


yum方式部署K8S集群

一、环境搭建

1、准备环境

计算机说明,建议系统版本7.4或者7.6

主机名

IP地址

角色

硬件

k8s-master

192.168.100.131

Master,node

Etcd、apiserver、controlor-manager、scheduler、kube-proxy、docker、registry

K8s-node1

192.168.100.132

Node

Kubletel、kube-proxy、docker

K8s-node2

192.168.100.133

Node

Kubletel、kube-proxy、docker

2、关闭防火墙

[root@huyang1 ~]# systemctl stop firewalld

[root@huyang1 ~]# iptables -F

[root@huyang1 ~]# setenforce 0

 

3、修改master主机的计算机名设置host文件

[root@centos01 ~]# hostnamectl k8s-master

[root@centos01 ~]# bash

[root@k8s-master ~]# vim /etc/hosts

[root@k8s-master ~]#

scp /etc/hosts k8s-node01:/etc/hosts

[root@k8s-master ~]#

scp /etc/hosts k8s-node02:/etc/hosts

[root@centos02 ~]# hostnamectl  k8s-node1

[root@centos02 ~]# bash

[root@centos03 ~]# hostnamectl  k8s-node2

[root@centos03 ~]# bash

二、安装部署

(一)安装master节点

1)安装etcd配置etcd

[root@k8s-master ~]# yum -y install etcd

[root@k8s-master ~]# cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak

 

[root@k8s-master ~]# vim /etc/etcd/etcd.conf

 

[root@k8s-master ~]# systemctl start etcd

[root@k8s-master ~]# systemctl enable etcd

 

2)安装k8s-master节点

[root@k8s-master ~]#yum  -y install

kubernetes-master.x86_64

 

3)配置apiserver

[root@k8s-master ~]# ls /etc/kubernetes/

 

[root@k8s-master ~]# vim /etc/kubernetes/apiserver

配置如下:

 

4)配置controller和scheduler

[root@k8s-master ~]# vim /etc/kubernetes/config

配置如下:

 

5)启动k8s服务

[root@k8s-master ~]# systemctl start kube-apiserver.service

kube-controller-manager.service

kube-scheduler.service

[root@k8s-master ~]# systemctl enable kube-apiserver.service

kube-controller-manager.service

kube-scheduler.service

 

6)检查节点安装都是健康的

[root@k8s-master ~]# kubectl get componentstatus

 

(二)安装k8s-master上的node

1)安装node

[root@k8s-master ~]# yum install kubernetes node.x86_64

 

2)配置kubelet

[root@k8s-master ~]# vim /etc/kubernetes/kubelet

配置如下:

 

3)启动kubelet启动自动启动docker服务

[root@k8s-master ~]# systemctl start kubelet

[root@k8s-master ~]# systemctl enable kubelet

4)启动kubelet-proxy

[root@k8s-master ~]# systemctl start kube-proxy

[root@k8s-master ~]# systemctl enable kube-proxy

 

5)检查node节点

[root@k8s-master ~]# kubectl get nodes

 

(三)安装配置k8s-node1节点

1)安装node

[root@k8s-node1 ~]# yum install kubernetes node.x86_64

 

2)node1连接k8s-master

[root@k8s-node01 ~]# ls /etc/kubernetes/

 

[root@k8s-node1 ~]# vim /etc/kubernetes/config

 

3)配置kubelet

[root@k8s-node1 ~]# vim /etc/kubernetes/kubelet

 

4)启动服务

[root@k8s-node1 ~]# systemctl start kubelet

[root@k8s-node1 ~]# systemctl start kube-proxy

[root@k8s-node1 ~]# systemctl enable kubelet

[root@k8s-node1 ~]# systemctl enable kube-proxy

 

5)在master节点检测node节点状态

[root@k8s-master ~]# kubectl get nodes

 

(四)安装k8s-node2节点

1)安装node

[root@k8s-node2 ~]# yum install kubernetes node.x86_64

2)node1连接k8s-master

[root@k8s-node2 ~]# vim /etc/kubernetes/config

配置如下:

 

 

3)配置kubelet

[root@k8s-node2 ~]# vim /etc/kubernetes/kubelet

 

4)启动服务

[root@k8s-node2 ~]# systemctl start kubelet

[root@k8s-node2 ~]# systemctl start kube-proxy

[root@k8s-node2 ~]# systemctl enable kubelet

[root@k8s-node2 ~]# systemctl enable kube-proxy

 

5)在master节点检测node节点状态

[root@k8s-master ~]# kubectl get nodes

 

(五)为所有node节点配置flannel网络

1)在k8s-master节点安装flannel

[root@k8s-master ~]# yum install flannel -y

[root@k8s-master ~]# ls /etc/sysconfig/

[root@k8s-master ~]# vim /etc/sysconfig/flanneld

[root@k8s-master ~]# etcdctl set /atomic.io/network/config '{ "Network": "172.16.0.0/16" }' //配置网络

[root@k8s-master ~]# systemctl start flanneld

[root@k8s-master ~]# systemctl enable flanneld

[root@k8s-master ~]# ifconfig //查看多一个网络

[root@k8s-master ~]# systemctl restart docker //重新启动docker服务和flannel网络保持一致

[root@k8s-master ~]# systemctl enable docker

[root@k8s-master ~]# ifconfig

Ps备注:自动安装了docker容器,在这版本下,k8s和docker还是融合在一起使用的

2)配置node1节点flannel网络

[root@k8s-node1 ~]# yum install flannel -y

[root@k8s-node01 ~]# ls /etc/sysconfig/

[root@k8s-node1 ~]# vim /etc/sysconfig/flanneld

配置如下:

[root@k8s-node1 ~]# systemctl start flanneld[root@k8s-node1 ~]# systemctl enable flanneld[root@k8s-node1 ~]# systemctl restart docker[root@k8s-node1 ~]# systemctl enable docker[root@k8s-node01 ~]# ifconfig

 

3)安装node2节点flannel网络

[root@k8s-node2 ~]# yum install flannel -y

[root@k8s-node02 ~]# ls /etc/sysconfig/

[root@k8s-node2 ~]# vim /etc/sysconfig/flanneld

配置如下:

[root@k8s-node2 ~]# systemctl start flanneld

[root@k8s-node2 ~]# systemctl enable flanneld

[root@k8s-node2 ~]# systemctl restart docker

[root@k8s-node2 ~]# systemctl enable docker

[root@k8s-node02 ~]# ifconfig

 

4)测试docker容器跨宿主机通信

[root@k8s-node1 ~]# iptables -P FORWARD ACCEPT

//允许转发数据

[root@k8s-node2 ~]# iptables -P FORWARD ACCEPT

[root@k8s-master ~]# iptables -P FORWARD ACCEPT

[root@k8s-master ~]# docker pull busybox

//下载镜像,而后进入docker run -it busybox

[root@k8s-noded01 ~]# docker run -it busybox

[root@k8s-noded02 ~]# docker run -it busybox

/ # ping 172.16.31.2 //测试和其他docker宿主机之间通信

 

(六)配置docker开启加载防火墙规则允许转发数据

1)配置k8s-master节点

[root@k8s-master ~]# vim /usr/lib/systemd/system/docker.service

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl restart docker

2)配置k8s-node1节点

[root@k8s-node1 ~]# vim /usr/lib/systemd/system/docker.service

[root@k8s-node1 ~]# systemctl daemon-reload

[root@k8s-node1 ~]# systemctl restart docker

3)配置k8s-node2节点

[root@k8s-node2 ~]# vim /usr/lib/systemd/system/docker.service

[root@k8s-node2 ~]# systemctl daemon-reload

[root@k8s-node2 ~]# systemctl restart docker

三、k8s常用资源管理

1、创建一个pod

1)创建yuml文件

[root@k8s-master ~]# mkdir k8s

[root@k8s-master ~]# vim ./k8s/nginx.yaml

配置如下:

apiVersion: v1
kind: Pod
metadata:name: nginxlabels:app: web
spec:containers:- name: nginx01image: nginx:1.16ports:- containerPort: 80- name: busyboximage: docker.io/busybox:latestcommand: ["sleep","3600"]ports:- containerPort: 80

 

2)创建容器

方法一.  yum安装

[root@k8s-master ~]#yum install *rhsm*

方法二 (我是用这方法解决的)

执行命令:

[root@k8s-master ~]#wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm

[root@k8s-master ~]#rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem    

前两个命令会生成/etc/rhsm/ca/redhat-uep.pem文件.  

[root@k8s-master ~]#docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest

 

[root@k8s-master ~]# kubectl create -f ./k8s/nginx.yaml

 

3)查看所有pod创建运行状态

[root@k8s-master ~]# kubectl get pod

 

4)查看指定pod资源

[root@k8s-master ~]# kubectl get pod nginx

 

5)查看pod运行的详细信息

[root@k8s-master ~]# kubectl describe pod nginx

[root@k8s-master ~]# kubectl get pod nginx -o wide //显示调度节点

 

6)验证运行的pod

[root@k8s-master ~]#  kubectl get pod nginx -o wide

 

2、pod管理

1)删除pod

[root@k8s-master ~]# kubectl delete  pod nginx

2)查看删除pod无法找到

[root@k8s-master ~]#  kubectl get pod nginx -o wide

 

3)创建pod

[root@k8s-master ~]# kubectl create -f ./k8s/nginx.yaml

 

4)发现最先创建的pod运行在k8s-master节点上,下载镜像速度太慢没法运行

[root@k8s-master ~]#  kubectl get pod nginx -o wide

 

5)访问pod节点中的服务

[root@k8s-master ~]# curl -I http://172.16.7.3

 

3、pod操作

1)在一个pod中修改配置文件运行多个业务容器,

创建资源test1

[root@k8s-master ~]# vim ./k8s/nginx.yaml

配置如下:

apiVersion: v1
kind: Pod
metadata:name: test1labels:app: web
spec:containers:- name: nginx01image: nginx:1.16ports:- containerPort: 80- name: busyboximage: docker.io/busybox:latestcommand: ["sleep","3600"]ports:- containerPort: 80

[root@k8s-master ~]# kubectl create -f ./k8s/nginx.yaml

 

2)创建资源test2

[root@k8s-master ~]# vim ./k8s/nginx.yaml

配置如下:

apiVersion: v1
kind: Pod
metadata:name: test2labels:app: web
spec:containers:- name: nginx01image: nginx:1.16ports:- containerPort: 80- name: busyboximage: docker.io/busybox:latestcommand: ["sleep","3600"]ports:- containerPort: 80

[root@k8s-master ~]# kubectl create -f ./k8s/nginx.yaml

3)查看资源使用情况

[root@k8s-master ~]# kubectl get pod -o wide

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/83966.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven

目录 一,介绍 二,安装 2.1从官网下载Maven。 2.2下载完成后,解压到合适的位置即可,例如: D:\apache-maven-3.6.3 2.3.配置 新建系统变量 MAVEN_HOME和M2_HOME 编辑系统变量 Path,添加变量值&#xff…

Babylon.js着色器简明简称【Shader】

推荐:用 NSDT设计器 快速搭建可编程3D场景 为了生成 BabylonJS 场景,需要用 Javascript 编写代码,BabylonJS 引擎会处理该代码并将结果显示在屏幕上。 场景可以通过改变网格、灯光或摄像机位置来改变。 为了及时显示可能的变化,屏…

函数的递归

1、什么是递归? 程序调用自身的编程技巧称为递归。 递归作为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解&#x…

中国信息安全测评中心CISP家族认证一览

随着国家对网络安全的重视,中国信息安全测评中心根据国家政策、未来趋势、重点内容陆续增添了很多CISP细分认证。 今日份详细介绍,部分CISP及其子品牌相关认证内容,一定要收藏哟! 校园版CISP NISP国家信息安全水平考试&#xff…

云原生Kubernetes:阿里云托管k8s集群ACK创建和使用

目录 一、理论 1.容器服务Kubernetes版 2.ACK Pro版集群概述 3.ACK版本说明 二、实验 1.创建专有版Kubernetes集群 三、问题 1.依赖检查未通过 一、理论 1.容器服务Kubernetes版 (1)概念 阿里云容器服务Kubernetes版(Alibaba Cloud…

Mapbox加载天地图CGCS2000矢量瓦片地图

1.背景 最近在做天地图的项目,要基于MapBox添加CGCS2000矢量切片数据,但是 Mapbox 只支持web 墨卡托(3857)坐标系的数据。Github有专业用户修改了mapbox-gl的相关代码,支持CGCS2000的切片数据加载,并且修改…

RocketMQ Learning(一)

目录 一、RocketMQ 0、RocketMQ的产品发展 1、RocketMQ安装 1.1、windows下的安装 注意事项 1.2、Linux下的安装 1.3、源码的安装 1.4、控制台 2、消息发送方式 2.1、发送同步消息 2.2、发送异步消息 2.3、单向发送 3、消息消费方式 3.1、负载均衡模式&#xff0…

[PyTorch][chapter 46][LSTM -1]

前言: 长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的。 目录: 背景简介 LSTM C…

mac-右键-用VSCode打开

1.点击访达,搜索自动操作 2.选择快速操作 3.执行shell脚本 替换代码如下: for f in "$" doopen -a "Visual Studio Code" "$f" donecommand s保存会出现一个弹框,保存为“用VSCode打开” 5.使用

Dockerfile 简单实战

将flask项目打包成镜像 1. 准备flask文件 创建 app.py 文件,内容如下 from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello Worldif __name__ __main__:app.run(host0.0.0.0, port8000, debugTrue) 并开启外网访问&#xf…

C#--设计模式之单例模式

单例模式大概是所有设计模式中最简单的一种,如果在面试时被问及熟悉哪些设计模式,你可能第一个答的就是单例模式。 单例模式的实现分为两种: 饿汉式:在静态构造函数执行时就立即实例化。懒汉式:在程序执行过程中第一…

vue3报错

这是因为eslint对代码的要求严格导致的,可以在package.json里面删掉"eslint:recommended",然后重启就可以正常运行了

长城汽车正式进军东盟市场,多款智能新能源亮相印尼车展

长城汽车在2023年印尼国际车展(GAIKINDO Indonesia International Auto Show)揭幕GWM品牌系列车型,包括坦克500 HEV、哈弗H6 HEV、哈弗JOLION HEV以及欧拉好猫。这一战略旨在进一步打入印尼市场。 长城汽车宣布将正式进军东盟市场&#xff0c…

jumpserver命令记录膨胀问题

一.背景 jumpserver堡垒机针对只是接管ssh来说,正常操作Linux的指令记录应该不会太多,每天有个几千条都已经算很多了。所以默认jumpserver采用MySQL作为存储介质本身也没啥问题。但是我们使用jumpserver对【MySQL应用】进行了托管,导致查询SQ…

HttpRunner自动化测试之httprunner运行方式

httprunner运行方式: httprunner在进行接口测试的时候,有两种运行方式 方式一:通过命令行(CLI)运行,核心命令如下 hrun:httprunner的缩写,功能与httprunner完全相同 例&#xff1a…

培训报名小程序-订阅消息发送

目录 1 创建API2 获取模板参数3 编写自定义代码4 添加订单编号5 发送消息6 发布预览 我们上一篇讲解了小程序如何获取用户订阅消息授权,用户允许我们发送模板消息后,按照模板的参数要求,我们需要传入我们想要发送消息的内容给模板&#xff0c…

Jenkins+Docker+SpringCloud微服务持续集成

JenkinsDockerSpringCloud微服务持续集成 JenkinsDockerSpringCloud持续集成流程说明SpringCloud微服务源码概述本地运行微服务本地部署微服务 Docker安装和Dockerfile制作微服务镜像Harbor镜像仓库安装及使用在Harbor创建用户和项目上传镜像到Harbor从Harbor下载镜像 微服务持…

网络安全设备及部署

什么是等保定级? 之前了解了下等保定级,接下里做更加深入的探讨 文章目录 一、网路安全大事件1.1 震网病毒1.2 海康威视弱口令1.3 物联网Mirai病毒1.4 专网 黑天安 事件1.5 乌克兰停电1.6 委内瑞拉电网1.7 棱镜门事件1.8 熊猫烧香 二、法律法规解读三、安…

【AI】Python调用讯飞星火大模型接口,轻松实现文本生成

随着chatGPT的出现,通用大模型已经成为了研究的热点,由于众所周知的原因,亚太地区调用经常会被禁,在国内,讯飞星火大模型是一个非常优秀的中文预训练模型。本文将介绍如何使用Python调用讯飞星火大模型接口&#xff0c…

全球飞机电磁阀总体规模分析

电磁阀是一种液压管路的电磁装置,通过使用电流产生磁场,从而驱动螺线管,控制阀中流体的流动。电磁阀作为流体控制自动化系统的执行器之一,有着结构紧凑、尺寸小、重量轻、密封良好、维修简便和可靠性高、节能降耗的特点&#xff0…