首页 > 系统相关 >Kubernetes集群部署三节点yum部署

Kubernetes集群部署三节点yum部署

时间:2023-08-29 14:32:09浏览次数:34  
标签:kubernetes Kubernetes etc 部署 -- yum dashboard docker 节点

一、修改主机名(三个节点都操作)

vi /etc/hostname #跟换主机名
systemctl restart systemd-hostnamed   #修改完成后重新链接服务

二、同步时间(三个节点都操作)

yum install ntpdate -y
ntpdate time.windows.com
#时区设置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#最后执行如下命令将系统时间同步到硬件,防止系统重启后时间被还原。
hwclock --systohc

三、在master添加hosts

cat >> /etc/hosts << EOF
10.10.90.67 airlook01
10.10.90.68 airlook02
10.10.90.69 airlook03
EOF

四、关闭安全机制(三个节点都操作)

systemctl disable firewalld
systemctl stop firewalld
setenforce 0
getenforce
sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/sysconfig/selinux
#关闭swap
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab

五、将桥接的IPv4流量传递到iptables的链(三个节点都操作)

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

#生效sysctl
sysctl --system 

六、安装docker(三个节点都操作)

#彻底删除docker
rm -rf /etc/systemd/system/docker.service.d
rm -rf /etc/systemd/system/docker.service
rm -rf /var/lib/docker
rm -rf /var/run/docker
rm -rf /usr/local/docker
rm -rf /etc/docker
rm -rf /usr/bin/docker* /usr/bin/containerd* /usr/bin/runc /usr/bin/ctr
yum remove  *docker*

#添加yum docker软件源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
#安装docker
yum -y install docker-ce
#启用并启动docker
systemctl enable docker && systemctl start docker

#配置镜像下载加速器
cat  > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl restart docker
docker info

七、部署kubernetes(三个节点都操作)

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

yum install -y kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0  #如果安装失败 yum remove失败包重装

systemctl enable kubelet

八、master节点初始化k8s(主节点操作)

kubeadm init \
  --apiserver-advertise-address=10.10.90.67 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.23.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16 \
  --ignore-preflight-errors=all

--apiserver-advertise-address 集群通告地址

--image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址

--kubernetes-version K8s版本,与上面安装的一致

--service-cidr 集群内部虚拟网络,Pod统一访问入口

--pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致

初始化之后,会输出一个join命令,先复制出来,node节点加入master会使用

Kubernetes集群部署三节点yum部署_kubernetes

九、拷贝k8s认证文件(主节点操作)

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

查看工作节点:
kubectl get nodes

如其他节点需要也可分发config到对应路径

十、配置k8s的node节点【node节点操作】

kubeadm join 10.10.90.67:6443 --token ai0s23.688kly6ovb8phnmg \

	--discovery-token-ca-cert-hash sha256:ad454105accbb54555bdbab296085bb9704fafc60b5af8f80f02b7ef7cde0708

此为上面主节点初始化生成json,在node节点执行即可

如果遇到报错:

Kubernetes集群部署三节点yum部署_kubernetes_02

执行:

echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables

再重新执行json进行节点加入

十一、部署容器网络 (master执行)

wget https://docs.projectcalico.org/manifests/calico.yaml

修改
- name: CALICO_IPV4POOL_CIDR

              value: "10.96.0.0/12"

kubectl apply -f calico.yaml
kubectl get pods -n kube-system

十二、部署 Dashboard

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml

vi recommended.yaml

...

kind: Service

apiVersion: v1

metadata:

  labels:

    k8s-app: kubernetes-dashboard

  name: kubernetes-dashboard

  namespace: kubernetes-dashboard

spec:

  ports:

    - port: 443

      targetPort: 8443

      nodePort: 30001

  selector:

    k8s-app: kubernetes-dashboard

  type: NodePort

...


kubectl apply -f recommended.yaml

kubectl get pods -n kubernetes-dashboard


#创建用户

kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

#用户授权

kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

#获取用户Token

kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

Kubernetes集群部署三节点yum部署_k8s_03

登录 https://10.10.90.67:30001 

Kubernetes集群部署三节点yum部署_部署_04

Kubernetes集群部署三节点yum部署_部署_05

标签:kubernetes,Kubernetes,etc,部署,--,yum,dashboard,docker,节点
From: https://blog.51cto.com/u_16228006/7276810

相关文章

  • 在tomcat上安装PFX格式证书部署https
    您可以在Tomcat服务器安装已签发的SSL证书,实现通过HTTPS安全访问Web服务。本文介绍如何在Tomcat服务器安装PFX格式的SSL证书。步骤一:在阿里云的域名管理后台,下载SSL证书登录数字证书管理服务控制台。在左侧导航栏,单击SSL证书。在SSL证书页面,定位到目标证书,在操作列,单......
  • Kubernetes三主两从集群搭建
    安装前必读请不要使用带中文的服务器和克隆的虚拟机生产环境建议使用二进制安装方式请将该文档复制一份,然后进行更改安装,并记录每一个步骤的返回信息,有问题可以直接发送部署文档进行问答,解决更加迅kubeadm高可用安装k8s集群最新版基本环境配置Kubeadm安装方式自1.14版本以后,安装方......
  • yum源和vim快捷指令
    一、Linux安装软件1.源代码安装2.rpm安装(包之间的依赖关系) -----linux安装包3.yum安装------解决安装源,安装版本,安装依赖二、linux的软件生态1.开源,是一种商业战略2.开源也有时候贵(对linux操作系统的强依赖关系)操作系统选型:a:主要看谁的生态好开源也去促进linux操作系统的生态......
  • 在AWS上部署SAP HANA Backint备份
    AWSBackintAgentforSAPHANA是经过SAP认证的备份和恢复解决方案,适用于在AmazonEC2实例上运行的SAPHANA工作负载。本文档将主要介绍部署AWSSAPBackint工具的过程。架构图0.前提准备SAPHANA部署所需的IAMrole名称为:ascs-ers-roleSAPHANA两台虚拟机名称为ha......
  • metrics-server部署后执行kubectl top node报错:the server is currently unable to ha
    问题描述执行kubectltopnode报错:查看v1beta1.metrics.k8s.io详情发现如下错误:kubectldescribeapiservicev1beta1.metrics.k8s.io请求metrics接口(返回结果为401):curl-khttps://172.16.6.10:8443/apis/metrics.k8s.io/v1bea1查看metrics-serverpod日志报错如下:问题处理经过以......
  • docker部署nginx
    因为需要挂着卷,先部署一个临时的容器:dockerrun--namenginx-p80:80-dnginx:latest然后拷贝文件夹到宿主机:dockercpnginx:/etc/nginx/nginx.conf/publish/nginx/conf/nginx.confdockercpnginx:/etc/nginx/conf.d/publish/nginxdockercpnginx:/usr/share/n......
  • Elasticsearch,Logstash和Kibana安装部署(ELK Stack)
    前言当今数字化时代,信息的快速增长使得各类组织和企业面临着海量数据的处理和分析挑战。在这样的背景下,ELKStack(Elasticsearch、Logstash和Kibana)作为一套强大的开源工具组合,成为了解决数据管理、搜索和可视化的首选方案。无论是监控日志、实时数据分析,还是构建仪表盘来监测......
  • Windows部署SQLmap
    SQLMap是一款用于自动化SQL注入攻击的工具,它主要用于测试和评估Web应用程序的安全性。在Windows系统上安装和部署SQLMap可以按照以下步骤进行:下载Python:首先,你需要安装Python解释器,SQLMap是使用Python编写的。你可以从Python官方网站(https://www.python.org/downloads/windows/......
  • Windows环境下部署Python
    登录Python网站下载想要安装的版本并下载 下载完成后双击运行 点击installnow,等待安装进度条结束  此时Python已经安装完成,点击close即可。打开cmd,输入Python检验 发现并未正常进入Python,并弹出微软商店Python安装界面。查看win菜单,发现有Python安装后的启动程序......
  • 把 Windows 10 安装在外接活动硬盘(ssd)上面(2)——VHDX文件(虚拟磁盘文件)部署
     不使用Windowstogo,把Windows10安装在外接活动硬盘(ssd)上面(2)——VHDX文件部署上一篇文章带来的问题准备工作实现过程一、清空SSD数据二、创建磁盘信息1、创建启动分区(200MB)2、创建存放文件的主分区3、创建存放系统的虚拟磁盘文件(VHDX文件)(1)创建文件夹(2......