# 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
其他插件待集需补充
网友评论