• 单机版k8s搭建


     环境配置:

    关闭防火墙和交换内存

    systemctl stop ufw
    
    sudo swapoff -a
    

    安装Docker 

    更新安装包

    sudo apt-get update
    

    安装依赖

    sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates
    

    获取证书

    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    

    添加仓库

    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    

    再次更新安装包

    sudo apt update
    

    安装docker

    sudo apt-get -y install docker-ce
    

    启动docker

    sudo systemctl start docker
    

    重启docker

    sudo systemctl restart docker
    

    开机自启docker

    sudo systemctl enable docker
    

    kubelet、kubectl、kubeadm组件安装

    更新安装包

    sudo apt-get update
    

    签名秘钥

    curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
    

    添加k8s的apt仓库

    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
    

    再次更新apt包

    sudo apt-get update
    

    查看版本是否存在

    sudo apt-cache madison kubelet kubectl kubeadm | grep '1.22.9-00' 
    

    指定版本安装

    sudo apt install -y kubelet=1.22.9-00 kubectl=1.22.9-00 kubeadm=1.22.9-00
    

    标记指定软件包为保留,阻止更新

    sudo apt-mark hold kubelet kubeadm kubectl
    

    修改cgroups 

    在/etc/docker/daemon.json文件中添加exec-opts参数

    1. {
    2. "exec-opts":[
    3. "native.cgroupdriver=systemd"
    4. ]
    5. }

    重启docker

    systemctl restart docker
    

    重启kubelet

    systemctl restart kubelet

    初始化 

    初始化命令

    1. sudo kubeadm init \
    2. --kubernetes-version=v1.22.9 \
    3. --image-repository registry.aliyuncs.com/google_containers \
    4. --pod-network-cidr=10.24.0.0/16 \
    5. --ignore-preflight-errors=Swap

    --image-repository string 指定从什么位置来拉取镜像(1.13版本才有的)
    默认值是k8s.gcr.io,改为国内镜像地址:registry.aliyuncs.com/google_containers
    kubernetes-version string: 指定kubenets版本号
    –pod-network-cidr 指定 Pod 网络的范围。
    Kubernetes 支持多种网络方案,而且不同网络方案对 –pod-network-cidr有自己的要求,这里设置为10.244.0.0/16 是因为我们将使用 flannel 网络方案,必须设置成这个 CIDR。(说明在集群中将会使用10.244.0.0这个网段下面的所有ip地址,比如将tomcat部署在10.244.144.198这个地址,然后再master节点使用curl 10.244.144.198就可以返回tomcat的界面)
    --ignore-preflight-errors=all 忽略预检报错内容,指定所有(自己猜的)
    注:kubeadm 不支持将没有 --control-plane-endpoint 参数的单个控制平面集群转换为高可用性集群。

    创建.kube文件夹

    sudo mkdir -p $HOME/.kube
    

    将admin.conf文件内容复制到.kube的config文件中

    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    

    将文件的所有权限从文件所有者修改到到所有者所在的组的其他用户(user->group)

    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

    如果使用kubectl报错,/etc/kubernetes/admin.conf访问拒绝,使用sudo chown $(id -u):$(id -g) /etc/kubernetes/admin.conf

    calico网络配置 

    获取calico.yaml文件资源

    curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml -O
    

    应用到kubectl中

    sudo kubectl apply -f calico.yaml
    

    如果出现localhost:8080访问出错,把sudo去掉

    查看节点和组件 

    查看集群中节点信息

    kubectl get nodes
    

    查看组件状态

    kubectl get cs

    如果组件为unhealthy,原因是默认端口是0了,需要注释掉/etc/kubernetes/manifests下的kube-controller-manager.yamlkube-scheduler.yaml的--port=0或直接删除--port=0

    注释完重启sudo systemctl restart kubelet.service

    创建pod 

    将主节点设为可调度

    kubectl taint nodes --all node-role.kubernetes.io/master-

    当创建单机版的 k8s 时,master 节点默认不允许调度 pod 。

    拉取镜像

    kubectl run nginx --image=nginx --port=80

    查看pod状态

    kubectl get pod

    删除pod 

    kubectl delete pods nginx --grace-period=0 --force

    强制删除

    kubectl delete pods nginx

    普通删除

    woker节点加入master节点的命令 

    kubeadm token create --print-join-command

    在master节点上运行,得到相应命令

  • 相关阅读:
    Rust依赖包下载慢的问题
    比React—Redux和Redux好用100倍的原子级状态管理器,是我们公司自己封装的npm包,如果感兴趣可以研究研究,会大大提高开发效率
    Druid使用详解
    Notepad++正则查询替换操作
    Windows 10 - 适用于各种服务(Redis、MySQL)的文件迁移到其他目录后,导致的各种服务找不到的问题 - 注册服务 - 关闭服务 - 重启服务
    uniapp 结构
    小程序如何设置自取规则
    从驾考科目二到自动驾驶,聊聊GPU为什么对自动驾驶很重要
    词向量笔记
    Revel框架基本使用和搭建教程
  • 原文地址:https://blog.csdn.net/weixin_61067952/article/details/140265598