centos7.2+k8s1.4.1+docker1.12集群部署

在centos7部署k8s搭建kubernetes集群 Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找 阅读详情

实验环境:

操作系统:centos7.2_x64

master:192.168.72.183

minion01 : 192.168.72.184  容器网段:172.17.0.0/16

 

设置主机信息:

1. master上执行:

a) 设置主机名称命令:hostnamectl --static set-hostname  k8s-master

b) 关闭防火墙命令:

i. systemctl disable firewalld.service

ii. systemctl stop firewalld.service

c) 设置hosts命令:echo '192.168.72.183    k8s-master

192.168.72.183   etcd

192.168.72.183   registry

192.168.72.184   k8s-node-1' >> /etc/hosts

 

2. minion01上执行:

a) 设置主机名称命令:hostnamectl --static set-hostname  k8s-node-1

b) 关闭防火墙命令:

i. systemctl disable firewalld.service

ii. systemctl stop firewalld.service

c) 设置hosts命令:echo '192.168.72.183    k8s-master

192.168.72.183   etcd

192.168.72.183   registry

192.168.72.184   k8s-node-1' >> /etc/hosts

 

SSH免密匙安装:

1. master安装ssh-agent

a) 执行命令:ssh-keygen,会在~/.ssh/目录下多出来两个文件:id_rsa.pub(公钥文件)和id_rsa(私钥文件)

b) 在所有minion节点中~/.ssh/authorized_keys配置文件添加公钥文件内容,(注:没有文件就创建文件)

i. Scp id_rsa.pub root@192.168.72.184:~/.ssh/

ii. Cat id_rsa.pub >> ~/.ssh/authorized_keys

2. 测试ssh

master执行ssh 192.168.72.184登录minion节点不需要密码则成功

 

Etcd安装:

1. Master安装etcd:

a) yum install etcd -y

 

2. yum安装的etcd默认配置文件在/etc/etcd/etcd.conf。编辑配置文件,更改以下带颜色部分信息

vi /etc/etcd/etcd.conf

 

# [member]

ETCD_NAME=master

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

#ETCD_WAL_DIR=""

#ETCD_SNAPSHOT_COUNT="10000"

#ETCD_HEARTBEAT_INTERVAL="100"

#ETCD_ELECTION_TIMEOUT="1000"

#ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"

#ETCD_MAX_SNAPSHOTS="5"

#ETCD_MAX_WALS="5"

#ETCD_CORS=""

#

#[cluster]

#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"

# if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."

#ETCD_INITIAL_CLUSTER="default=http://localhost:2380"

#ETCD_INITIAL_CLUSTER_STATE="new"

#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_ADVERTISE_CLIENT_URLS="http://etcd:2379,http://etcd:4001"

#ETCD_DISCOVERY=""

#ETCD_DISCOVERY_SRV=""

#ETCD_DISCOVERY_FALLBACK="proxy"

#ETCD_DISCOVERY_PROXY=""

3. 启动并验证状态

a) systemctl start etcd

b) etcdctl set testdir/testkey0 0

0

c) etcdctl get testdir/testkey0

0

d) etcdctl -C http://etcd:4001 cluster-health

member 8e9e05c52164694d is healthy: got healthy result from http://0.0.0.0:2379

cluster is healthy

e) etcdctl -C http://etcd:2379 cluster-health

member 8e9e05c52164694d is healthy: got healthy result from http://0.0.0.0:2379

cluster is healthy

 

Docker安装:

1. Master安装docker:

a) yum install docker

 

2. 配置Docker配置文件,使其允许从registry中拉取镜像

vi /etc/sysconfig/docker

 

# /etc/sysconfig/docker

 

# Modify these options if you want to change the way the docker daemon runs

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'

if [ -z "${DOCKER_CERT_PATH}" ]; then

    DOCKER_CERT_PATH=/etc/docker

fi

OPTIONS='--insecure-registry registry:5000'

3. 设置开机自启动并开启服务

a) chkconfig docker on

b) systemctl start docker.service

4. 查看docker版本

a) docker version

 

 

k8s集群部署:

1. master安装kubernetes

a) yum install kubernetes

 

2. 配置并启动kubernetes

a) vi /etc/kubernetes/apiserver

###

# kubernetes system config

#

# The following values are used to configure the kube-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://etcd: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,ServiceAccount,ResourceQuota"

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

 

# Add your own!

KUBE_API_ARGS=""

 

b) 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://k8s-master:8080"

 

3. 启动服务并设置开机自启动(先重启os)

a) systemctl enable kube-apiserver.service

b) systemctl start kube-apiserver.service

c) systemctl enable kube-controller-manager.service

d) systemctl start kube-controller-manager.service

e) systemctl enable kube-scheduler.service

f) systemctl start kube-scheduler.service

4. Node安装docker/kubernets,参考master安装

a) 安装k8s后配置并启动kubernetes

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://k8s-master:8080"

 

b) vi /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=k8s-node-1"

 

# location of the api-server

KUBELET_API_SERVER="--api-servers=http://k8s-master: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=""

 

5. 启动kubelet、kube-proxy服务并设置开机自启动

a) systemctl enable kubelet.service

b) systemctl start kubelet.service

c) systemctl enable kube-proxy.service

d) systemctl start kube-proxy.service

6. Master上执行Kubectl get no检查k8s是否部署成功

a) 查询集群节点:kubectl get no

 

b) 查询api:http://192.168.72.131:8080/swagger-ui/

 

 

7. 安装网络Flannel

a) 在master、node上均执行如下命令,进行安装

yum install flannel

 

b) 配置Flannel,master、node上均编辑/etc/sysconfig/flanneld,修改红色部分

vi /etc/sysconfig/flanneld

 

# Flanneld configuration options

 

# etcd url location.  Point this to the server where etcd runs

FLANNEL_ETCD_ENDPOINTS="http://etcd:2379"

 

# etcd config key.  This is the configuration key that flannel queries

# For address range assignment

FLANNEL_ETCD_PREFIX="/atomic.io/network"

 

# Any additional options that you want to pass

#FLANNEL_OPTIONS=""

c) 配置etcd中关于flannel的key

执行命令:etcdctl mk /atomic.io/network/config '{ "Network": "10.0.0.0/16" }'

{ "Network": "10.0.0.0/16" }

d) 启动Flannel之后,需要依次重启docker、kubernete,在master执行

i. systemctl enable flanneld.service

ii. systemctl start flanneld.service

iii. service docker restart

iv. systemctl restart kube-apiserver.service

v. systemctl restart kube-controller-manager.service

vi. systemctl restart kube-scheduler.service

e) 在node上执行

i. systemctl enable flanneld.service

ii. systemctl start flanneld.service

iii. service docker restart

iv. systemctl restart kubelet.service

v. systemctl restart kube-proxy.service

 

 

Centos7部署k8s集群 v1.18.2 一、部署环境 主机名 centos版本 ip docker version flannel 主机配置 k8s版本 master centos7 192.168.1.12 19.03.9 v0.11.0 2G v1.18.2 node1 centos7 192.168.1.13 19.03.9 v0.11.0 2G v1.18.2 node2 centos7 . 阅读详情

相关推荐

【kubernetes】centos7三节点部署k8s集群完整版

centos7三节点部署k8s集群完整版

wu852278685的博客 1209

手把手教你在centos7安装k8s集群

centos7安装k8s集群,linux安装k8s集群

Honest_wolf_king的博客 3685

Kubernetes(k8s)1.28集群部署

kubernetes(k8s)1.28集群部署

wq975826228的博客 1539

CentOS 7安装k8s集群和Docker

为了安装k8s集群和Docker,您需要按照以下步骤在CentOS 7上进行操作。如果您需要更详细的说明,请参考腾讯云的官方文档或Kubernetes官方文档。# 在Node节点上以root用户执行之前记下的join命令,将Node节点加入k8s集群。# 完成后,请记下生成的加入命令(join command),以便在Node节点上使用。**3. 在Master节点上初始化k8s集群****4. 在Node节点上加入k8s集群****2. 配置kubeadm****1. 安装Docker**

PANGXIE89的博客 204

CentOS 7 安装 Kubernetes 1.28.2 集群

本文详细讲解在CentOS 7系统上部署Kubernetes 1.28.2集群的完整流程,涵盖环境准备、依赖安装、集群初始化及网络插件配置,针对常见报错提供解决方案。内容适用于从零搭建的运维新手及需升级集群的技术人员,助您高效完成云原生环境部署。

m_2076的博客 1212

centos7部署kubernetes集群之kubeadm

本文用kubeadm的方式部署kubernetes集群,架构图如下: 此方式将kubernetes的主要组件kube-apiserver + kube-scheduler + kube-controller-manager + etcd + flannel + kube-proxy以pod形式运行,并且各个节点包括master节点上运行kubelet和docker守护进程,并且确保kubelet...

cloudUncle的博客 4355

Virtualbox下CentOS安装k8s

1.系统配置硬件配置基本要求资源大小硬盘>= 20Gcpu>= 2核内存>= 2G本教程配置主机名IP配置master192.168.10.1553核+2G+20Gworker1192.168.10.2343核+2G+20Gworker2192.168.10.1473核+2G+20G2.安装必要软件所有机器都要执行yum 更新sudoyumupdate-ybash-comp...

天行健,君子以自强不息;地势坤,君子以厚德载物。 743

【云原生】centos7搭建安装k8s集群 v1.25版本详细教程实战

centos7 搭建K8S v1.25版本实战

低调,谦虚,自律,反思,成长,保持热爱,奔赴梦想 5444

centos7虚拟机从零开始搭建docker与k8s集群到使用

(1)动静态ip修改 vi /etc/sysconfig/network-scripts/网卡名 动态ip只需要更改BOOTPROTO=“dhcp” 无需最后五行内容 静态ip则更改BOOTPROTO=“static” 然后添加最后五行内容 (2)修改hostname vi /etc/hostname内部更换hostname systemctl restart systemd-hostnamed重启 hostname查看 (3)主机名解析 vi /etc/hosts 192.168.19.100 mas

qq_36967200的博客 1893

centos 7 部署k8s集群 1.28.2版本

本地部署k8s集群,1.28.2版本

qq_41076892的博客 1万+

centos7环境下k8s 1.9 机docker 安装手册

在centos7版本下,安装kubernetes和docker。包含初始环境配置,docker安装,k8s安装,两台集群

基于centos7安装docker+k8s+KubeSphere

服务器 ip地址 主机名。在 cluster-configuration.yaml中指定我们需要开启的功能。将k8s核心管理员配置文件移动到当前root用户.kube/config下。POD全部显示running就好了。解决etcd监控证书找不到问题。密码 : P@88w0rd。账号 : admin。

ab12499的博客 2829

关于图像傅里叶变换得到的频谱图的通俗理解

傅里叶变换过程: 经过傅里叶变化且频谱居中化处理的频谱图: 1.如果将图像某一行上的灰度变化看作是一个离散信号,那么整张图像可以看作是一个分布在二维平面上的信号,因此图像可看作是空间域信号。傅里叶变换则是将图像灰度分布(空间域信号)变换到了频域上,给我们提供了观察图像的另一个视角。 2.图像的频谱图(频谱居中后)的中心点是频率最低点,以该点为圆心,不同半径的上的点表示不同的频率。这里的图像频率是指对应原图像中的某灰度曲线变化的快慢(这么说不严谨,但是按照上面第1点的角度,似乎也可以这么理解

daimashiren的博客 2万+

Centos7 部署K8S集群实战

Kubernetes中文官网:KubernetesKubernetes简称为K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统,起源于Google 集群管理工具Borg。Kubernetes集群组件逻辑图。

各位大佬有任何问题欢迎在相应文章下一起讨论,博主会第一时间帮助大家处理相应问题~ 3262

顺序功能图基本结构

顺序功能图(Sequential Function Chart,SFC)是一种用于描述工业控制系统中顺序控制流程的图形化编程语言,广泛应用于PLC(可编程逻辑控制器)编程。其核心思想是将复杂的控制流程分解为多个有序的步骤,通过逻辑条件实现步骤间的切换。顺序功能图通过图形化的方式简化了复杂控制逻辑的设计,尤其适用于需要严格顺序控制的工业自动化场景。[初始步] → 转换条件1 → [步1] → 转换条件2 → [步2] → ...[步X] → → [步B] → 转换条件B → → [合并步]

ayingqin1的博客 1227

HMMER实战:从零部署到序列分析

本文详细介绍了HMMER工具的安装与使用,从源码编译到环境配置,再到核心工具hmmbuild、hmmsearch等的实战应用。通过球蛋白序列分析案例,展示了HMMER在生物信息学中的强大功能,帮助读者快速掌握序列分析技巧。

weixin_42529366的博客 258

从零搭建 Kubernetes 单 Master 集群:CentOS 7 + containerd + Flannel 完整实录

本文将在CentOS 7环境中使用containerd、kubeadm、kubelet、kubectl与Flannel搭建Kubernetes集群,并整理Master与Worker节点的自动安装脚本。

羑悻的博客. 3万+

Win11家庭版如何让Win+R运行CMD默认管理员权限?3种方法实测有效

本文针对Win11家庭版用户,实测了三种让Win+R运行CMD默认获取管理员权限的有效方法。通过分析UAC机制与家庭版功能限制,详细介绍了注册表编辑、快捷方式创建与任务计划程序三种方案的原理、步骤与风险对比,帮助用户根据安全与效率需求选择最佳方案,实现一键高效管理。

sat99的博客 1277

CentOS7使用kubeadm部署k8s-1.28集群

本文记录了在CentOS 7.9环境下部署Kubernetes 1.28集群的过程。采用containerd 1.6.28作为容器运行时,Calico作为网络插件,并搭建NFS共享存储环境。集群包含1个master节点和2个worker节点,均通过kubeadm工具部署。部署步骤包括:系统环境准备(禁用SELinux、swap等)、containerd安装配置、kubeadm/kubelet/kubectl安装,以及cgroup驱动配置。特别针对国内环境配置了镜像源代理,使用阿里云镜像仓库替代默认仓库。

运维攻城狮 3509

(遇到问题)(已解决)word敲入的公式转化为mathtype

https://www.mathtype.cn/wenti/wordgongshi-zhuanhuan.html 现在越来越多的人在文档中编辑公式的时候会选择MathType来编辑,因为它包含有众多的数学符号和模板,编辑公式时非常方便。但是也有一些人在编辑公式时没有使用MathType公式编辑器,直接使用Word中自带的公式编辑器来编辑的。当我们需要要共享一份文件的时候,这种用自带公式编辑器编辑出来的文件,在我们安装有MathType公式编辑器的电脑里打开时,双击公式没有反应,是无法对它们进行修改的.

计算机视觉 1万+

抖音直播参数逆向实战:手把手教你用Python获取ttwid和x-bogus(附完整代码)

本文深入解析抖音直播接口的反爬机制,重点剖析核心防护参数ttwid和x-bogus的生成原理与作用。通过Python实战,手把手教你逆向获取ttwid、webid等关键参数,并构建稳定的数据采集方案,为开发者提供企业级数据获取能力。

weixin_29196891的博客 1045

CentOS7.9+Kubernetes1.29.2+Docker25.0.3高可用集群二进制部署

- CentOS7.9+Kubernetes1.29.2+Docker25.0.3高可用集群二进制部署2、二进制软件部署flannel v0.22.3网络,使用的etcd是版本3,与之前使用版本2不同。查看官方文档进行了解。 - 截至北京时间2024年2月15日凌晨,k8s已经更新至1.29.2版。从v1.24起,Docker不能直接作为k8s的容器运行时。因为Docker庞大的生态和广泛的群众基础,我们可以通过补充安装cri-dockerd以满足容器运行时接口的条件。

peng_s_w的专栏 9万+

从零开始:面板数据熵值法的Stata实现与常见陷阱解析

本文详细介绍了面板数据熵值法在Stata中的实现步骤与常见陷阱解析。通过熵值法客观赋权特性,科学构建综合指数,特别适合处理多维面板数据。文章涵盖数据预处理、标准化方法选择、Stata代码实现及结果可视化,并针对常见问题提供实用解决方案,助力研究者避免分析误区。

study的专栏 620

【Kubernetes】linux centos安装部署Kubernetes集群

Kubenetes默认Registries地址是k8s.gcr.io,很明显,在国内并不能访问gcr.io,因此在kubeadm v1.13之前的版本,安装起来非常麻烦,但是在1.13版本中终于解决了国内的痛点,其增加了一个–image-repository参数,默认值是k8s.gcr.io,我们将其指定为国内镜像地址:registry.aliyuncs.com/google_containers。如果kubernets初始化时失败后,第二次再次执行会初始化命令会报错,这时需要进行重置。

weixin_44102152的博客 2336

YOLOv8轻量化模型瘦身术:深度解析与实战LAMP剪枝 YOLOv8(2021)

YOLOv8模型LAMP剪枝技术解析与实战 本文深入探讨了LAMP剪枝技术在YOLOv8目标检测模型中的应用。针对深度学习模型部署面临的资源限制问题,LAMP剪枝通过最小化L2失真和层自适应稀疏度分配,实现了高效模型压缩。相比传统幅度剪枝的"一刀切"方法,LAMP创新性地将剪枝建模为优化问题,定义LAMP分数来衡量权重重要性,自动确定各层最佳剪枝率。文章从理论基础出发,详细解析了LAMP的核心数学公式和算法流程,并提供了完整的YOLOv8移植实战指南,包括代码结构、剪枝步骤和微调策略。通

FJN110的博客 2423

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Centos 7搭建k8s集群

详细步骤请参考https://blog.csdn.net/WHQ556677/article/details/122283578注:centos安装后默认不开启网络连接,需要按照以下步骤进行开启。1、VMware网络模式选择NAT模式2、进入centos7下 /etc/sysconfig/network-scripts/目录下,编辑ifcfg-ensxxx(默认是ifcfg-ens33)修改为一下配置文件3、修改配置文件后重启网络服务(systemctl restart network)

m0_55878559的博客 3万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: ubuntu14.04+k8s1.1+docker1.9集群部署
下一篇: mysql存储引擎InnoDB、MyISAM、MEMORY总结
Code Space
博客等级 码龄14年 8粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值