虚拟机k8s 1.26版本安装部署(国内可用)

环境信息:

[root@k8s-master k8s-install]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@k8s-master k8s-install]# uname -a
Linux k8s-master 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@k8s-master k8s-install]# uname -a
Linux k8s-master 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@k8s-master k8s-install]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.9", GitCommit:"d1483fdf7a0578c83523bc1e2212a606a44fd71d", GitTreeState:"clean", BuildDate:"2023-09-13T11:31:28Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
[root@k8s-master k8s-install]# containerd -v
containerd containerd.io 1.6.21 3dce8eb055cbb6872793272b4f20ed16117344f8

更改centos 7 yum镜像源

下载镜像源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
更改镜像源http为https
sed -i ‘s#http://mirrors#https://mirrors#g’ CentOS-Base.repo
升级软件版本按需执行
yum update

k8s组件安装

containerd

添加镜像源

curl -o docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看所有可用containerd版本

yum list containerd.io --showduplicates

安装containerd

yum install -y containerd.io-1.6.21
containerd.io.x86_64 1.6.21-3.1.el7

containerd config default > /etc/containerd/config.toml
#修改containerd为systemd启动
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/1' config.toml
#修改containerd pause镜像源为阿里云镜像源
sed -i 's#registry.k8s.io/pause:3.6#registry.aliyuncs.com/google_containers/pause:3.9#1' config.toml

systemctl enable containerd
systemctl start containerd
systemctl status containerd

kubelet安装

安装kubeadm,kubelet,kubectl

yum list kubeadm kubelet kubectl --showduplicates|grep 1.26.9-0
yum install -y kubelet-1.26.9 kubeadm-1.26.9 kubectl-1.26.9
systemctl enable kubelet.service

环境修改

关闭selinux防火墙

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld

cat << EOF > /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

modprobe overlay
modprobe br_netfilter

[root@localhost ~]# cat << EOF > /etc/sysctl.d/99-kubernetes-cri.conf

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
user.max_user_namespaces=28633
EOF
[root@localhost ~]# sysctl -p /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
user.max_user_namespaces = 28633

关闭swap

swapoff -a
/etc/fstab关闭开机启动
在这里插入图片描述

kubeadm初始化

#查看需要拉取镜像
kubeadm config images list --config kubeadm.yaml
#手动拉取镜像
kubeadm config images pull --config kubeadm.yaml
初始化
kubeadm init --config kubeadm.yaml

advertiseAddress:修改为master ip
imageRepository:使用阿里云镜像仓库地址下载k8s组件镜像

[root@k8s-master k8s-install]# cat kubeadm.yaml 
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.28.91
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///run/containerd/containerd.sock
  taints:
  - effect: PreferNoSchedule
    key: node-role.kubernetes.io/master
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: 1.26.0
imageRepository: registry.aliyuncs.com/google_containers
networking:
  podSubnet: 10.244.0.0/16
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
failSwapOn: false
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs

kubectl命令自动补全

yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo ‘source <(kubectl completion bash)’ >>~/.bashrc

calico部署安装

wget https://docs.projectcalico.org/v3.25/manifests/calico.yaml --no-check-certificate
保持CALICO_IPV4POOL_CIDR配置和kubeadm init config中podSubnet一致

        - name: CALICO_IPV4POOL_CIDR
          value: "10.244.0.0/16"
  • 31
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
虚拟机安装部署 Kubernetes 可以按照以下步骤进行: 1. 准备虚拟机环境:请确保你已经准备好具备足够资源的虚拟机,比如内存、CPU 和存储空间。虚拟机可以是基于 Linux 的操作系统,比如 Ubuntu、CentOS 或者其他 Linux 发行版。 2. 安装 Docker:Kubernetes 使用容器技术来运行应用程序,所以需要先安装 Docker。可以根据虚拟机的操作系统选择适合的 Docker 安装方式,并按照官方文档进行安装。 3. 安装 kubeadm、kubelet 和 kubectl:kubeadm 是 Kubernetes安装工具,kubelet 是 Kubernetes 的组件之一,而 kubectl 则是 Kubernetes 的命令行工具。可以通过以下命令在虚拟机安装它们: ``` # 安装 kubeadm、kubelet 和 kubectl sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl ``` 4. 初始化 Kubernetes 控制平面:在虚拟机上运行以下命令来初始化 Kubernetes 控制平面: ``` sudo kubeadm init ``` 初始化完成后,会显示一些配置信息和加入集群的命令。请记录这些信息,后续会用到。 5. 配置 kubectl:在虚拟机上设置 kubectl 的配置文件,使其能够与 Kubernetes 集群通信。运行以下命令来创建和配置 kubectl: ``` mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 6. 安装网络插件:Kubernetes 需要网络插件来实现 Pod 之间的通信。常用的网络插件有 Calico、Flannel、Weave 等。可以根据自己的需求选择一个网络插件,并按照其官方文档进行安装和配置。 7. 加入其他节点:如果你有多个虚拟机,并希望将它们加入 Kubernetes 集群,可以使用之前初始化时显示的加入集群的命令来加入其他节点。 以上是在虚拟机安装部署 Kubernetes 的简要步骤,具体细节和配置可能会因环境和需求而有所不同。建议在安装前参考官方文档和相关教程,并根据具体情况进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值