WARNING!!!!

This is a sandbox environment. Using personal credentials
is HIGHLY! discouraged. Any consequences of doing so, are
completely the user’s responsibilites.

You can bootstrap a cluster as follows:

  1. Initializes cluster master node:

    kubeadm init —apiserver-advertise-address $(hostname -i)

  1. Initialize cluster networking:

    kubectl apply -n kube-system -f \
    https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ‘\n’)”

  1. (Optional) Create an nginx deployment:

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml

  1. The PWK team.

前置

防火墙

关闭和禁用

  1. systemctl stop firewalld
  2. systemctl disable firewalld
  3. iptables -F

Selinux

关闭
vi /etc/sysconfig/selinux 修改 SELINUX 为 disabled

  1. SELINUX=disabled
  1. systemctl start docker.service

禁用swap

vim /etc/fstab 注释掉swap那一行,然后重启

临时关闭
swapon -a 会开启/etc/fstab上定义的所有swap
swapoff -a 会关闭所有swap

安装docker-ce

我这里有两个警告
  • 一个是需要把docker加入开机启动
  • 另一个是当使用docker时,kubeadm 会自动检测 kubelet 使用的cgroup driver ,并将运行时设置到 /var/lib/kubelet/kubeadm-flags.env 文件中,如果使用不同的CRI(容器运行时),就需要编辑 /etc/default/kubelet(该文件需要手动创建)指定cgroup-driver的值:
修改 cgroupfs 为 systemd

注:

  • Kubelet默认使用的cgroup driver为 cgroupfs,Docker默认使用的是systemd。
  • 我们使用Docker容器,所心修改Kubelet的cgroup driver为 systemd

vi /var/lib/kubelet/kubeadm-flags.env

  1. KUBELET_KUBEADM_ARGS=--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=k8s.gcr.io/pause:3.1

echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
使用 modprobe br_netfilter

/etc/kubernetes/manifests/kube-apiserver.yaml
/etc/kubernetes/manifests/kube-controller-manager.yaml
/etc/kubernetes/manifests/kube-scheduler.yaml
/etc/kubernetes/manifests/etcd.yaml

文档更新时间: 2019-07-24 03:55   作者:admin