首页 > 其他分享 >k8s之集群部署(kubeadm)

k8s之集群部署(kubeadm)

时间:2023-11-16 12:07:07浏览次数:29  
标签:-- repo etc 集群 yum kubeadm k8s com docker

 

[master&node]

1.修改主机名

hostnamectl set-hostname master-01

cat >> /etc/hosts << EOF
172.28.32.1   master-01
172.28.32.2   worker-01
EOF

 

2.配置阿里云官方源

mkdir -p /etc/yum.repos.d/back
find /etc/yum.repos.d/ -type f -exec mv {} /etc/yum.repos.d/back/ \;
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

 

3.关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

 

4.关闭交换分区和selinux

sed -i.bak '/swap/s/^/#/' /etc/fstab
sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

 

5.配置内核转发等相关参数

modprobe br_netfilter

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

cat << EOF >> /etc/sysctl.conf
net.ipv4.ip_forward=1
EOF

chmod a+x /etc/rc.local
echo "source /etc/profile" >> /etc/rc.local
echo "modprobe br_netfilter" >> /etc/rc.local
echo "sysctl -p /etc/sysctl.d/k8s.conf" >> /etc/rc.local
echo "sysctl -p" >> //etc/rc.local

reboot    # 重启时因为需要重新检测selinux 的策略

 

6.安装Docker

yum -y install wget yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

yum list docker-ce --showduplicates | sort -r
yum remove docker-ce docker-ce-cli containerd.io
yum install -y docker-ce-20.10.8 docker-ce-cli-20.10.8 containerd.io

systemctl enable docker --now


# 这里设置cgroup 的类型为 systemd
cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://2ywfua5b.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

systemctl daemon-reload
systemctl restart docker

 

7.安装kubelet, kubeadm, kubectl

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum remove kubeadm kubectl kubelet kubernetes-cni cri-tools socat
yum --showduplicates list kubeadm
yum -y install kubeadm-1.23.8 kubectl-1.23.8 kubelet-1.23.8
systemctl enable kubelet

 

[Master]

仅仅master上执行

kubeadm init --kubernetes-version=1.23.8 --apiserver-advertise-address=172.28.32.1 --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers

 

对集群做config认证

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

 

[Worker]

kubeadm join 172.28.32.1:6443 --token i2meul.73ipaykm3jc2k6vs --discovery-token-ca-cert-hash sha256:9e6d95ffc5ba78a5c71352ffcc9bca2330b17264ebc44facf6359b1ac153f33f

 

启动服务发现,node的状态都是NotReady,这是因为缺少网络插件导致,

[安装flannel插件(CNI)]

#创建文件夹
mkdir flannel && cd flannel
#下载文件
curl -O https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# kube-flannel.yml里需要下载镜像,我这里提前先下载
docker pull quay.io/coreos/flannel:v0.14.0-rc1
#创建flannel网络插件
kubectl apply -f kube-flannel.yml

#过一会查看k8s集群节点,变成Ready状态了
kubectl get nodes
NAME         STATUS   ROLES    AGE     VERSION
k8s-master   Ready    master   9m39s   v1.19.3

 



标签:--,repo,etc,集群,yum,kubeadm,k8s,com,docker
From: https://blog.51cto.com/u_11045899/8415949

相关文章

  • ZooKeeper集群脑裂问题处理,值得收藏!
    转载自:https://cloud.tencent.com/developer/article/1758883==================本文重点讲解ZooKeeper脑裂问题的处理办法。ZooKeeper是用来协调(同步)分布式进程的服务,提供了一个简单高性能的协调内核,用户可以在此之上构建更多复杂的分布式协调功能。脑裂通常会出现在集群环境中......
  • 五分钟k8s实战-Istio 网关
    在上一期k8s-服务网格实战-配置Mesh中讲解了如何配置集群内的Mesh请求,Istio同样也可以处理集群外部流量,也就是我们常见的网关。其实和之前讲到的k8s入门到实战-使用IngressIngress作用类似,都是将内部服务暴露出去的方法。只是使用Istio-gateway会更加灵活。这里有......
  • redis 集群部署
    在生产环境不存在单体果奔的数据库,且云厂商rds等高可用数据库性价比极低,因此很多场景需要我们使用实例自建集群。本章介绍如何从0开始搭建redis7三主三从基础集群环境与故障迁移模拟测试。预备姿势vm模拟环境vmwarecetos7.9//关闭防火墙与selinuxredis7|6均可xsh......
  • openGauss集群主库出现流复制延迟告警
    问题描述:环境是openGauss5.0集群,在一次意外重启数据库之后。收到了一个主库的主从延迟告警,只有从库才能出现延迟,主库怎么会出现了告警延迟告警信息:Status:ResolvedHostname:hkuatxcrecondb01IPAddress:192.168.163.21AlertMessage:Opengauss:Streaminglagwith{#M......
  • 部署单个节点的集群consul
    一、启动启动server端nohup./consulagent-config-dir=/opt/consul/config& 配置文件/opt/consul/confg.json的具体内容为:{"bootstrap_expect":1,"data_dir":"/opt/consul/data","log_level":"INFO",......
  • k8s 删除Terminating状态的namespace
    查看ns状态root@test-10-5-2-15:~#kubectlgetnsNAMESTATUSAGEcert-managerTerminating19h查看该命名空间下的资源kubectlapi-resources-oname--verbs=list--namespaced|xargs-n1kubectlget--show-kind--ignore-not-found-n......
  • 使用 kubeadm 进行证书管理
    检查证书是否过期kubeadmcertscheck-expiration[check-expiration]Readingconfigurationfromthecluster...[check-expiration]FYI:Youcanlookatthisconfigfilewith'kubectl-nkube-systemgetcmkubeadm-config-oyaml'CERTIFICATE......
  • 安装Kubernetes(k8s)
    安装Kubernetes(k8s)保姆级教程---无坑版一、安装环境说明硬件要求内存:2GB或更多RAMCPU:2核CPU或更多CPU硬盘:30GB或更多本次环境说明:操作系统:CentOS7.9内核版本:3.10.0-1160master:192.168.68.106node01:192.168.68.107node02:192.168.68.108转载请在文章开头附上......
  • k8s基础
    k8s基础Kubernetes(通常称为K8s)是一个开源的容器编排和管理平台,它的主要目标是简化和自动化容器化应用程序的部署、扩展、维护和运维。以下是对Kubernetes的简单理解:容器编排:Kubernetes帮助您有效地管理和编排容器,确保它们在集群中的部署和运行。容器是轻量级的应用程序包装,包......
  • k8s pod的共享资源有哪些?
    概述1)PID命名空间:Pod中的不同应用程序可以看到其他应用程序的进程ID;2)网络命名空间:Pod中的多个容器能够访问同一个IP和端口范围;3)IPC命名空间:Pod中的多个容器能够使用SystemVIPC或POSIX消息队列进行通信;4)UTS命名空间:Pod中的多个容器共享一个主机名;5)Volumes(共享存储卷):Pod......