zoukankan      html  css  js  c++  java
  • 采用kubeadm部署工具,部署kubernetes1.16.3

    安装kubenetes有5种部署工具,分别是kubeadm、kops、KRIB、Kubespray。本实验采用的是kubeadm部署工具。如有想了解其他部署工具,请点击这里

    环境说明

                             

    角色/主机名

    系统版本

    CPU

    MEM

    IP

    master

    CentOS 7.7

    4

    4

    192.168.100.80

    node01

    CentOS 7.7

    4

    4

    192.168.100.81

    node02

    CentOS 7.7

    4

    4

    192.168.100.82

    注:系统版本要求7.4+

    环境准备

    检查网络(三个主机)

    ping baidu.com

    检查端口

    Control-plane node

    Protocol

    Port Range

    Purpose

    TCP

    6443

    Kubernetes API server

    TCP

    2379-2380

    etcd server client API

    TCP

    10250

    Kubelet API

    TCP

    10251

    kube-scheduler

    TCP

    10252

    kube-controller-manager

    Worker node(s)

    Protocol

    Port Range

    Purpose

    TCP 10250 Kubelet API
    TCP 30000-32767 NodePort Services**

    设置主机名映射(三个主机)

    vim /etc/hosts

    192.168.100.80    master
    192.168.100.81    node01
    192.168.100.82    node02

    关闭防火墙和selinux(三个主机)

    systemctl stop firewalld

    systemctl disable firewalld

    setenforce 0

    sed -ri 's/(^SELINUX=).*/1disabled/' /etc/selinux/config

    配置docker和kubernetes源(三个节点)

    yum install wget –y

    cd /etc/yum.repos.d && wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && cd -

    cat >> /etc/yum.repos.d/kubernetes.repo <<EOF
    [kubernetes]
    name=Aliyun-kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=0
    EOF

    下载docker(三个主机)

    yum install docker-ce-18.06.3.ce-3.el7 -y

    设置docker加速器和Cgroup drivers

    mkdir /etc/docker

    vim /etc/docker/daemon.json

    {

      "exec-opts": ["native.cgroupdriver=systemd"],

      "registry-mirrors": ["https://registry.docker-cn.com"]

    }

    启动docker并设置开机自启动(三个主机)

    systemctl start docker.service

    systemctl enable docker.service

    查看docker版本

    docker --version

    安装kubeadm, kubelet and kubectl(master)

    yum install kubelet kubeadm kubectl –y

    安装kubeadm,kubelet(nodes)

    yum install kubelet kubeadm -y

    设置Cgroup drivers和交换分区(三个主机)

    vim /etc/sysconfig/kubelet

    KUBELET_EXTRA_ARGS="--fail-swap-on=false --cgroup-driver=systemd"

    说明:

    --fail-swap-on:关闭交换分区,kubernetes不允许开启交换分区

    --cgroup-driver:指定Cgroup drivers用谁

    设置kubectl开机自启动(三个主机)

    systemctl enable --now kubelet

    设置必须的sysctl参数,让这些参数重启后仍然生效

    cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    EOF

    sysctl --system

    使用kubernetes创建单个控制平面集群(master)

    kubeadm init --kubernetes-version=v1.16.3 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12  --ignore-preflight-errors=Swap

    说明:

    --kubernetes-version:为控制平面选择特定的Kubernetes版本。

    --image-repository :指定镜像部署的地址,原地址https://k8s.gcr.io不可用

    --pod-network-cidr:pod的网络地址

    --service-cidr:server的网络地址

    是输出一段字符保持好,后面需要用到

    kubeadm join 192.168.100.80:6443 --token oc5h3c.bs1gikpbvgzbc86y

         --discovery-token-ca-cert-hash sha256:e0e176b55cb5fbf1238351e8d009bf8cc1f9a69a283a47c9ec5766564657d6a0

    每次启动自动加载$HOME/.kube/config下的密钥配置文件(master)

    mkdir -p $HOME/.kube

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

    将nodes主机加入kubernetes集群(nodes)

    kubeadm join 192.168.100.80:6443 --token oc5h3c.bs1gikpbvgzbc86y --discovery-token-ca-cert-hash sha256:e0e176b55cb5fbf1238351e8d009bf8cc1f9a69a283a47c9ec5766564657d6a0 --ignore-preflight-errors=Swap

    注意:红色部分是上面复制好的内容,加上黄色部分,请仔细看别忘了两个横杠。

    安装flannel网络(master)

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    验证:

    查看kubernetes启动的docker容器

    [root@master ~]# kubectl get -A pods -o wide

    4d53650a867f90564009942d1f20a4a

    查看kubernetes集群节点

    [root@master ~]# kubectl get nodes

    6065384f1d9ae8c4b2b3a942e83bafa

    查看各服务器的镜像

    docker image list

    90017b56c492e4711302cd3c7a01ce4

    878fcb69568466fd5610b54a5e2339d

    525d85553dd654a88ddf6c0ef832ef5

    查看下个内容kubernetes资源清单之pod点击这里

    遇到什么报错,欢迎评论

  • 相关阅读:
    Android的数据存储
    Servlet第一天
    JavaScript高级程序设计读书笔记(3)
    Interesting Papers on Face Recognition
    Researchers Study Ear Biometrics
    IIS 发生意外错误 0x8ffe2740
    Father of fractal geometry, Benoit Mandelbrot has passed away
    Computer vision scientist David Mumford wins National Medal of Science
    Pattern Recognition Review Papers
    盒模型bug的解决方法
  • 原文地址:https://www.cnblogs.com/mycloudedu/p/12004056.html
Copyright © 2011-2022 走看看