美文网首页docker容器
单节点非docker方式搭建Kubernetes

单节点非docker方式搭建Kubernetes

作者: 佛系小懒 | 来源:发表于2020-02-12 23:16 被阅读0次

    # etcd准备

    etcd -name etcd --data-dir /var/lib/etcd --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 --advertise-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001>> /var/log/etcd.log2>&1 &

    通过如下的命令来检测:etcdctl -C http://127.0.0.1:4001 cluster-health

    # 下载安装包

    wget https: // github.com / kubernetes / kubernetes / releases / download / v1.17.2 / kubernetes.tar.gz

    kubernetes-client-linux-amd64.tar.gz,链接

    kubernetes-server-linux-amd64.tar.gz, 链接

    # apiserver启动

    ./kube-apiserver --logtostderr=true --v=0 --etcd-servers=http://127.0.0.1:4001 --insecure-bind-address=0.0.0.0 --insecure-port=8080 --service-cluster-ip-range=192.168.0.0/16>> /var/log/kube-apiserver.log2>&1 &

    # kube-controller-manager启动

    ./kube-controller-manager --logtostderr=true --v=0 --master=http://127.0.0.1:8080>> /var/log/kube-controller-manager.log2>&1 &

    # kube-scheduler启动

    ./kube-scheduler --logtostderr=true --v=0 --master=http://127.0.0.1:8080>> /var/log/kube-scheduler.log2>&1 &

    # kube-proxy启动

    ./kube-proxy --logtostderr=true --v=0 --master=http://127.0.0.1:8080>> /var/log/kube-proxy.log2>&1 &

    # 如果无法通过主机名找到node,需要指定--bind-address

    查询健康状态:kubectl -s http://127.0.0.1:8080 get componentstatus

    # 启动flanneld

    etcdctl -C http://127.0.0.1:4001 set /atomic.io/network/config'{ "Network": "192.168.0.0/16" }'

    flanneld -etcd-endpoints=http://127.0.0.1:4001>> /var/log/flanneld.log2>&1 &

    #Flannel会为不同Node的Docker网桥配置不同的IP网段以保证Docker容器的IP在集群内唯一,所以Flannel会重新配置Docker网桥,需要先删

    #除原先创建的Docker网桥:

    $ iptables -t nat -F

    $ ifconfig docker0 down

    $ brctl delbr docker0

    Flannel运行后会生成一个文件subnet.env,其中包含规划好的Docker网桥网段,根据其中的属性重新启动Docker:

    $ source /run/flannel/subnet.env

    $ docker -d \

    -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 \

    --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} \

    >> /var/log/docker.log 2>&1 &

    # 安装插件

    以coredns为例:依赖现在已经生成好的coredns.yml,具体生成参见链接

    kubectl apply -f coredns.yml

    # 查看

    kubectl get svc --namespace kube-system

    其他插件待集需补充

    相关文章

      网友评论

        本文标题:单节点非docker方式搭建Kubernetes

        本文链接:https://www.haomeiwen.com/subject/xcuhfhtx.html