zoukankan      html  css  js  c++  java
  • K8S系统学习(一)

    参考链接:https://blog.csdn.net/HsiaChubby/article/details/90442170

    参考链接:https://segmentfault.com/a/1190000018741112?utm_source=tag-newest

    一、K8S架构图。(K8S的背景,作用什么的百度可以查阅,我主要一下跟实战相关的)

    构成介绍:

    master:处理结点,接收请求的。

    Node:计算结点,部署应用。

    kubectl:命令行工具,通过它可以操作K8S中的资源。返回一个vip,VIP在三个master之间进行漂移。

    etcd:也需要做高可靠,他们存储了K8S中的一些信息。

    前面的安装总有地方不对,现在按照教程从头安装一遍。

    先把以前的卸载了。参考:https://blog.csdn.net/ccagy/article/details/85845979

    kubeadm reset -f
    modprobe -r ipip
    lsmod
    rm -rf ~/.kube/
    rm -rf /etc/kubernetes/
    rm -rf /etc/systemd/system/kubelet.service.d
    rm -rf /etc/systemd/system/kubelet.service
    rm -rf /usr/bin/kube*
    rm -rf /etc/cni
    rm -rf /opt/cni
    rm -rf /var/lib/etcd
    rm -rf /var/etcd

    ------------------------------------------实战篇--------------------------------------

    1.修改主机名

    2.修改hosts文件

    3.安装基础软件包(这个我平时陆续已安装)

    yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel
    autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server
    socat ipvsadm conntrack

    4.关闭防火墙(前半截是关闭防火墙 后半截是禁止开机启动)

    systemctl stop firewalld.service && systemctl disable firewalld.service

    安装iptables 如果你要改用iptables的话,需要安装iptables服务
    #安装
    yum install iptables-services -y
    禁用iptables
    service iptables stop && systemctl disable iptables

    5.时间同步
    在masterNode1上:
    ntpdate cn.pool.ntp.org
    systemctl start ntpd && systemctl enable ntpd
    在其他所有机器上(masterNode2、node1.....):
    ntpdate master1
    计划任务:(每小时检查一次时间更新)
    crontab -e
    * */1 * * * /usr/sbin/ntpdate master1

    配置无密码登陆(ssh免密码登陆,可自寻查找资料):
    master到node的无密码登陆
    master到master无密码登陆

    二、kubernetes集群安装准备

    6.安装docker
    在各个节点配置docker和k8s的阿里云镜像仓库
    cd /etc/yum.repos.d/
    wget "https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo"
    vim kubernetes.repo
    [kubernetes]
    name=kubernetes Repo
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    gpgcheck=0
    #gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    enabled=1
    wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    rpm --import yum-key.gpg
    wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    rpm --import rpm-package-key.gpg
    yum install docker-ce-18.09.3* -y
    (1)启动docker服务
    systemctl start docker

    systemctl status docker (出现active running表示docker启动成功)

    7.配置docker加速器(先得在阿里云平台注册自己的账号,用自己的镜像加速器)
    vim /etc/docker/daemon.json 添加如下一行
    {"registry-mirrors": ["https://0h4pgn26.mirror.aliyuncs.com"]
    }

    systemctl daemon-reload && systemctl restart docker
    echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
    echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables

    8.关闭交换分区,如果不关闭交换分区会报错,在1.14版本不支持swap

    swapoff -a

    (2)创建初始化k8s需要的文件,在master1上操作,新建kubeadm-config,在该文件中输入以下内容:

    apiVersion: kubeadm.k8s.io/v1beta1
    kind: ClusterConfiguration
    kubernetesVersion: v1.14.0
    controlPlaneEndpoint: "172.16.12.199:6443"
    apiServer:
     certSANs:
     - 172.16.12.217
     - 172.16.12.218
     - 172.16.12.219
     - 172.16.12.199

    networking:
     podSubnet: 10.244.0.0/16
    ---
    apiVersion: kubeproxy.config.k8s.io/v1alpha1
    kind: KubeProxyConfiguration
    mode: ipvs

    最后所有结点全部加入:

     k8s集群搭建好以后,默认所有的配置文件都在 该目录下:

    cd /etc/kubernetes/

    附注:执行过程中遇到的问题

    1.由于之前我安装过V1.16.2版本的K8S,担心和当前安装的版本V1.14.0有所冲突,所以先把以前的镜像进行删除

    docker rmi id 命令报错

    执行docker rmi name:tag成功删除。

     2.删除某个镜像时,说有容器正在运行该镜像。于是先停止容器,再删除容器。

    3.在执行过程中用到的命令。

    查看docker运行状态:service docker status

    查看kubelet运行状态:systemctl status kubelet

    按名字查找某个文件:file / -name filename (/表示所有目录都查找)

    4.删除一个docker中的镜像

    docker rmi $(docker images -q)

    强制删除 无法删除的镜像

    docker rmi -f <IMAGE_ID>
    docker rmi -f $(docker images -q)

     5.列出已经安装过的rpm包

    yum list installed | grep kube

    6、卸载安装的rpm包

    yum remove kubeadm.x86_64 kubectl.x86_64 kubelet.x86_64 -y

    7、安装指定的kubeadm

    yum install -y kubelet-1.12.1 kubeadm-1.12.1 kubectl-1.12.1

    8、 kubectl get pods -n kube-system命令,可以查看K8S中的所有资源。

    9、检查自己的集群资源是否齐全。

     10、

  • 相关阅读:
    如何安装unidac 6.2.8 到delphi 7
    Sqoop
    Spark-PySpark sql各种内置函数
    Spark译文(三)
    Spark译文(二)
    Spark译文(一)
    YARN详解
    Spark2.X管理与开发
    Hadoop2.X管理与开发
    离线综合案例
  • 原文地址:https://www.cnblogs.com/maowuyu-xb/p/11910458.html
Copyright © 2011-2022 走看看