当前位置 博文首页 > u011767319的博客:k8s安装-个人笔记
单机docker方便使用。但多台机子管理起来就不方便。
本人搭建了两次,搭建出来了。(不要在意,图片ip地址不一致问题)
分享于我的粉丝们
#重置k8s
kubeadm reset
#重新获取token
kubeadm token create --print-join-command
k8s-master
k8s-node1
k8s-node2
Kubernetes部署环境要求
(1)一台或多台机器,操作系统CentOS 7.x-86_x64
(2)硬件配置:内存2GB或2G+,CPU 2核或CPU 2核+;
(3)集群内各个机器之间能相互通信;
(4)集群内各个机器可以访问外网,需要拉取镜像;
(5)禁止swap分区;
效果:
如何配置我就不详细描述了,不懂的百度
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config #永久
setenforce 0 #临时
# 关闭swap(k8s禁止虚拟内存以提高性能)
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久
swapoff -a #临时
# 在master添加hosts
cat >> /etc/hosts << EOF
192.168.95.247 k8smaster
192.168.95.248 k8snode1
192.168.95.249 k8snode2
EOF
# 设置网桥参数
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system #生效
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com
安装docker,本人的另外一篇文章
先设置源头
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
安装
yum install kubelet-1.22.2 kubeadm-1.22.2 kubectl-1.22.2 -y
然后执行:
systemctl enable kubelet.service
不然会提示警告;
yum list installed | grep kubelet
yum list installed | grep kubeadm
yum list installed | grep kubectl
查看安装的版本: kubelet --version
Kubelet:运行在cluster所有节点上,负责启动POD和容器;
Kubeadm:用于初始化cluster的一个工具;
Kubectl:kubectl是kubenetes命令行工具,通过kubectl可以部署和管理应用,查看各种资源,创建,删除和更新组件;
以上每台机子都要运行一遍
部署Kubernetes Master主节点
kubeadm init --apiserver-advertise-address=192.168.95.247 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.22.2 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
此命令在master机器上执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装网络插件(只需要master安装就行了):
拉取:
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
没有安装wget的话,安装一下:
yum install wget
拉取不了的话,有以下解决办法
先设置一下 hosts
cat >> /etc/hosts << EOF
199.232.68.133 raw.githubusercontent.com
EOF
重新执行拉取操作。
下载完之后,创建并查看:
#创建
kubectl create -f kube-flannel.yml
#查看
kubectl get pod -n kube-system
在244和245机子下分别运行:
运行243初始话的加入命令
kubeadm join 192.168.95.247:6443 --token wsfwk9.cfncltj3zmng7in2 \
--discovery-token-ca-cert-hash sha256:e63baea55e3d3a22ba1e71327e8addcb90adb422db2459ac57f354a426cd05da
效果:
查询一下:
kubectl get nodes
效果:
csNotReady 表示没准备好,需要等一下
Ready 就表示准备好了