赞
踩
参考文章:
使用 kubeadmin 离线部署 kubernetes1.9
kubeadm安装1.9版本
使用kubeadm离线部署kubernetes v1.9.0
esxi6.7虚拟机:Centos7.3
- node1 192.168.123.123
- node2 192.168.123.122
- node3 192.168.123.121
- [root@node3 ~]# ssh-keygen -t rsa
- [root@node3 ~]# ssh-copy-id node1
- [root@node3 ~]# ssh-copy-id node2
- [root@node3 ~]# ssh-copy-id node3
链接:https://pan.baidu.com/s/13AyMVUBn2Cr8sb6apUnzrg 密码:loyc
- #安装必要的软件
- yum install -y vim ntp
-
- # 解压下载得到的k8s.tar.gz
- tar zxf k8s.tar.gz /root/
-
- # 使用本地安装docker1.17版本
- cd ~/k8s/rpm/
-
- yum localinstall -y docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
-
- # 启动docker
- systemctl start docker && systemctl enable docker
- # 关闭防火墙
- systemctl disable firewalld && systemctl stop firewalld
-
- # 关闭selinux
- setenforce 0
- sed -i 's#enforcing#disabled#g' /etc/selinux/config
-
- # 关闭swap
- swapoff -a && sysctl -w vm.swappiness=0
- vim /etc/fstab 注释掉swap
-
- # 同步时间
- ntpdate cn.pool.ntp.org
- echo "
- net.bridge.bridge-nf-call-ip6tables = 1
- net.bridge.bridge-nf-call-iptables = 1
- " >> /etc/sysctl.conf
-
- sysctl -p
- [root@node3 k8s]# cd /root/k8s/
- [root@node3 k8s]# find . -name "*.tar" -exec docker image load -i {} \;
- rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
- rpm -ivh kubernetes-cni-0.6.0-0.x86_64.rpm kubelet-1.9.9-9.x86_64.rpm kubectl-1.9.0-0.x86_64.rpm
- rpm -ivh kubeadm-1.9.0-0.x86_64.rpm
sed -i 's#systemd#cgroupfs#g' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
[root@node3 k8s]# echo "source <(kubectl completion bash)" >> ~/.bashrc
[root@node3 rpm]# systemctl enable kubelet && systemctl start kubelet
[root@node3 rpm]# kubeadm init --kubernetes-version=v1.9.0 --pod-network-cidr=10.224.0.0/16 --token-ttl=0 --ignore-preflight-errors=all
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/configYou should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/You can now join any number of machines by running the following on each node
as root:
#kubeadm join非常重要,需要记录保存下来,用于添加节点,丢失不能找回
kubeadm join --token bb3b01.42f41afdd2623461 192.168.123.123:6443 --discovery-token-ca-cert-hash sha256:8b7188df2ec8f3a1617c4eb2482712bbbcc97320422a4c5ecad0c52fa16905b0
注意看输出,这里需要在master设置:
- mkdir -p $HOME/.kube
-
- cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
-
- chown $(id -u):$(id -g) $HOME/.kube/config
如果在master节点kubeadm join出错,可用kubeadm reset重置
kubeadm reset
kubeadm init初始化失败命令:
初始化 master
-
- systemctl stop kubelet
- # 注意: 下面这条命令会干掉所有正在运行的 docker 容器,
- # 如果要进行重置操作,最好先确定当前运行的所有容器都能干掉(干掉不影响业务),
- # 否则的话最好手动删除 kubeadm 创建的相关容器(gcr.io 相关的)
- docker rm -f -v $(docker ps -q)
- find /var/lib/kubelet | xargs -n 1 findmnt -n -t tmpfs -o TARGET -T | uniq | xargs -r umount -v
- rm -r -f /etc/kubernetes /var/lib/kubelet /var/lib/etcd
分别在node1、node2同步时间后使用kubeadm join加入集群
- ntpdate cn.pool.ntp.org
-
- kubeadm join --token bb3b01.42f41afdd2623461 192.168.123.123:6443 --discovery-token-ca-cert-hash sha256:8b7188df2ec8f3a1617c4eb2482712bbbcc97320422a4c5ecad0c52fa16905b0
- [root@node3 ~]# kubectl get node
- NAME STATUS ROLES AGE VERSION
- node1 NotReady <none> 56m v1.9.0
- node2 NotReady <none> 56m v1.9.0
- node3 NotReady master 58m v1.9.0
...
- [root@node3 k8s]# kubectl create -f calico.yaml
-
- [root@node3 k8s]# kubectl get node
- NAME STATUS ROLES AGE VERSION
- node1 Ready <none> 1h v1.9.0
- node2 Ready <none> 1h v1.9.0
- node3 Ready master 1h v1.9.0
-
- [root@node3 k8s]# kubectl get pod --all-namespaces
- NAMESPACE NAME READY STATUS RESTARTS AGE
- kube-system calico-etcd-tkmpj 1/1 Running 0 7m
- kube-system calico-kube-controllers-559b575f97-2zngp 1/1 Running 10 11m
- kube-system calico-node-6gxx8 2/2 Running 10 11m
- kube-system calico-node-rmd7h 2/2 Running 11 11m
- kube-system calico-node-tjwct 2/2 Running 11 11m
- kube-system etcd-node3 1/1 Running 1 1h
- kube-system kube-apiserver-node3 1/1 Running 1 1h
- kube-system kube-controller-manager-node3 1/1 Running 1 1h
- kube-system kube-dns-6f4fd4bdf-5vw7d 3/3 Running 3 1h
- kube-system kube-proxy-d994x 1/1 Running 1 1h
- kube-system kube-proxy-k2bdk 1/1 Running 1 1h
- kube-system kube-proxy-ksp6b 1/1 Running 1 1h
- kube-system kube-scheduler-node3 1/1 Running 1 1h

参考文章:
安装部署 Kubernetes 集群
转载于:https://blog.51cto.com/bestlope/2151855
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。