单机版K8S安装及部署

2023-10-29

虚拟机iso下载
安装完虚拟机后:

一 更新yum云

  1. 安装wget yum install wget

     wget --version 查看wget版本
    
  2. 配置yum云

    ll /etc/yum.repos.d/  查看yum目录
    cp CentOS-Base.repo CentOS-Base.repo-cp  备份yum目录
    
  3. 更新yum到国内镜像

       CentOS5:wget http://mirrors.163.com/.help/CentOS5-Base-163.repo
       CentOS6:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
       CentOS7:wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
       CentOS8:wget http://mirrors.163.com/.help/CentOS8-Base-163.repo
    
  4. 更新yum云

       yum -y update
    

二 安装kubernete

  1. 关闭防火墙及其服务

    systemctl disable firewalld
    systemctl stop firewalld
    
  2. yum 安装kubernetes etcd

    yum install -y etcd kubernetes etcd 
    
  3. 启动kubernetes 服务并查看状态

    systemctl start etcd 
    systemctl status etcd
    systemctl start docker
    systemctl status docker
    systemctl start kube-apiserver
    systemctl status kube-apiserver
    systemctl start kube-controller-manager
    systemctl status kube-controller-manager
    systemctl start kube-scheduler
    systemctl status kube-scheduler
    systemctl start kubelet
    systemctl status kubelet
    systemctl start kube-proxy
    systemctl status kube-proxy
    
  4. 配置tomcat

    mkdir /usr/local/k8s
    cd /usr/local/k8s
    
创建mytomcat.rc.yaml

apiVersion: v1
kind: ReplicationController
metadata: 
 name: mytomcat
spec: 
 replicas: 3
 selector:  
  app: mytomcat
 template: 
  metadata: 
   labels: 
    app: mytomcat
  spec: 
    containers: 
     - name: mytomcat
       image: tomcat:7-jre7
       ports: 
       - containerPort: 8080
创建mytomcat.svc.yaml

apiVersion: v1
kind: Service
metadata: 
 name: mytomcat
spec: 
 type: NodePort
 ports: 
  - port: 8080
    nodePort: 30001
 selector: 
   app: mytomcat
  1. 创建k8s rc与svc

        kubectl create -f mytomcat.rc.yaml
        kubectl create -f mytomcat.svc.yaml
    
  2. 查看k8s pods

        kubectl get pods // 查看失败  vi /etc/kubernetes/apiserver   去掉serviceAccount 
    

访问: http://ip:30001
在这里插入图片描述

三 遇到问题处理解决方案

  1. docker pull 失败解决方案

       1 yum install *rhsm* -y
       2 docker search pod-infrastructure
       3 docker pull docker.io/tianyebj/pod-infrastructure
       4 docker tag tianyebj/pod-infrastructure 10.0.0.103:5000/pod-infrastructure
       5 docker push 10.0.0.103:5000/pod-infrastructure
        vi /etc/kubernetes/kubelet
        修改 KUBELET_POD_INFRA_CONTAINER="--pod-infra-containerimage=10.0.0.103:5000/pod- infrastructure:latest"
    
  2. 重启k8s服务

            systemctl restart kube-apiserver 
            systemctl restart kube-controller-manager 
            systemctl restart kube-scheduler 
            systemctl restart kubelet 
            systemctl restart kube-proxy
    
  3. 解决外网无法访问问题

            vi /etc/sysctl.conf
            添加 net.ipv4.ip_forward=1
            进入/usr/local/k8s目录
                执行 kubectl replace -f mytomcat.rc.yaml
                    kubectl delete svc --all
                    kubectl create -f mytomcat.svc.yaml
    
  4. Kubernetes nodePort 不可访问的解决方法

            getenforce  查看 selinux, 如果显示 Enforcing,表示开启
            setenforce 0 关闭 selinux
            iptables --flush  
            iptables -tnat --flush  清除 iptables
            iptables -P FORWARD ACCEPT 接受所有来路
            service docker restart 重启 docker,k8s 会重新调度
            kubectl delete pods -all 清理所有pods
            执行 kubectl replace -f mytomcat.rc.yaml
                    kubectl delete svc --all
                    kubectl create -f mytomcat.svc.yaml
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单机版K8S安装及部署 的相关文章

随机推荐