iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >k8s 集群安装(vagrant + virtualbox + CentOS8)
  • 813
分享到

k8s 集群安装(vagrant + virtualbox + CentOS8)

kubernetes容器云原生 2023-10-10 11:10:14 813人浏览 独家记忆
摘要

============================================== 主机环境:windows 11 k8s版本:v1.25 dashboard版本:v2.7.0 calico版本: v3.26.1 Centos8版

==============================================

主机环境:windows 11

k8s版本:v1.25

dashboard版本:v2.7.0

calico版本: v3.26.1

Centos8版本:4.18.0-348.7.1.el8_5.x86_64

用到的脚本:

https://gitcode.net/sundongsdu/k8s_cluster

==============================================

1. Vagrant创建虚拟机节点

首先需要在win11主机上安装vagrant与virtualbox,此处不在赘述。

vagrant默认账号:vagrant/vagrant,  root/vagrant

然后在win11的Vagrantfile文件所在目录下,执行:

vagrant up 创建虚拟机

通过vagrant status查看状态:

2. 通用配置

##################### 所有节点都需要执行的操作 开始 #################
vagrant ssh kubemaster/worker1/worker2
ssh配置:

vi /etc/ssh/sshd_config

PassWordAuthentication yes

然后执行 systemctl restart sshd.service

配置centos yum源:
设置centos8 mirror list:

sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*

sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://mirrors.aliyun.com|g" /etc/yum.repos.d/CentOS-*

如果需要设置代理:
vi /etc/yum.conf
增加一行:
proxy=Http://your-proxy-server:port

### 升级内核:
 
 yum list installed|grep kernel*
 
 yum update kernel -y
 
 yum -y install kernel-devel kernel-headers
 
 yum list installed|grep kernel*
 

删除老的内核,比如:


 rpm -e kernel-4.18.0-240.1.1.el8_3 kernel-core-4.18.0-240.1.1.el8_3 kernel-modules-4.18.0-240.1.1.el8_3 kernel-tools-4.18.0-240.1.1.el8_3 kernel-tools-libs-4.18.0-240.1.1.el8_3
 
 yum list installed|grep kernel*
 
 安装完以后reboot
 
 ==============================================
 此处,安装Guest Additions:
 
 yum -y install libX11 libXt libXext libXmu xorg-x11-server-Xorg
 yum -y install elfutils-libelf-devel GCc make perl
 
 vbox设置->存储里面挂载VBoxGuestAdditions.iso
 

 mkdir -p /mnt/cdrom
 mount /dev/cdrom /mnt/cdrom

 cd /mnt/cdrom
 ./VBoxLinuxAdditions.run

 
 查看:
 [root@kubemaster cdrom]# lsmod|grep vboxguest
vboxguest             409600  2 vboxsf

 
 安装完以后reboot
 
 设置VM共享目录

此时的共享目录为:/media/sf_share_dir/

 !!!  此处执行configure-vm.sh


##################### 所有节点都需要执行的操作 结束 #################
 

 3. master节点配置


##################### master节点需要执行的操作 开始 #################

3.1 集群 init

执行init:
kubeadm init --apiserver-advertise-address=192.168.56.101 --pod-network-cidr=10.244.0.0/16 --image-repository reGIStry.aliyuncs.com/Google_containers

执行结果:

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

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

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 192.168.56.101:6443 --token bl52oq.d2qaxxmcw1cl3wnd \
        --discovery-token-ca-cert-hash sha256:75aae5d73711924153D353395365d7bbcd44646f94f7307e58d76b16aebaedc5

如果后续忘记这个join命令,可以在master上重新生成:
kubeadm token create --print-join-command

3.2 安装calico


calico的安装可以参考https://www.cnblogs.com/wangguishe/p/17635391.html

=======================================
安装calico之前可以配置Docker镜像加速:

vi /etc/docker/daemon.JSON
{
  "registry-mirrors": ["https://hub-mirror.c.163.com"]
}

systemctl daemon-reload
systemctl restart docker

如果需要配置代理,可以参考https://blog.csdn.net/weixin_45894220/article/details/130085121
=======================================
calico与k8s的版本对应关系:
https://docs.tigera.io/calico/latest/getting-started/kubernetes/requirements

We test Calico v3.26 against the following Kubernetes versions.

    v1.24
    v1.25
    v1.26
    v1.27

安装calico:   
 kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml
 
 安装成功以后:
 [root@kubemaster vagrant]# kubectl get pod --all-namespaces
NAMESPACE     NAME                                       READY   STATUS    RESTARTS        AGE
kube-system   calico-kube-controllers-74cfc9ffcc-tvkkx   1/1     Running   0               6m7s
kube-system   calico-node-lzb6w                          1/1     Running   0               6m7s
kube-system   coredns-c676cc86f-g89d4                    1/1     Running   0               13h
kube-system   coredns-c676cc86f-n78xv                    1/1     Running   0               13h
kube-system   etcd-kubemaster                            1/1     Running   0               13h
kube-system   kube-apiserver-kubemaster                  1/1     Running   0               13h
kube-system   kube-controller-manager-kubemaster         1/1     Running   1 (3h52m ago)   13h
kube-system   kube-proxy-bw82t                           1/1     Running   0               13h
kube-system   kube-scheduler-kubemaster                  1/1     Running   2 (95s ago)     13h

3.3 安装Metrics-Server

official站点:https://github.com/kubernetes-sigs/metrics-server

wget https://GitHub.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

修改yaml:

然后执行:

kubectl apply -f components.yaml

此时通过kubectl get pods --all-namespaces可以看到metrics-server已经running

执行kubectl top node可以查看cpu memory:

3.4 安装dashboard


 安装dashboard之前先解除master的限制:
 kubectl taint nodes --all node-role.kubernetes.io/control-plane-
 
 
k8s与dashboard的版本对应:
https://github.com/kubernetes/dashboard/releases

v2.7.0 Compatibility

Kubernetes version1.221.231.241.25
Compatibility???
  • Fully supported version range.
  • ? Due to breaking changes between Kubernetes API versions, some features might not work correctly in the Dashboard.

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
修改其中的 imagePullPolicy: IfNotPresent
kubectl apply -f recommended.yaml
 
 kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
 This will open up a vi screen. Search for the entry ClusterIP and replace it with
NodePort (Case sensitive)

Run the following command to find out the port on which it will listen,
kubectl get svc -n kubernetes-dashboard|grep NodePort|awk '{print
$5}'|cut -f 2 -d :|cut -f 1 -d /

比如此处端口为31768

在vbox上配置端口转发:


创建用户:

参考:https://www.cnblogs.com/wangguishe/p/17582668.html

admin-user.yml

apiVersion: v1kind: ServiceAccountmetadata:  name: admin-user  namespace: kubernetes-dashboard---apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata:  name: admin-userroleRef:  apiGroup: rbac.authorization.k8s.io  kind: ClusterRole  name: cluster-adminsubjects:- kind: ServiceAccount  name: admin-user  namespace: kubernetes-dashboard

执行

kubectl apply -f admin-user.yml 

配置secret:

admin-user-secret.yaml

apiVersion: v1kind: Secretmetadata:  name: admin-user-secret  namespace: kubernetes-dashboard   annotations:    kubernetes.io/service-account.name: admin-usertype: kubernetes.io/service-account-token

执行 

kubectl apply -f admin-user-secret.yaml

查看Secret:

kubectl get secret -n kubernetes-dashboard 

查看token:

kubectl get secret admin-user-secret -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d

在windows主机上访问dashboard:

https://127.0.0.1:9443/

输入上述的token,

查看工作负载(workloads)注意选择正确的命名空间:

##################### master节点需要执行的操作 结束 #################

4. worker节点配置

##################### worker节点都需要执行的操作 开始 #################
找到上面master节点的join信息并在worker上执行:

kubeadm join 192.168.56.101:6443 --token bl52oq.d2qaxxmcw1cl3wnd \
        --discovery-token-ca-cert-hash sha256:75aae5d73711924153d353395365d7bbcd44646f94f7307e58d76b16aebaedc5

注意,需要等到join之后,systemctl  status kubelet状态才显示为active (running)

##################### worker节点都需要执行的操作 结束 #################

worker节点加入以后,可以在master节点查看nodes:

 查看pods:


如果想查看某个node上的pods,比如worker1:
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=worker1

参考:

Multi-node Kubernetes setup on Windows – Technology evangelist

https://medium.com/@srpillai/single-node-kubernetes-on-centos-c8c3507e3e65

https://www.cnblogs.com/wangguishe/p/17582668.html

来源地址:https://blog.csdn.net/sundongsdu/article/details/133067963

--结束END--

本文标题: k8s 集群安装(vagrant + virtualbox + CentOS8)

本文链接: https://www.lsjlt.com/news/427135.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • k8s 集群安装(vagrant + virtualbox + CentOS8)
    ============================================== 主机环境:windows 11 k8s版本:v1.25 dashboard版本:v2.7.0 calico版本: v3.26.1 CentOS8版...
    99+
    2023-10-10
    kubernetes 容器 云原生
  • Centos7安装部署Kubernetes(k8s)集群实现过程
    目录一.系统环境二.前言三.Kubernetes3.1 概述3.2 Kubernetes 组件3.2.1 控制平面组件3.2.2 Node组件四.安装部署Kubernetes集群4....
    99+
    2022-11-13
    Centos7安装部署Kubernetes Centos Kubernetes
  • k8s Kubernetes v1.10.0 集群安装以及踩坑过程
    本篇文章为大家展示了k8s Kubernetes v1.10.0 集群安装以及踩坑过程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。因工作需求,最近开始研究docker及k8s相关的资料,本文主要记...
    99+
    2023-06-19
  • Kubernetes集群模拟删除k8s重装详解
    目录一.系统环境二.前言三.重装Kubernetes集群3.1 环境介绍3.2 删除k8s所有节点(node)3.3 kubeadm初始化3.4 添加worker节点到k8s集群3....
    99+
    2022-11-13
    Kubernetes k8s集群删除重装 Kubernetes删除重装
  • ETCD集群安装实验
    目录 【1、下载二进制程序】 【2、安装etcd集群】 【3、查询集群状态】 【4、存入读取数据】 【5、注意事项】 【6、参考链接】 简介:     Etcd的官网文档及其在GitHub上的文档,已经非...
    99+
    2024-04-02
  • Hadoop集群怎样安装
    这篇文章主要为大家展示了“Hadoop集群怎样安装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hadoop集群怎样安装”这篇文章吧。一、安装环境 因为安装Hadoop集群需要的主机数量必须为奇...
    99+
    2023-06-03
  • mongo副本集集群安装配置
    新建用户和目录 useradd mongodb mkdir  -p /comm/mg10000/data mkdir  -p /comm/mg10001/data mkdir...
    99+
    2024-04-02
  • Oracle 11G RAC集群安装(2)——安装grid
    Oracle的grid不多介绍,直接开始安装: 一、安装前的准备工作: 本次是以图形化安装grid,所以两种方式调用图形化安装界面: 1.系统自带图形桌面可以通过VNC方式访问。 这样的环境安装就简单了,只...
    99+
    2024-04-02
  • Jboss集群的安装配置
    这篇文章主要介绍“Jboss集群的安装配置”,在日常操作中,相信很多人在Jboss集群的安装配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Jboss集群的安装配置”的疑惑...
    99+
    2024-04-02
  • redis5.0集群的安装过程
    本篇内容主要讲解“redis5.0集群的安装过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis5.0集群的安装过程”吧!redis cluster简介...
    99+
    2024-04-02
  • 怎么安装always on集群
    这篇文章主要介绍“怎么安装always on集群”,在日常操作中,相信很多人在怎么安装always on集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么安装always...
    99+
    2024-04-02
  • CentOS6.6如何安装Redis3.0.3集群
    这篇文章主要介绍CentOS6.6如何安装Redis3.0.3集群,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 一个Redis集群,至少需要6个节点,3个为主,3个为从。IP ...
    99+
    2024-04-02
  • linux怎么安装hadoop集群
    要在Linux上安装Hadoop集群,您可以按照以下步骤进行操作:1. 首先确保您已经安装了Java JDK。Hadoop依赖于Ja...
    99+
    2023-10-11
    linux hadoop
  • Nacos 2.2.0集群安装配置
    一、文档、下载 Nacos 快速开始 https://nacos.io/zh-cn/docs/quick-start.html 集群部署说明 https://nacos.io/zh-cn/docs/v2/guide/admin/cl...
    99+
    2023-09-03
    nacos 集群 内置数据库 mysql Powered by 金山文档
  • Hadoop集群安装和搭建
    Hadoop集群的安装和搭建通常分为以下几个步骤:1. 硬件准备:选购适合的服务器硬件,并确保网络连接良好。2. 操作系统准备:选择...
    99+
    2023-10-11
    hadoop
  • docker怎么安装hadoop集群
    要在Docker中安装Hadoop集群,可以按照以下步骤进行操作:1. 首先,确保你的机器上已经安装了Docker。你可以通过运行`...
    99+
    2023-10-11
    docker hadoop
  • 关于docker compose安装redis集群的问题(集群扩容、集群收缩)
    目录一、redis 配置信息模板二、编写批量生成配置文件脚本三、批量生成配置文件四、编写 docker-compose 文件五、做集群、分配插槽六、测试:七、手动扩容八、添加主从节点...
    99+
    2024-04-02
  • yum安装MySQL及集群配置
    在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的 Yum Repos...
    99+
    2024-04-02
  • docker compose如何安装redis集群
    今天小编给大家分享一下docker compose如何安装redis集群的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-29
  • ubuntu中redis集群如何安装
    这篇文章主要介绍了ubuntu中redis集群如何安装,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。首先先要检查一下是否安装gccgcc -v如...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作