kubernets安装介绍

准备工作

  1. 机器可以科学上网
  2. docker设置http代理
    参考官方文档: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
    步骤如下:

    mkdir -p /etc/systemd/system/docker.service.d
    touch /etc/systemd/system/docker.service.d/http-proxy.conf
    cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
    [Service]
    Environment="HTTP_PROXY=http://127.0.0.1:8123/" "HTTPS_PROXY=https://127.0.0.1:8123/" "NO_PROXY=localhost,127.0.0.1,本机IP,10.96.0.0/12,10.244.0.0/16"
    EOF
    systemctl daemon-reload
    systemctl restart docker
    systemctl show --property=Environment docker
          
          
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  3. 确保机器正确设置http代理
    这里写图片描述

    • 需要设置no_proxy,过滤掉本机IP(包括127.0.0.1、localhost、本机实际IP、10.96.0.0/12、10.244.0.0/16)
    • 确保开机启动时,第一时间再加这3个环境变量
      • ubuntu,可以在 /etc//etc/environment 中export它们
      • centos,可以在 /etc/profile.d/proxy.sh 中export它们
  4. 设置hostname的IP
    /etc/hosts中添加 本机IP hostname的域名解析条目

  5. 关闭linux swap

    vim /etc/fstab (注释swap那行)
    echo "vm.swappiness = 0">> /etc/sysctl.conf
    swapoff -a
          
          
    • 1
    • 2
    • 3
  6. docker关闭selinux
    vim /etc/docker/daedom.json
    增加 “selinux-enabled”: false

安装kubeadm

参考官方文档: https://kubernetes.io/docs/tasks/tools/install-kubeadm/#before-you-begin

根据自己系统,选择里面对应的命令依次执行即可。

使用kubeadm,搭建k8s环境

参考官方文档:https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

  1. 设置docker insecure-registries参数

     "insecure-registries" : ["gcr.io"],
          
          
    • 1
  2. 预下载k8s镜像
    参考官方文档:https://github.com/kubernetes/kubeadm/blob/master/vagrant/box.md

    docker pull k8s.gcr.io/pause-amd64:3.1
    docker pull k8s.gcr.io/etcd-amd64:3.1.12
    docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.2 
    docker pull k8s.gcr.io/kube-scheduler-amd64:v1.10.2 
    docker pull k8s.gcr.io/kube-controller-manager-amd64:v1.10.2 
    docker pull k8s.gcr.io/kube-proxy-amd64:v1.10.2 
    docker pull k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8
    docker pull k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8
    docker pull k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8
          
          
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  3. 执行kubeadm init命令

    kubeadm reset
    kubeadm init --kubernetes-version=v1.10.2 --apiserver-advertise-address=172.19.11.210 --feature-gates=CoreDNS=true --pod-network-cidr=10.244.0.0/16
          
          
    • 1
    • 2

    等待2分钟左右,界面输出:
    这里写图片描述
    到此,安装kubernets成功!

    深坑,切记!在阿里云环境下,需要注意 kubeadm init 命令的 –apiserver-advertise-address 参数,必须填内网IP,填写外网IP将无法启动成功!

  4. kubectl设置帐号权限
    如果是普通用户,执行:

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id <span class="hljs-attribute">-u</span>):$(id -g) $HOME/.kube/config
          
          
    • 1
    • 2
    • 3

    如果是root帐号,执行:

    export KUBECONFIG=/etc/kubernetes/admin.conf
          
          
    • 1
  5. 安装pod网络代理
    官方参考文档:https://kubernetes.io/docs/concepts/cluster-administration/addons/

    大多数网络代理,需要设置net.bridge.bridge-nf-call-iptables,如:

    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    sysctl --system
          
          
    • 1
    • 2
    • 3
    • 4
    • 5

    如果选择flannel作为pod网络代理,则执行:

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

    查看是否安装成功:

    kubectl get pod -n kube-system -o wide
          
          
    • 1
  6. Master可以被调度(可选)
    单机开发等,需要master机也可以开pod,那么执行下面语句:

    kubectl taint nodes --all node-role.kubernetes.io/master-
          
          
    • 1
  7. 加入节点

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>

准备工作

  1. 机器可以科学上网
  2. docker设置http代理
    参考官方文档: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
    步骤如下:

    mkdir -p /etc/systemd/system/docker.service.d
    touch /etc/systemd/system/docker.service.d/http-proxy.conf
    cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
    [Service]
    Environment="HTTP_PROXY=http://127.0.0.1:8123/" "HTTPS_PROXY=https://127.0.0.1:8123/" "NO_PROXY=localhost,127.0.0.1,本机IP,10.96.0.0/12,10.244.0.0/16"
    EOF
    systemctl daemon-reload
    systemctl restart docker
    systemctl show --property=Environment docker
        
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  3. 确保机器正确设置http代理
    这里写图片描述

    • 需要设置no_proxy,过滤掉本机IP(包括127.0.0.1、localhost、本机实际IP、10.96.0.0/12、10.244.0.0/16)
    • 确保开机启动时,第一时间再加这3个环境变量
      • ubuntu,可以在 /etc//etc/environment 中export它们
      • centos,可以在 /etc/profile.d/proxy.sh 中export它们
  4. 设置hostname的IP
    /etc/hosts中添加 本机IP hostname的域名解析条目

  5. 关闭linux swap

    vim /etc/fstab (注释swap那行)
    echo "vm.swappiness = 0">> /etc/sysctl.conf
    swapoff -a
        
        
    • 1
    • 2
    • 3
  6. docker关闭selinux
    vim /etc/docker/daedom.json
    增加 “selinux-enabled”: false

安装kubeadm

参考官方文档: https://kubernetes.io/docs/tasks/tools/install-kubeadm/#before-you-begin

根据自己系统,选择里面对应的命令依次执行即可。

使用kubeadm,搭建k8s环境

参考官方文档:https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

  1. 设置docker insecure-registries参数

     "insecure-registries" : ["gcr.io"],
        
        
    • 1
  2. 预下载k8s镜像
    参考官方文档:https://github.com/kubernetes/kubeadm/blob/master/vagrant/box.md

    docker pull k8s.gcr.io/pause-amd64:3.1
    docker pull k8s.gcr.io/etcd-amd64:3.1.12
    docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.2 
    docker pull k8s.gcr.io/kube-scheduler-amd64:v1.10.2 
    docker pull k8s.gcr.io/kube-controller-manager-amd64:v1.10.2 
    docker pull k8s.gcr.io/kube-proxy-amd64:v1.10.2 
    docker pull k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8
    docker pull k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8
    docker pull k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8
        
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  3. 执行kubeadm init命令

    kubeadm reset
    kubeadm init --kubernetes-version=v1.10.2 --apiserver-advertise-address=172.19.11.210 --feature-gates=CoreDNS=true --pod-network-cidr=10.244.0.0/16
        
        
    • 1
    • 2

    等待2分钟左右,界面输出:
    这里写图片描述
    到此,安装kubernets成功!

    深坑,切记!在阿里云环境下,需要注意 kubeadm init 命令的 –apiserver-advertise-address 参数,必须填内网IP,填写外网IP将无法启动成功!

  4. kubectl设置帐号权限
    如果是普通用户,执行:

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id <span class="hljs-attribute">-u</span>):$(id -g) $HOME/.kube/config
        
        
    • 1
    • 2
    • 3

    如果是root帐号,执行:

    export KUBECONFIG=/etc/kubernetes/admin.conf
        
        
    • 1
  5. 安装pod网络代理
    官方参考文档:https://kubernetes.io/docs/concepts/cluster-administration/addons/

    大多数网络代理,需要设置net.bridge.bridge-nf-call-iptables,如:

    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    sysctl --system
        
        
    • 1
    • 2
    • 3
    • 4
    • 5

    如果选择flannel作为pod网络代理,则执行:

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

    查看是否安装成功:

    kubectl get pod -n kube-system -o wide
        
        
    • 1
  6. Master可以被调度(可选)
    单机开发等,需要master机也可以开pod,那么执行下面语句:

    kubectl taint nodes --all node-role.kubernetes.io/master-
        
        
    • 1
  7. 加入节点

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>

猜你喜欢

转载自blog.csdn.net/yekoufeng/article/details/80887730