〇.前言

就想多学学罢了

准备环境:

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)的更多相关文章

  1. CentOS7 部署K8S集群,最新版1.17.3-0

    小白在网上找了很多关于k8s集群部署的文档,但是版本老旧,到处踩坑,终于部署成功,记录下过程. 一.准备工作 虚拟机:VMware® Workstation 15 Pro Xhell 6:Xshell ...

  2. CentOS7 部署K8S集群

    虚拟机:   VMware® Workstation 12 Pro 12.5.9 build-7535481操作系统:CentOS Linux release 7.6.1810 (Core)   部署 ...

  3. Centos7部署k8s[v1.16]高可用[keepalived]集群

    实验目的 一般情况下,k8s集群中只有一台master和多台node,当master故障时,引发的事故后果可想而知. 故本文目的在于体现集群的高可用,即当集群中的一台master宕机后,k8s集群通过 ...

  4. CentOS7.6部署k8s环境

    CentOS7.6部署k8s环境 测试环境: 节点名称 节点IP 节点功能 K8s-master 10.10.1.10/24 Master.etcd.registry K8s-node-1 10.10 ...

  5. Centos7.6部署k8s v1.16.4高可用集群(主备模式)

    一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...

  6. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...

  7. 微服务架构 - 离线部署k8s平台并部署测试实例

    一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...

  8. [Kubernetes]CentOS7部署Kubernetes集群

    环境介绍及安装前准备 三台机器,用于部署k8s的运行环境: 节点 ip Master 192.168.243.138 Node1 192.168.243.139 Node2 192.168.243.1 ...

  9. Centos7部署Kubernetes集群

    目录贴:Kubernetes学习系列 1.环境介绍及准备: 1.1 物理机操作系统 物理机操作系统采用Centos7.3 64位,细节如下. [root@localhost ~]# uname -a ...

随机推荐

  1. 深入理解 volatile 关键字

    volatile 关键字是 Java 语言的高级特性,但要弄清楚其工作原理,需要先弄懂 Java 内存模型.如果你之前没了解过 Java 内存模型,那可以先看看之前我写过的一篇「深入理解 Java 内 ...

  2. CentOS yum命令404

    1.获得新的repo列表文件 http://mirrors.163.com/.help/centos.html 2.备份 mv /etc/yum.repos.d/CentOS-Base.repo Ce ...

  3. 求求你们,别再刷 Star 了!这跟“爱国”没关系!

    这几年,随着几大互联网公司的强大,纷纷投入云计算产业的建设,开源项目作为维护潜在客户群体(开发者)的重要手段,是各大云计算厂商都在努力做的事. 这几年也诞生了很多真正优秀和看似优秀的开源项目.真正优秀 ...

  4. NC15975 小C的记事本

    NC15975 小C的记事本 题目 题目描述 小C最近学会了java小程序的开发,他很开心,于是想做一个简单的记事本程序练练手. 他希望他的记事本包含以下功能: 1.append(str),向记事本插 ...

  5. NC212914 牛牛与后缀表达式

    NC212914 牛牛与后缀表达式 题目 题目描述 给定牛牛一个后缀表达式 \(s\) ,计算它的结果,例如,1+1对应的后缀表达式为1#1#+,'#'作为操作数的结束符号. 其中,表达式中只含有'+ ...

  6. NC15553 数学考试

    NC15553 数学考试 题目 题目描述 今天qwb要参加一个数学考试,这套试卷一共有 \(n\) 道题,每道题qwb能获得的分数为 \(a_i\) ,qwb并不打算把这些题全做完, 他想选总共 \( ...

  7. java包机制

  8. flv.js的追帧、断流重连及实时更新的直播优化方案

    目录 1. 前言 2. 前端直播 2.1 常见直播协议 2.2 flv.js 的原理 2.3 flv.js 的简单使用 3. flv.js 的优化方案 3.1 追帧-解决延迟累积问题 3.2 断流重连 ...

  9. linux常见命令搜集

    查找根目录下txt和pdf文件 find / \( -name "*.txt" -o -name "*.pdf" \) -print 正则查找根目录下所有的tx ...

  10. PHP小工具

    防SQL注入 function clean($input) { if (is_array($input)) { foreach ($input as $key => $val) { $outpu ...