Skip to content

Instantly share code, notes, and snippets.

@hysios
Last active July 20, 2018 06:33
Show Gist options
  • Save hysios/269174b218ef7cda124ca581ef5e3b2c to your computer and use it in GitHub Desktop.
Save hysios/269174b218ef7cda124ca581ef5e3b2c to your computer and use it in GitHub Desktop.
# HOSTNAME=${1:-k8smaster} # If variable not set or null, set it to default.
DNS_SERVER=8.8.8.8
PROXY=${2:-http://your.proxyip}
# hostname $HOSTNAME
# hostname -F /etc/hostname
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge
sudo yum install -y docker-ce
sudo systemctl enable docker
sudo systemctl start docker
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
yum install -y kubelet kubeadm kubectl
# docker info | grep -i cgroup
# cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload
systemctl enable kubelet
systemctl restart kubelet
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
sed -i "s/nameserver.*/nameserver $DNS_SERVER/" /etc/resolv.conf
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
mkdir -p /etc/systemd/system/docker.service.d/
cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTPS_PROXY=http://your.proxyip"
Environment="NO_PROXY=localhost,127.0.0.1,registry.docker-cn.com"
EOF
systemctl daemon-reload
systemctl restart docker
swapoff -a
export MY_IP=`{ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/'}`
export https_proxy=$PROXY
export http_proxy=$PROXY
export no_proxy="localhost,$MY_IP"
kubeadm reset -f
kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all
unset https_proxy
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment