在centos 7中安装配置k8s集群的步骤详解

一、前置条件

在开始安装配置k8s集群之前,请确认以下前置条件:

  1. 在所有节点(Master和Worker)上禁用防火墙或者将必须的端口(如: 10250, 2379-2380, 6443, 10251-10252等)加入到了防火墙的白名单中。
  2. 所有节点的时间保持同步
  3. 所有节点的主机名和IP地址配置正确

二、安装Docker

Kubernetes是基于Docker容器技术构建的,因此在安装Kubernetes之前,我们需要先安装Docker。

  1. 安装Docker

yum install -y docker

  1. 启动Docker

systemctl start docker
systemctl enable docker

  1. 配置Docker镜像加速

在国内使用Docker官方镜像源的下载速度非常慢,因此我们需要配置一个Docker镜像加速器。

这里以阿里云镜像加速器为例,

将以下内容添加到 "/etc/docker/daemon.json" 文件中(如果文件不存在则创建它):

{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}

其中xxx为阿里云的镜像加速器地址。

然后重启Docker服务:

systemctl restart docker

三、安装Kubernetes

  1. 添加Kubernetes源

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

  1. 安装Kubernetes组件

yum install -y kubelet kubeadm kubectl

  1. 启动Kubernetes

systemctl start kubelet
systemctl enable kubelet

  1. 部署Kubernetes Master

在某一台节点上执行以下命令:

kubeadm init --apiserver-advertise-address=<master-node-ip> --pod-network-cidr=10.244.0.0/16

其中 --apiserver-advertise-address 参数为Master节点IP地址,--pod-network-cidr 参数为flannel网络使用的IP地址段。

执行完上面的命令后,会输出一个类似于下面的信息:

```
Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

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

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 172.31.30.10:6443 --token nxg6dk.z2gg5mq6gl4mplm3 \
--discovery-token-ca-cert-hash sha256:69cb50a94d3c2fd0d6e17464647bd83cdff18afcb447c99159c4f600494bf8a9
```

备注:

  • 执行前应该确保上述初始参数一定要正确;
  • kubeadm 命令执行完毕后,会在当前用户的 $HOME/.kube/config 文件中生成一个 Kubernetes 的管理密钥(kubeconfig)文件。
  • 安装CNI插件

Kubernetes默认使用Flannel作为网络插件,我们可以通过以下方式来安装Flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

  1. 加入Kubernetes节点

在所有的Kubernetes节点上执行以下命令:

kubeadm join <master-node-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

其中,<master-node-ip> 换成 master 节点的 IP 地址, <token><hash>在执行 kubeadm init 命令时生成,可以在初始化成功后通过命令 kubeadm token create --print-join-command 查看。

四、验证Kubernetes集群

  1. 验证集群状态

执行以下命令,查看集群状态

kubectl get nodes

如果所有的节点都已经加入成功,会输出类似于以下信息:

NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane,master 3m2s v1.22.2
k8s-node1 Ready <none> 2m6s v1.22.2
k8s-node2 Ready <none> 2m6s v1.22.2

  1. 部署一个简单的应用

创建一个简单的nginx pod,并暴露到NodePort上:

kubectl run nginx --image=nginx --replicas=1 --port=80
kubectl expose pod nginx --type=NodePort --port=80 --name=nginx-service

查看部署状态:

kubectl get pods
kubectl get svc

输出以下信息,证明nginx pod部署成功:

```
NAME READY STATUS RESTARTS AGE
nginx-d8b54f4cb-5bk7s 1/1 Running 0 43s

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx-service NodePort 10.100.49.182 80:30584/TCP 46s
```

现在打开一个浏览器,访问任意一台节点IP地址加上30584端口号,如果出现nginx默认的欢迎页面,则证明部署成功。

以上就是CentOS 7上使用kubeadm安装配置Kubernetes的全部过程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在centos 7中安装配置k8s集群的步骤详解 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 在centos7下安装python3的步骤

    下面我将为您详细讲解在CentOS 7下安装Python 3的步骤: 确认系统是否已经安装Python 3 在安装Python 3之前,我们需要先确认系统中是否已经安装了Python 3,我们可以通过以下命令来确认: python3 -V 如果系统已经安装了Python 3,则可以看到类似以下的输出: Python 3.6.8 如果没有安装Python 3,…

    Linux 2023年5月14日
    00
  • Linux系统中Tomcat环境怎么配置

    本文小编为大家详细介绍“Linux系统中Tomcat环境怎么配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux系统中Tomcat环境怎么配置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 如下操作步骤为linux系统中部署jtomcat环境 前提准备:成功安装jdk环境(jdk安装步骤) 检查linux系统版本,下载对…

    2023年4月8日
    00
  • linux下配置和安装KVM虚拟机的步骤

    以下是“linux下配置和安装KVM虚拟机的步骤”的完整攻略: 1. 确认硬件支持 在开始安装和配置KVM虚拟机之前,首先需要确认你的硬件是否支持虚拟化。可以通过终端输入以下命令来检查: egrep -c ‘(vmx|svm)’ /proc/cpuinfo 如果输出的结果大于0,则表示你的CPU支持虚拟化。如果输出的是0,则表示不支持,无法安装使用KVM虚拟…

    Linux 2023年5月24日
    00
  • linux下/proc/sysrq-trigger文件的功能

    /proc/sysrq-trigger该文件能做些什么事情呢?  # 立即重新启动计算机 (Reboots the kernel without first unmounting file systems or syncing disks attached to the system)echo “b” > /proc/sysrq-trigger # 立…

    Linux 2023年4月13日
    00
  • CentOS系统上OpenVZ虚拟机的安装和基本使用

    那我来为你详细讲解“CentOS系统上OpenVZ虚拟机的安装和基本使用”的完整攻略。 概述 OpenVZ是一个开源的虚拟化容器软件,可以让我们在一个物理主机上运行多个虚拟化操作系统。在本文中,我们将重点介绍CentOS系统上OpenVZ虚拟机的安装和基本使用。 安装OpenVZ 步骤1:确保系统满足要求 在开始安装OpenVZ之前,请确保您的CentOS系…

    Linux 2023年5月24日
    00
  • 工作中常用的Linux命令:ipcs/ipcrm命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6057100.html (转载请注明出处) ipcs 1. 命令格式   ipcs [resource-option] [output-format]  ipcs [resource-option] -i id 2. 命令功能   提供IPC设备的信息 3. 使用方法  …

    Linux 2023年4月12日
    00
  • docker部署gitlab CI/CD (一)第一篇:部署gitlab及汉化

      网上很多类似教程,但多少有点夹带私货,竟然拉取的第三方镜像,不敢乱用,于是结合其他人的博客和官方文档,结合部分作者的笔误踩的坑,知其然也要知其所以然,于2023年4月17日写下这篇。 官方文档:   https://docs.gitlab.com/ee/install/docker.html 主要参考博客:   https://www.cnblogs.c…

    Linux 2023年4月18日
    00
  • linux怎么配置秘钥连接两台虚拟机?

    配置秘钥连接两台虚拟机的过程可以分为以下步骤: 在本地主机上生成一对公钥和私钥。 将公钥复制到需要连接的虚拟机上。 在虚拟机上将公钥添加到authorized_keys文件中。 在本地主机上使用ssh命令连接虚拟机,可以直接使用私钥文件进行连接,无需输入密码。 具体步骤如下: 在本地主机上生成一对公钥和私钥。 可以使用以下命令生成公钥和私钥,其中-t选项指定…

    Linux 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部