centos7部署k8s(1master1node)
〇.前言
就想多学学罢了
准备环境:
centos7 master 8GB 172.26.130.204
centos7 node   8GB 172.26.130.205
yum源就阿里源就好。。。
一.再前言
master 主机上172.26.130.204必须要有的组件:
etcd:提供分布式数据存储的数据库吧,用于持久化存储k8s集群的配置和状态。
kube-apiserver:api service提供了httprest接口,是整个集群的入口,K8s其它组件之间不直接通信,而是通过API server通信的。
kube-scheduler:scheduler负责资源的调度。
kube-controller-manager:整个集群的管理控制中心,此组件里面是由多个控制器组成的,如:Replication Manager(管理ReplicationController 资源),ReplicaSet Controller,PersistentVolume controller。主要作用用来复制组件、追踪工作结点状态、处理失败结点
node节点机上172.26.130.205必须要有的组件:
flannel:好像是用来支持网络通信的吧
kube-proxy:用来负载均衡网络流量
kubelet:用来管理node节点机上的容器
docker:运行项目镜像容器的组件
二.开始安装
1、所有机器上执行以下命令,准备安装环境:(注意是所有机器,主机master,从机node都要安装)
1.1、安装epel-release源
yum -y install epel-release
1.2、所有机器关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#查看防火墙状态
firewall-cmd --state
2、现在开始master主机上172.26.130.204安装kubernetes Master
2.1、使用yum安装etcd、kubernetes-master
yum -y install etcd kubernetes-master
2.2、编辑:vi /etc/etcd/etcd.conf文件,修改结果如下:
#[Member]
...
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
...
...
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
...
...
ETCD_NAME="default"
...
...
#[Clustering]
#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
2.3、配置:vi /etc/kubernetes/apiserver文件,配置结果如下:
# The address on the local server to listen to.
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
# The port on the local server to listen on.
KUBE_API_PORT="--port=8080"
# Port minions listen on
KUBELET_PORT="--kubelet-port=10250"
# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"
# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
# default admission control policies
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
2.4、启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动。
命令略
2.5、在etcd中定义flannel网络
etcdctl set /atomic.io/network/config '{"NETWORK":"172.17.0.0/16"}'
》》》》》》》》》》》》》》》》》以上master主机上的配置安装什么的都弄完了》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
3、接下来弄node从机上的配置安装什么的
3.1、在node机上172.26.130.205安装kubernetes Node和flannel组件应用
yum -y install flannel kubernetes-node
3.2、为flannel网络指定etcd服务,修改/etc/sysconfig/flanneld文件,配置结果如下:
# Flanneld configuration options
# etcd url location.  Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://172.26.130.204:2379"
# etcd config key.  This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/atomic.io/network"
3.3、修改:vi /etc/kubernetes/config文件,配置结果如下
###
# kubernetes system config
#
# The following values are used to configure various aspects of all
# kubernetes services, including
#
#   kube-apiserver.service
#   kube-controller-manager.service
#   kube-scheduler.service
#   kubelet.service
#   kube-proxy.service
# logging to stderr means we get it in the systemd journal
KUBE_LOGTOSTDERR="--logtostderr=true"
# journal message level, 0 is debug
KUBE_LOG_LEVEL="--v=0"
# Should this cluster be allowed to run privileged docker containers
KUBE_ALLOW_PRIV="--allow-privileged=false"
# How the controller-manager, scheduler, and proxy find the apiserver
KUBE_MASTER="--master=http://172.26.130.204:8080"
3.4、修改node机的kubelet配置文件/etc/kubernetes/kubelet
###
# kubernetes kubelet (minion) config
# The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces)
KUBELET_ADDRESS="--address=0.0.0.0"
# The port for the info server to serve on
KUBELET_PORT="--port=10250"
# You may leave this blank to use the actual hostname
KUBELET_HOSTNAME="--hostname-override=172.26.130.205"
# location of the api-server
KUBELET_API_SERVER="--api-servers=http://172.26.130.204:8080"
# pod infrastructure container
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
# Add your own!
KUBELET_ARGS=""
3.5、node节点机上启动kube-proxy,kubelet,docker,flanneld等服务,并设置开机启动。
命令略
》》》》》》以上所有master主机,node节点机上的配置就完成了,接下来看看k8s集群是否搭建起来了》》》》》》》》》》》》》》》》》》》
在master主机上172.26.130.204执行如下命令,查看运行的node节点机器:
[root@fcphost ~]# kubectl get nodes
NAME             STATUS    AGE
172.26.130.205   Ready     31m
												
											centos7部署k8s(1master1node)的更多相关文章
- CentOS7 部署K8S集群,最新版1.17.3-0
		
小白在网上找了很多关于k8s集群部署的文档,但是版本老旧,到处踩坑,终于部署成功,记录下过程. 一.准备工作 虚拟机:VMware® Workstation 15 Pro Xhell 6:Xshell ...
 - CentOS7 部署K8S集群
		
虚拟机: VMware® Workstation 12 Pro 12.5.9 build-7535481操作系统:CentOS Linux release 7.6.1810 (Core) 部署 ...
 - Centos7部署k8s[v1.16]高可用[keepalived]集群
		
实验目的 一般情况下,k8s集群中只有一台master和多台node,当master故障时,引发的事故后果可想而知. 故本文目的在于体现集群的高可用,即当集群中的一台master宕机后,k8s集群通过 ...
 - CentOS7.6部署k8s环境
		
CentOS7.6部署k8s环境 测试环境: 节点名称 节点IP 节点功能 K8s-master 10.10.1.10/24 Master.etcd.registry K8s-node-1 10.10 ...
 - Centos7.6部署k8s v1.16.4高可用集群(主备模式)
		
一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...
 - centos7.8 安装部署 k8s 集群
		
centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...
 - 微服务架构 - 离线部署k8s平台并部署测试实例
		
一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...
 - [Kubernetes]CentOS7部署Kubernetes集群
		
环境介绍及安装前准备 三台机器,用于部署k8s的运行环境: 节点 ip Master 192.168.243.138 Node1 192.168.243.139 Node2 192.168.243.1 ...
 - Centos7部署Kubernetes集群
		
目录贴:Kubernetes学习系列 1.环境介绍及准备: 1.1 物理机操作系统 物理机操作系统采用Centos7.3 64位,细节如下. [root@localhost ~]# uname -a ...
 
随机推荐
- OpenSSF安全计划:SBOM将驱动软件供应链安全
			
在 软件成分分析(SCA)一文中,我们简单提到软件物料清单(SBOM)在安全实践中的价值. 本期文章将带你深入了解 "SBOM 无处不在"计划是什么,以及 SBOM 对未来软件供应 ...
 - 安装gitlab客户端
			
1. 下载客户端软件包 https://pan.baidu.com/disk/home#/category?type=6&vmode=list 安装顺序: Git-2.13.3-64-bit. ...
 - input标签的事件之oninput事件
			
最近在写前端的时候,用到了oninput事件.(其中也涉及了onclick) 问题:鼠标点击数字和运算符的时候,文本框里的内容到达一定长度时,会出现无法继续往后面跟随光标的问题. 解决:见下面代码 这 ...
 - Java数组和Arrays 类
			
1.创建数组的三种方式: ①动态初始化:数组的初始化和数组元素的赋值操作分开进行 dataType[ ] arrayRefVar = new dataType [ arraySize ] ; Emp ...
 - JavaWEB-03-JDBC
			
内容 JDBC `JDBC`简介 JDBC `JDBC`快速入门 JDBC API `JDBC API` 详解 数据库连接池 JDBC `JDBC`案例 1. JDBC入门 1.1 概述 概念 JDB ...
 - 近期碰到的一些面试题--WPF、C#、数据库
			
最近想换工作的念头特别强烈,面了几家公司没有拿到满意的offer,心仪的公司面完锁HC,有点无奈,感觉今年有点卷,把碰到过的面试题总结下. WPF相关: 1.定义依赖属性需要注意哪些地方? (1)依赖 ...
 - CA证书、自颁发证书、自签名证书联系
			
一.理论基础 ssl:secure socket layer(安全套接层协议)的缩写,通过此协议可以保证两个应用通信的可靠性和保密性.openssl:是ssl协议的实现.提供了对称加密算法.非对称加密 ...
 - 003 Jwt登录流程图
			
用户\角色\权限 用户是一个基本的单位 用户和角色的关系是多对多,所以要有一张保存用户和角色关系的中间表 角色也不能直接决定这个用户能做什么操作,有哪些权限, 需要再关联权限表决定 角色和权限也是多对 ...
 - 高级数据结构学习笔记 / Data Structure(updating)
			
树状数组 查询操作:O(logn) 修改操作:O(logn) #define lowbit(x) (x & -x) int tr[N]; // 树状数组 // 添加c个大小为x的数值 vo ...
 - 分享一些小tips
			
谷歌浏览器破解 google拓展商店中hackbar地址 https://chrome.google.com/webstore/detail/djmoeoifnlhjolebkehmpaocfnipk ...