手动添加node节点

  1. 添加网络服务
# 从node节点拷贝相关证书
scp -r /etc/kubernetes 10.32.254.18:/etc/
# 解压
tar -xf flannel-v0.9.1-linux-amd64.tar.gz
cp {flanneld,mk-docker-opts.sh} /usr/local/bin/
cp flanneld.service /etc/systemd/system/
cat flanneld.service
[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=network-online.target
Wants=network-online.target
Before=docker.service

[Service]
Type=notify
ExecStart=/usr/local/bin/flanneld   -etcd-cafile=/etc/kubernetes/ssl/ca.pem   -etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem   -etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem   -etcd-endpoints=https://10.32.254.19:2379,https://10.32.254.20:2379,https://10.32.254.21:2379   -etcd-prefix=/kubernetes/network
ExecStartPost=/usr/local/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure

[Install]
WantedBy=multi-user.target
RequiredBy=docker.service
# 启动flanneld
systemctl start flanneld && systemctl enable flanneld
  1. 添加docker服务
wget https://download.docker.com/linux/static/stable/x86_64/docker-17.12.0-ce.tgz
tar -xvf docker-17.12.0-ce.tgz
cp docker/docker* /usr/local/bin
cat > /etc/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.io

[Service]
Environment="PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
EnvironmentFile=-/run/flannel/subnet.env
EnvironmentFile=-/run/flannel/docker
ExecStart=/usr/local/bin/dockerd \
  --exec-opt native.cgroupdriver=cgroupfs \
  --log-level=error \
  --log-driver=json-file 
ExecReload=/bin/kill -s HUP $MAINPID
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
Restart=on-failure
RestartSec=5
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
EOF
# 启动
systemctl daemon-reload
systemctl enable docker && systemctl start docker
  1. 添加kube-proxy和kubelet
# copy 2进制
scp /usr/local/bin/kubelet 10.32.254.18:/usr/local/bin/
scp /usr/local/bin/kube-proxy 10.32.254.18:/usr/local/bin/
# 依赖
conntrack-tools-1.4.4-4.el7.x86_64
mkdir -p /var/lib/kube-proxy
cat > /etc/systemd/system/kube-proxy.service << EOF
[Unit]
Description=Kubernetes Kube-Proxy Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=network.target

[Service]
WorkingDirectory=/var/lib/kube-proxy
ExecStart=/usr/local/bin/kube-proxy   --bind-address=10.32.254.18   --hostname-override=10.32.254.18   --cluster-cidr=10.254.0.0/16   --kubeconfig=/etc/kubernetes/kube-proxy.kubeconfig   --logtostderr=true   --v=2
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

# 启动
systemctl daemon-reload
systemctl enable kube-proxy
systemctl start kube-proxy
systemctl status kube-proxy
# kubelet
mkdir -p /var/lib/kubelet
cat > /etc/systemd/system/kubelet.service << EOF
[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=docker.service
Requires=docker.service

[Service]
WorkingDirectory=/var/lib/kubelet
ExecStart=/usr/local/bin/kubelet   --address=10.32.254.18   --hostname-override=10.32.254.18   --pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest   --experimental-bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig   --kubeconfig=/etc/kubernetes/kubelet.kubeconfig    --cert-dir=/etc/kubernetes/ssl   --container-runtime=docker   --cluster-dns=10.254.0.2   --cluster-domain=cluster.local   --hairpin-mode promiscuous-bridge   --allow-privileged=true   --serialize-image-pulls=false   --register-node=true   --logtostderr=true   --cgroup-driver=cgroupfs    --v=2

Restart=on-failure
KillMode=process
LimitNOFILE=65536
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
# 启动
systemctl daemon-reload
systemctl enable kubelet && systemctl start kubelet
# master节点查看验证
kubectl get nodes
NAME           STATUS    ROLES     AGE       VERSION
10.32.254.18   Ready     <none>    1m        v1.10.13
10.32.254.19   Ready     <none>    254d      v1.10.13
10.32.254.20   Ready     <none>    254d      v1.10.13
10.32.254.21   Ready     <none>    254d      v1.10.13
Logo

开源、云原生的融合云平台

更多推荐