• 安装 kubernetes v1.11.1


    kubernetes 版本 v1.11.1
    系统版本:Centos 7.4 3.10.0-693.el7.x86_64

    master: 192.168.0.205
    node1: 192.168.0.206
    node2: 192.168.0.207

    pod 地址段:10.244.0.0/16
    service 地址段:10.96.0.0/12

    因为某种原因,国内无法直接获取k8s的镜像,这里列出需要用到的镜像。已在百度云盘共享,需要的自行下载:
    链接: https://pan.baidu.com/s/10yXHln4qC5Sxc3TLzgNEAg 密码: furp

    master:
    k8s.gcr.io/kube-proxy-amd64:v1.11.1
    k8s.gcr.io/kube-scheduler-amd64:v1.11.1
    k8s.gcr.io/kube-controller-manager-amd64:v1.11.1
    k8s.gcr.io/kube-apiserver-amd64:v1.11.1
    k8s.gcr.io/coredns:1.1.3
    k8s.gcr.io/etcd-amd64:3.2.18
    quay.io/coreos/flannel:v0.10.0-amd64
    k8s.gcr.io/pause:3.1

    node:
    k8s.gcr.io/kube-proxy-amd64:v1.11.1
    quay.io/coreos/flannel:v0.10.0-amd64
    k8s.gcr.io/pause:3.1
    k8s.gcr.io/coredns:1.1.3


    安装前确保

    1.主机间可以相互通过主机名通信,如修改 /etc/hosts
    2.主机时间同步
    3.主机关闭 firewalld 和 iptables
    4.安装 docker-ce ,详情参考:https://www.cnblogs.com/klvchen/p/8468855.html

    开始安装,在 master 上执行

    # 配置  kubernetes 源
    cat >> /etc/yum.repos.d/kubernetes.repo << EOF 
    [kubernetes]
    name=Kubernetes Repo
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    enabled=1
    EOF
    
    # 测试 yum 源
    yum repolist
    
    # 把 kubernetes.repo 复制到其他机器
    cd /etc/yum.repos.d
    scp kubernetes.repo root@192.168.0.206:/etc/yum.repos.d
    scp kubernetes.repo root@192.168.0.207:/etc/yum.repos.d
    
    # 安装 kubelet,kubeadm,kubectl
    yum install kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 -y
    
    # 确保下面三个值为 1
    cat /proc/sys/net/bridge/bridge-nf-call-iptables 
    cat /proc/sys/net/bridge/bridge-nf-call-ip6tables 
    cat /proc/sys/net/ipv4/ip_forward
    
    # 如果不是,则添加:
    vi  /etc/sysctl.conf 
    net.bridge.bridge-nf-call-iptables = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward = 1
    
    # 使配置文件生效
    sysctl -p
    
    # kubelet 设置开机启动
    systemctl enable kubelet
    
    # 启用 swap 
    # 修改成
    sed -i 's#KUBELET_EXTRA_ARGS=#KUBELET_EXTRA_ARGS="--fail-swap-on=false"#g' /etc/sysconfig/kubelet
    
    # 手动导入镜像
    
    # 初始化集群
    kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
    
    # 这里需要记录下前一命令的执行结果:
    kubeadm join 192.168.0.205:6443 --token phzg6j.4kwhu03dvsddd9vx --discovery-token-ca-cert-hash sha256:4e6f8195e7e23b7929d6d5068fffddb5e0652bf49fea4aefe9c868b990b5507b
    
    # 创建执行集群命令的用户
    useradd klvchen
    mkdir -p /home/klvchen/.kube
    cp -i /etc/kubernetes/admin.conf /home/klvchen/.kube/config
    chown -R klvchen.klvchen /home/klvchen/.kube
    
    # 部署 flannel 网络,详情可参考:https://github.com/coreos/flannel
    su - klvchen
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    

    在 node1, node2 上执行

    # 安装 kubelet,kubeadm,kubectl
    yum install kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1 -y
    
    # kubelet 设置开机启动
    systemctl enable kubelet
    
    # 启用 swap 
    # 修改成
    sed -i 's#KUBELET_EXTRA_ARGS=#KUBELET_EXTRA_ARGS="--fail-swap-on=false"#g' /etc/sysconfig/kubelet
    
    # 确保下面三个值为 1
    cat /proc/sys/net/bridge/bridge-nf-call-iptables 
    cat /proc/sys/net/bridge/bridge-nf-call-ip6tables 
    cat /proc/sys/net/ipv4/ip_forward
    
    # 如果不是,则添加:
    vi  /etc/sysctl.conf 
    net.bridge.bridge-nf-call-iptables = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward = 1
    
    # 使配置文件生效
    sysctl -p
    
    # 本地导入需要的镜像
    
    # 加入集群,注意,这里后面要启用 swap,最后加上参数:--ignore-preflight-errors=Swap
    kubeadm join 192.168.0.205:6443 --token phzg6j.4kwhu03dvsddd9vx --discovery-token-ca-cert-hash sha256:4e6f8195e7e23b7929d6d5068fffddb5e0652bf49fea4aefe9c868b990b5507b --ignore-preflight-errors=Swap
    

    在 master 查看

    # 查询组件状态
    kubectl get cs
    kubectl get componentstatus
    
    # 查询节点, 看到 master 和2个 node 都已经 Ready 即表示创建成功
    kubectl get nodes
    
    
  • 相关阅读:
    Lua环境
    WebKit
    Net线程间通信的异步机制
    Cucumber入门1 传统流程下的使用
    Windows Server 2008中安装IIS7.0
    WebCore
    百度云计算平台Python环境试用
    认识ASP.NET MVC的5种AuthorizationFilter
    浅谈java中常见的排序
    go语言中goroutine的使用
  • 原文地址:https://www.cnblogs.com/klvchen/p/9553499.html
Copyright © 2020-2023  润新知