zoukankan      html  css  js  c++  java
  • kubenetes安装

    1.安装etcd

    下载解压
    wget https://github.com/etcd-io/etcd/releases/download/v2.1.0-rc.0/etcd-v2.1.0-rc.0-linux-amd64.tar.gz

    tar -xvf  etcd-v2.1.0-rc.0-linux-amd64.tar.gz

    cp etcd etcdctl  /usr/bin

    1.1 配置service文件
    /lib/systemd/system/etcd.service

    [Unit]
    Description=Etcd Server
    After=network.target

    [Service]
    Type=simple
    WorkingDirectory=/var/lib/etcd/
    EnvironmentFile=/etc/etcd/etcd.conf
    ExecStart=/usr/bin/etcd

    [Install]
    WantedBy=multi-user.target


    1.2 创建相关文件夹(etcd配置文件不需要特殊指定,只创建文件夹即可)
    mkdir -p /etc/etcd/
    cd /etc/etcd/
    touch etcd.conf

    mkdir -p /var/lib/etcd/


    检测是否安装成功
    etcdctl ls

    服务重新加载和启动
    systemctl daemon-reload
    systemctl enable etcd
    systemctl start etcd

    2.安装docker

    apt-get update
    apt-get install docker.io

    修改docker镜像加速
    vim /etc/docker/daemon.json
    添加下面的内容
    {"registry-mirrors": ["https://s1qqahp3.mirror.aliyuncs.com"]}

    查检是否安装成功
    docker ps

    3.安装kubenetes

    老版本的kubenets里,包括二进制执行文件。但3版本以后就没了。因此为简单起建,实验中使用v1.3.0

    master节点安装 kube-apiserver /kube-controller-manager /kube-scheduler
    下载文件
    复制相关文件到/usr/bin

    3.1安装kube-apiserver

    3.1.1service文件
    cat /lib/systemd/system/kube-apiserver.service

    [Unit]
    Description=Kubernetes API Server
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    After=etcd.service
    Requires=etcd.service

    [Service]
    EnvironmentFile=/etc/kubernetes/apiserver
    ExecStart=/usr/bin/kube-apiserver $KUBE_API_ARGS
    Type=notify
    LimitNOFILE=65536

    [Install]
    WantedBy=multi-user.target

    3.1.2配置文件
    cat /etc/kubernetes/apiserver
    KUBE_API_ARGS="--etcd_servers=http://127.0.0.1:4001 --insecure-bind-address=0.0.0.0 --insecure-port=8080 --service-cluster-ip-range=169.169.0.0/16 --service-node-port-range=1-65535 --admission_control=NamespaceLifecycle,LimitRanger,ResourceQuota --logtostderr=false --log-dir=/var/log/kubernetes --v=2"


    3.2安装kube-controller-manager

    3.2.1 service文件
    cat /lib/systemd/system/kube-controller-manager.service
    [Unit]
    Description=Kubernetes Controller Manager
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    After=kube-apiserver.service
    Requires=kube-apiserver.service

    [Service]
    EnvironmentFile=/etc/kubernetes/controller-manager
    ExecStart=/usr/bin/kube-controller-manager $KUBE_CONTROLLER_MANAGER_ARGS
    Restart=on-failure
    LimitNOFILE=65536

    [Install]
    WantedBy=multi-user.target

    3.2.2 配置文件
    cat /etc/kubernetes/controller-manager
    KUBE_CONTROLLER_MANAGER_ARGS="--master=http://192.168.122.144:8080 --logtostderr=false --log-dir=/var/log/kubernetes --v=2"

    3.3 安装kube-scheduler
    3.3.1 servicey文件
    cat /lib/systemd/system/kube-scheduler.service
    [Unit]
    Description=Kubernetes Scheduler
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    After=kube-apiserver.service
    Requires=kube-apiserver.service

    [Service]
    EnvironmentFile=/etc/kubernetes/scheduler
    ExecStart=/usr/bin/kube-scheduler $KUBE_SCHEDULER_ARGS
    Restart=on-failure
    LimitNOFILE=65536

    [Install]
    WantedBy=multi-user.target

    3.3.2配置文件
    cat /etc/kubernetes/scheduler
    KUBE_SCHEDULER_ARGS="--master=http://192.168.122.144:8080 --logtostderr=false --log-dir=/var/log/kubernetes --v=2"


    3.4在node节点安装 kubelet

    3.4.1 service文件
    cat /lib/systemd/system/kubelet.service
    [Unit]
    Description=Kubernetes Kubelet Server
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    After=docker.service
    Requires=docker.service

    [Service]
    WorkingDirectory=/var/lib/kubelet
    EnvironmentFile=/etc/kubernetes/kubelet
    ExecStart=/usr/bin/kubelet $KUBELET_ARGS
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

    3.4.2配置文件
    cat /etc/kubernetes/kubelet
    KUBELET_ARGS="--api-servers=http://192.168.122.144:8080 --hostname-override=192.168.122.144 --logtostderr=false --log-dir=/var/log/kubernetes --v=2"

    说明:  --hostname-override=192.168.122.144 指当前node节点的名称

    启动相关服务
    systemctl daemon-reload
    systemctl enable kube-apiserver
    systemctl enable kube-controller-manager
    systemctl enable kube-scheduler


    3.5在node节点安装kube-proxy

    3.5.1 service文件
    cat /lib/systemd/system/kube-proxy.service
    [Unit]
    Description=Kubernetes Kube-Proxy Server
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    After=network.target
    Requires=network.target
    [Service]
    EnvironmentFile=/etc/kubernetes/proxy
    ExecStart=/usr/bin/kube-proxy $KUBE_PROXY_ARGS
    Restart=on-failure
    LimitNOFILE=65536

    [Install]
    WantedBy=multi-user.target
    3.5.2 配置文件
    cat /etc/kubernetes/proxy
    KUBE_PROXY_ARGS="--master=http://192.168.122.144:8080 --logtostderr=false --log-dir=/var/log/kubernetes --v=2"

    启动node节点中的服务
    systemctl daemon-reload
    systemctl enable kubelet
    systemctl start kubelet
    systemctl enable kube-proxy
    systemctl start kube-proxy


    3.6 网络配置 (flanneld)

    3.6.1 service文件
    cat /lib/systemd/system/flanneld.service
    [Unit]
    Description=flanneld overlay address etcd agent
    After=network.target
    Before=docker.service

    [Service]
    Type=notify
    EnvironmentFile=/etc/sysconfig/flannel
    ExecStart=/usr/bin/flanneld --etcd-endpoints=${FLANNEL_ETCD} ${FLANNEL_OPTIONS}

    [Install]
    RequiredBy=docker.service
    WantedBy=multi-user.target

    3.6.2配置文件
    cat /etc/sysconfig/flannel
    FLANNEL_ETCD="http://192.168.122.144:4001"
    FLANNEL_ETCD_KEY="/coreos.com/network"
    FLANNEL_OPTIONS="--iface=ens33"

    说明 FLANNEL_OPTIONS="--iface=ens33" 指定网卡

    3.6.3 配置docker启动参数

    执行 mk-docker-opts.sh -i  会生成两个文件
    查看文件(这两个文件重起后会消失,因此可以把该命令设置为开机启动)
    cat /run/docker_opts.env
    DOCKER_OPT_BIP="--bip=10.1.78.1/24"
    DOCKER_OPT_IPMASQ="--ip-masq=true"
    DOCKER_OPT_MTU="--mtu=1472"

    cat /run/flannel/subnet.env
    FLANNEL_NETWORK=10.1.0.0/16
    FLANNEL_SUBNET=10.1.78.1/24
    FLANNEL_MTU=1472
    FLANNEL_IPMASQ=false

    修改docker.service
    cat /lib/systemd/system/docker.service
    修改Service下的配置,以下两行
    EnvironmentFile=/run/docker_opts.env
    ExecStart=/usr/bin/dockerd ${DOCKER_OPT_BIP} ${DOCKER_OPT_IPMASQ} ${DOCKER_OPT_MTU} -H fd:// --containerd=/run/containerd/containerd.sock

    启动flanneld
    systemctl daemon-reload
    systemctl enable flanneld
    systemctl start flanneld

    重新启动docker
    systemctl restart docker

    3.7 Dns设置
    待整理kubedns或skydns


    3.8日志查看
    容器控制台输出日志都在node节点/var/logs/container里
    使用elk或efk可以通过监控此文件夹,进行日志收集。

    3.9 kubenets中的查关概念

  • 相关阅读:
    PHP---无限极分类数组处理
    PHPExcel数据导入(含图片)
    PHP数组与xml互相转换
    微信APP支付【签名失败】
    winform窗体关闭方案
    ss的优先级 和 权重
    Anaconda 与 conda 区别
    c#FileStream文件读写
    C# DataTable 某一列取算
    关于解决DevExpress用DevExpress patch工具破解后经常弹出试用框的问题
  • 原文地址:https://www.cnblogs.com/liuxm2017/p/11339743.html
Copyright © 2011-2022 走看看