首页 > 其他分享 >cenos 搭建k8s集群

cenos 搭建k8s集群

时间:2023-06-16 16:33:18浏览次数:31  
标签:cenos kubernetes -- etc 集群 https yum k8s com

1、准备环境

#开放防火墙端口或关闭防火墙

systemctl stop firewalld

#关闭selinux

 setenforce 0

或者  永久修改

sed -i 's/enforcing/disabled/' /etc/selinux/config

#关闭swa

swapoff -a

#三台服务器都修改/etc/hosts

test1作为master

test2作为节点1

test3作为节点2

# 将桥接的IPv4流量传递到iptables的链

vim /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

#执行修改生效

sysctl --system 

 

以上操作,三台服务器都要执行!

 

2、三台服务器都安装docker

本次安装:kubeadm-1.19.0 kubelet-1.19.0 kubectl-1.19.0,对应的docker版本是:19.03

安装docker-19.03.15.tgz 参考https://www.cnblogs.com/leihongnu/p/16309585.html

拆坑记录:

之前没有安装过20以下的docker,需要在 /etc/docker/daemon.json文件中加入以下内容:

{
"registry-mirrors": ["https://registry.docker-cn.com","https://nrbewqda.mirror.aliyuncs.com","https://dmmxhzvq.mirror.aliyuncs.com"],
"exec-opts":["native.cgroupdriver=systemd"]
}

第一行是联网,否者下载不了镜像(20以上版本没有要求),

第二行是初始化master消除告警《

detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/

 

#设置docker开机自起,一定要设置,否则初始化报错

systemctl enable docker

 

3、安装kubeadm、kubelet和kubectl

#安装工具

yum install conntrack-tools

#添加阿里云yum软件源

[root@test1 ~]# cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0

 #安装

yum install -y kubeadm-1.19.0 kubelet-1.19.0 kubectl-1.19.0

#设置开机启动kubelet,启动也不会成功,需要初始化之后才可以,会一直在刷日志,先不管

systemctl enable kubelet

 

4、初始化master

--ignore-preflight-errors=all :cpu最少需要两个,我的虚拟机只有一个,懒得改,直接忽略这个错误(

[ERROR NumCPU]: the number of available CPUs 1 is less than the required 2

kubeadm init --kubernetes-version=1.19.0 --apiserver-advertise-address=master的ip --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16  --ignore-preflight-errors=all 

  

注意初始化会有报错,根据提示解决。

节点1和节点需要执行的加入语句:

kubeadm join 192.168.56.101:6443 --token yy85lu.00jmm2hqd321gczx \
--discovery-token-ca-cert-hash sha256:3726d33eb051ce11f1dd7fdc0405bc8b0bd4f29fc93c2314aabebadbc6579d86

 

5、创建文件夹将admin.conf文件 copy到对应的位置

这里$PATH是/root

#创建目录

mkdir -p $HOME/.kube

#复制文件到目录
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config


#将master的/etc/kubernetes/admin.conf 文件复制给节点1和节点2

scp -p /etc/kubernetes/admin.conf  test2:/etc/kubernetes/admin.conf

scp -p /etc/kubernetes/admin.conf  test3:/etc/kubernetes/admin.conf

 

6、将节点1和节点2加入master

节点1节点2执行下面的语句:

kubeadm join 192.168.56.101:6443 --token yy85lu.00jmm2hqd321gczx \
--discovery-token-ca-cert-hash sha256:3726d33eb051ce11f1dd7fdc0405bc8b0bd4f29fc93c2314aabebadbc6579d86

执行后的结果

 

 7、在master中查看节点

[root@test1 ~]# kubectl get nodes

 

以上搭建完成!

 

标签:cenos,kubernetes,--,etc,集群,https,yum,k8s,com
From: https://www.cnblogs.com/leihongnu/p/17485730.html

相关文章

  • Kubernetes 1.27.2集群安装
    基础环境系统Ubuntu22.04.2|主机名称|IP||-----|--------||k8s-master|192.168.198.141||k8s-node01|192.168.198.142||k8s-node02|192.168.198.143|设置k8s环境准备条件(所有机器)#禁用交换分区(在旧版的k8s中kubelet都要求关闭swapoff,但最......
  • 修改ASM实例参数,导致GI集群无法启动
    0、有一套预生产环境,准备在上线之前先进行数据库参数修改。结果在修改ASM内存参数时,忘记resetmemory_max_target参数,导致GI集群无法启动。将整个故障记录下来。 1、修改ASM实例参数altersystemsetprocesses=1000scope=spfilesid='*';altersystemsetsga_max_size......
  • rocketmq集群配置简介
    RocketMQ天生对集群的支持非常好,它有以下一些模式:(1)单Master优点:除了配置简单没什么优点缺点:不可靠,该机器重启或者宕机,将要导致整个服务不可用(2)多Master优点:配置简单,性能最高缺点:可能会有少量消息丢失(配置相关),单台机器重启或宕机期间,该机器下未被消费的消息在机器恢复前不可......
  • K8S的OOM和cpu节流
    介绍使用Kubernetes时,内存不足(OOM)错误和CPU节流是云应用程序中资源处理的主要难题。这是为什么?云应用程序中的CPU和内存要求变得越来越重要,因为它们与您的云成本直接相关。通过limits和requests,您可以配置pod应如何分配内存和CPU资源,以防止资源匮乏并调整云成本......
  • K8S中pod状态详解
    Pod有以下几个状态:Pending等待中Running运行中Succeeded正常终止Failed异常停止Unkonwn未知状态Pod状态详解PendingPod已经被创建,但还没有完成调度,可能处在:写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending伴随的事件通常会有:ADDED,Modified这两个事件的......
  • k8s实战案例之基于StatefulSet控制器运行MySQL一主多从
    1、前言Pod调度运⾏时,如果应⽤不需要任何稳定的标示、有序的部署、删除和扩展,则应该使⽤⼀组⽆状态副本的控制器来部署应⽤,例如Deployment或ReplicaSet更适合⽆状态服务需求,⽽StatefulSet适合管理所有有状态的服务,⽐如MySQL、MongoDB集群等。2、StatefulSet控制器运行MySQL一......
  • 初识k8s,安装k8s,kubesphere一键安装
     1.轻量级的容器系统是是现在的主流,但一个成熟的项目可能需要成百上千的应用(容器)来支撑,如此一来,大量分布在不同服务器上的容器就靠人工就非常难以管理,而Kubernetes的出现就是为了解决这个问题,它将大量的容器编排管理起来。 2.容器编排系统角逐历史mesosapache分布式资......
  • 集群变更备忘录
    HDPyum变更之前搭的镜像虚拟机不想启动了,但是yum命令会报错,把之前配置的文件删了mkdir/etc/yum.repos.d.bakcd/etc/yum.repos.dmvambari-hdp-51.repoambari.repoHDF.repoHDP.repoHDP-UTILS.repo/etc/yum.repos.d.bak/yumcleanallyummakecache......
  • 【Docker/K8s】启动容器镜像,使其空转不退出
    场景描述有些时候,我们仅仅想启动一个Docker容器,而不需要它执行预置的命令。比如一个场景是我想检查集群的网络状况,那我需要启动一个容器,然后进入到容器里执行命令来调试。大部分的镜像都带有默认的启动cmd,导致直接dockerrun启动的话,很快就会因为预置命令执行失败导致退出。解决......
  • 虚拟机(CentOS6.5)hadoop分布式集群搭建
    ps:本次三台虚拟机均由克隆而来修改MAC地址vim/etc/vim/etc/udev/rules.d/70-persistent-net.rules删除name="eth0"一行将name="eth1"的name改为name="eth0"之后将该行ATTR(address)复制vim/etc/sysconfig/network-scripts/ifcfg-eth0将IPADDR设置为虚拟IP(eg:192.168.229.2......