• 单机版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节点上运行,得到相应命令

  • 相关阅读:
    Python批量修改图片size
    kubernetes集群安装
    工程管理系统简介 工程管理系统源码 java工程管理系统 工程管理系统功能设计
    对抗网络爬虫:反爬虫技术与策略详解
    lightdb22.4-新增优化器提示cardinality 和ordered_predicates
    基于python+django的美食餐厅点餐订餐网站
    java基于springboot的电子病历开处方选药管理系统
    javascript的讲解
    FPGA UDP RGMII 千兆以太网(1)
    【虚拟线程】java21虚拟线程用法 限流等
  • 原文地址:https://blog.csdn.net/weixin_61067952/article/details/140265598