Kubernetes 学习环境搭建
安装 kubernetes必要软件
- debian/ubuntu
apt-get update && apt-get install -y apt-transport-https curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl
- CentOS / RHEL / Fedora
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=1 repo_gpgcheck=1 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 systemctl enable kubelet && systemctl start kubelet
- 安装docker-ce
curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun
- 关闭swap与selinux
#临时关闭swap sudo swapoff -a sudo sysctl -w vm.swappiness=0 sudo setenforce 0 #临时关闭selinux sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config #永久关闭selinux
编辑/etc/fstab 注释掉swap一行,如图:
初始化Master节点
-
测试主机与 gcr.io 的连接
sudo kubeadm config images pull
- 初始化Master节点
sudo kubeadm init --pod-network-cidr=10.1.0.0/16
注:
(1)
--pod-network-cider=
指定的ip地址要与下面pod网络yaml配置文件中的地址段一致(2)请备份好
kubeadm init
输出中的kubeadm join
命令,因为需要这个命令来给集群添加节点,如图:忘记join命令可以用以下命令获取:
kubeadm token create --print-join-command
- 使普通用户可以运行kubectl
#如果是非root用户执行以下命令 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config #如果是root用户执行以下命令 export KUBECONFIG=/etc/kubernetes/admin.conf
- 在master节点上部署Pod网络
sudo kubectl apply -f https://cdn.jsdelivr.net/gh/coreos/flannel@master/Documentation/kube-flannel.yml
将worker node加入到master
- 在node主机上执行master主机中
kubeadm init
后得到的命令,类似如下命令:kubeadm join 192.168.81.132:6443 --token w0nzz9.gu0jqu040lklfv9v \ --discovery-token-ca-cert-hash sha256:ce11b7e4df720dc678261a4daf94184147acc1e1e6db003401e57be9df9a73f7
- 在master主机上执行如下命令查看节点状态:
kubectl get nodes