kubeadm是官方社区推出的快速部署kubernetes集群的工具
安装要求
(1)一台或多台CentOS7.x-86_x64操作系统
(2)硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
(3)集群中所有机器之间网络互通,可以访问外网,需要拉取镜像
准备环境
systemctl stop firewalld systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
swapoff -a 临时
vi /etc/hosts 192.168.136.129 k8s-master 192.168.136.128 k8s-node1 192.168.136.130 k8s-node2
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
sysctl --system
|
安装docker
yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce-17.12.1.ce -y
systemctl enable docker && systemctl start docker
|
添加阿里云yum软件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF [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
|
安装kubeadm、kubelet和kebectl
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0 systemctl enable kubelet
|
部署kubernetes master
kubeadm init \ --apiserver-advertise-address=192.168.136.129 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.15.0 \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=10.244.0.0/16
|
使用kubectl工具
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
|
安装pod网络插件CNI
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
|
将node加入集群
kubeadm join 192.168.136.129:6443 --token 1w09k0.ugs74mxzljn7yk72 \ --discovery-token-ca-cert-hash sha256:cac0b9e628461383dde738b184111c6b735b2010a6eb637b1a9b7ffc297a7537
|
查看集群状态
kubectl get nodes
kubectl get pods -n kube-system
|