一、环境准备
1.主机准备
192.168.10.100 master.com master
192.168.10.101 node1.com node1
192.168.10.102 node2.com node2
互信
时间同步
关闭防火墙
关闭selinux
2.创建/etc/sysctl.d/k8s.conf,添加如下内容
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
3.执行如下命令
modprobe br_netfilter
4.安装系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
5.添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6.查看docker软件版本,安装指定版本
yum install docker-ce
7.安装完毕,启动docker
systemctl restart docker && systemctl enable docker
二、安装k8s
1.下载镜像
docker pull cloudnil/etcd-amd64:3.2.18
docker pull cloudnil/pause-amd64:3.1
docker pull cloudnil/kube-proxy-amd64:v1.11.1
docker pull cloudnil/kube-scheduler-amd64:v1.11.1
docker pull cloudnil/kube-controller-manager-amd64:v1.11.1
docker pull cloudnil/kube-apiserver-amd64:v1.11.1
docker pull cloudnil/k8s-dns-sidecar-amd64:1.14.4
docker pull cloudnil/k8s-dns-kube-dns-amd64:1.14.4
docker pull cloudnil/k8s-dns-dnsmasq-nanny-amd64:1.14.4
docker pull cloudnil/kube-discovery-amd64:1.0
docker pull cloudnil/dnsmasq-metrics-amd64:1.0
docker pull cloudnil/exechealthz-amd64:1.2
docker pull cloudnil/coredns:1.1.3
2.1在确保docker安装完成后,下面的相关环境配置也完成了,对应所需要的镜像也下载完成了,现在我们就可以安装Kubeadm了,我们这里是通过指定yum源的方式来进行安装的
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes] name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
2.2当然了,上面的yum源也是需要科学上网的,如果不能科学上网的话,我们可以使用阿里云的源进行安装:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
2.3安装kubelet
yum install kubelet-1.11.1-0.x86_64
yum install -y kubelet-1.11.1 kubeadm-1.11.1 kubectl-1.11.1
systemctl enable kubelet.service && systemctl start kubelet.service
3.集群安装(master主机要给到4G)
(1关闭交换分区
[root@master ~]# swapoff -a
vim /etc/fastab 注释swap
(2初始化:在master节点kubeadm命令来初始化集群
kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification
(3token:初始化集群获得
kubeadm join 192.168.10.100:6443 --token abo0d1.z3vniz0n4pej7ztf --discovery-token-ca-cert-hash sha256:215a432766f079dc6aa8476574aefa5f0836e2db4405684106f449974025d3b6
token创建以及使用
[root@master ~]# kubeadm token list
token用于机器加入Kubernetes集群时用到,默认token24小时就会过期,后续的机器要加入集群需要重新生成token
24小时失效重新创建需要如下命令
kubeadm token create --print-join-command
kubectl访问集群的方式
非root用户
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
root用户
export KUBECONFIG=/etc/kubernetes/admin.conf
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
kubectl版本测试
kubectl version
(4安装网络,可是使用flannel/calico/weave/macvlan。这里我们使用flannel
wget https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml
若要修改网段,需要kubeadm –pod-network-cidr=和这里同步
vim kube-flannel.yml
修改network项
"Network": "10.244.0.0/16",
kubectl create -f kube-flannel.yml
删除节点
kubectl delete node node2.com