etcd:

cat > /usr/lib/systemd/system/etcd.service <<EOF
[Unit]
Description=Etcd Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/var/lib/etcd/
#EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd \
--data-dir=/opt/etcd/data \
--listen-client-urls=http://0.0.0.0:2379 \
--advertise-client-urls=http://0.0.0.0:2379

[Install]
WantedBy=multi-user.target
EOF


下载k8s安装包:

wget https://dl.k8s.io/v1.14.2/kubernetes-server-linux-amd64.tar.gz


在master上


apiserver:

cat > /usr/lib/systemd/system/kube-apiserver.service <<EOF
[Unit]
Description=Kubernetes API Server
After=etcd.service
Wants=etcd.service

[Service]
#EnvironmentFile=/etc/kubernetes/apiserver
ExecStart=/usr/bin/kube-apiserver \
--etcd-servers=http://127.0.0.1:2379 \
--insecure-bind-address=0.0.0.0 \
--insecure-port=8080 \
--service-cluster-ip-range=169.169.0.0/16 \
--service-node-port-range=1-65535 \
--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota \
--logtostderr=false \
--log-dir=/var/log/kubernetes \
--v=0

Restart=on-failure
Type=notify
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target
EOF


controller-manager:

cat > /usr/lib/systemd/system/kube-controller-manager.service <<EOF
[Unit]
Description=Kubernetes Controller Manager
After=kube-apiserver.service
Requires=kube-apiserver.service

[Service]
#EnvironmentFile=/etc/kubernetes/apiserver
ExecStart=/usr/bin/kube-controller-manager \
--kubeconfig=/etc/kubernetes/kubeconfig.yml \
--logtostderr=false \
--log-dir=/var/log/kubernetes \
--v=0

Restart=on-failure
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target
EOF

/etc/kubernetes/kubeconfig.yml

apiVersion: v1
kind: Config
users:
- name: client
  user:
clusters:
- name: default
  cluster:
    server: http://192.168.1.127:8080
contexts:
- context:
    cluster: default
    user: client
  name: default
current-context: default


scheduler:

cat > /usr/lib/systemd/system/kube-scheduler.service <<EOF
[Unit]
Description=Kubernetes scheduler
After=kube-apiserver.service
Requires=kube-apiserver.service

[Service]
ExecStart=/usr/bin/kube-scheduler \
--kubeconfig=/etc/kubernetes/kubeconfig.yml \
--logtostderr=false \
--log-dir=/var/log/kubernetes \
--v=0

Restart=on-failure
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target
EOF


在Node上


1、关闭swap。

2、安装并启动docker。

3、创建目录

mkdir /etc/kubernetes


kubelet:

cat > /usr/lib/systemd/system/kubelet.service <<EOF
[Unit]
Description=Kubernetes kubelet Server
After=docker.service
Requires=docker.service

[Service]
WorkingDirectory=/var/lib/kubelet
ExecStart=/usr/bin/kubelet \
--kubeconfig=/etc/kubernetes/kubeconfig.yml \
--hostname-override=k8s-node01 \
--logtostderr=false \
--log-dir=/var/log/kubernetes \
--v=0

Restart=on-failure
 
[Install]
WantedBy=multi-user.target
EOF


kube-proxy:

cat > /usr/lib/systemd/system/kube-proxy.service <<EOF
[Unit]
Description=Kubernetes Kube-Proxy Server
After=network.target
Requires=network.service

[Service]
WorkingDirectory=/var/lib/kubelet
ExecStart=/usr/bin/kube-proxy \
--kubeconfig=/etc/kubernetes/kubeconfig.yml \
--logtostderr=false \
--log-dir=/var/log/kubernetes \
--v=2

Restart=on-failure
LimitNOFILE=65536
 
[Install]
WantedBy=multi-user.target
EOF