Linux系统K8S集群架构及常用操作命令之K8S集群部署教程

发布于:2022-12-07 ⋅ 阅读:(642) ⋅ 点赞:(0)

Linux系统K8S集群架构及常用操作命令之K8S集群部署教程

简介:Kubernetes是一个开源的容器集群管理系统,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。

Kubernetes (通常称为K8s,K8s是将8个字母“ubernete”替换为“8”的缩写) 是用于自动部署、扩展和管理容器化(containerized)应用程序的开源系统。

K8S有六大特点,一是可移植。支持公有云,私有云,混合云,多重云(multi-cloud);二是可扩展。模块化, 插件化, 可挂载, 可组合;三是自动化。 自动部署,自动重启,自动复制,自动伸缩/扩展;四是快速部署应用,快速扩展应用;五是无缝对接新的应用功能;六是节省资源,优化硬件资源的使用。

本文主要介绍M8S集群部署的基本方法,具体是部署一台K8S管理服务器Master和两台节点服务器node1和nide2,并通过测试验证。详细内容请参考下文。

一、K8S集群部署

1、主机规划

三台服务器:master、node1和node2

2、安装软件包

说明:在master、node1和node2三个节点上分别操作。

(1)、master节点

Master节点执行指令

# yum install -y etcd docker kubernetes flannel

Master节点查看安装版本

# rpm -qa etcd docker kubernetes flannel

 

(2)、node1节点

Node1节点执行指令

# yum install -y docker kubernetes flannel

 

Node1节点查看安装版本

# rpm -qa docker kubernetes flannel

 

(3)、node2节点

Node2节点执行指令

# yum install -y docker kubernetes flannel

 

Node2节点查看安装版本

# rpm -qa docker kubernetes flannel 

 

3、Master节点修改配置etcd

(1)、修改配置文件的内容如下

执行指令

# grep -Ev '^$|#' /etc/etcd/etcd.conf

 

(2)、启动etcd

执行指令

# systemctl enable etcd

设置自启动

执行指令

# systemctl start etcd

启动etcd

 

(3)、测试etcd

 

(4)、配置并启动K8S

配置apiserver文件

执行指令

# grep -Ev '^$|#' /etc/kubernetes/apiserver

配置config文件

执行指令

# grep -Ev '^$|#' /etc/kubernetes/config

启动K8S服务

执行指令分别启动K8S的三个服务,如下图

# systemctl enable kube-apiserver.service

# systemctl start kube-apiserver.service

# systemctl enable kube-controller-manager.service

# systemctl start kube-controller-manager.service

# systemctl enable kube-scheduler.service

# systemctl start kube-scheduler.service

4、部署Node1和Node2节点

(1)、部署Node1节点

修改config配置文件。如下图

修改kubelet配置文件。如下图 

(2)、部署Node2节点

修改config配置文件。如下图

修改kubelet配置文件。如下图

 

(3)、分别启动Node1和Node2的kubelet和kube-proxy

执行指令分别启动Node的两个服务,如下图

# systemctl enable kubelet.service

# systemctl start kubelet.service

# systemctl enable kube-proxy.service

# systemctl start kube-proxy.service

 

(4)、在Master上查看集群中节点及节点状态

执行指令# kubectl get nodes提示没有发现资源

解决办法:关闭防火墙firewall

Master和Node1 Node2关闭防火墙

执行指令# systemctl stop firewalld

执行指令# systemctl disable firewalld

然后再执行指令# kubectl get nodes

二、访问测试

访问http://172.16.27.33:8080如下

 

 

 

 

 

 

 

 

 

 

 

本文含有隐藏内容,请 开通VIP 后查看