Skip to content

Instantly share code, notes, and snippets.

@Jimmy-Xu
Last active June 7, 2018 13:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jimmy-Xu/41ee85d84fca9b7100cfcc786895f062 to your computer and use it in GitHub Desktop.
Save Jimmy-Xu/41ee85d84fca9b7100cfcc786895f062 to your computer and use it in GitHub Desktop.
使用kubeadm创建一个K8s的Cluster

install kubernetes v1.9.4 via kubeadm

目标: 用kubeadmin安装kubernetes v1.9.4 集群(单节点) 安装环境: CentOS 7

文档

安装环境: VMWare Workstation + CentOS

1. download CentOS7 from osboxes: https://www.osboxes.org/centos/#centos-7-x-vmware

2. open os image in VMWare

3. login os
Username: osboxes
Password: osboxes.org
Root Account Password: osboxes.org

依赖软件包

docker v1.9, 1.11.2 to 1.13.1 and 17.03.x

下载kubernetes相关软件包

sudo yum install -y kubelet kubeadm kubectl

禁掉firewalld

sudo service firewalld stop
sudo systemctl disable firewalld

禁掉swap分区

sudo swapoff -a

禁用SELinux

$ setenforce 0
$ cat /etc/selinux/config
SELINUX=disabled

pull镜像

//拉取镜像并改名
// for v1.9.4
for i in kube-proxy-amd64:v1.9.4 kube-controller-manager-amd64:v1.9.4 kube-apiserver-amd64:v1.9.4 kube-scheduler-amd64:v1.9.4 etcd-amd64:3.1.11 k8s-dns-sidecar-amd64:1.14.7 k8s-dns-kube-dns-amd64:1.14.7 k8s-dns-dnsmasq-nanny-amd64:1.14.7 pause-amd64:3.0
do
  sudo docker pull mirrorgooglecontainers/$i
  sudo docker tag mirrorgooglecontainers/$i gcr.io/google_containers/$i
done

//for v1.10.0
for i in kube-proxy-arm64:v1.10.0 kube-controller-manager-arm64:v1.10.0 kube-apiserver-arm64:v1.10.0 kube-scheduler-arm64:v1.10.0 etcd-arm64:3.1.12 k8s-dns-sidecar-arm64:1.14.8 k8s-dns-kube-dns-arm64:1.14.8 k8s-dns-dnsmasq-nanny-arm64:1.14.8 pause-arm64:3.1
do
  sudo docker pull mirrorgooglecontainers/$i
  sudo docker tag mirrorgooglecontainers/$i gcr.io/google_containers/$i
done

//删除无用镜像
sudo docker images | grep mirrorgooglecontainers | awk '{printf "s:%s\n",$1,$2}' | xargs -i sudo docker rmi {}

初始化k8s集群

sudo -E kubeadm init --pod-network-cidr 10.244.0.0/16 --kubernetes-version v1.9.4 --ignore-preflight-errors cri

允许master参与pod调度

默认情况下 Master 节点不进行 Pod 调度,为了方便测试,我们可以通过以下命令让 Master 参与调度:

kubectl taint nodes --all node-role.kubernetes.io/master-
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment