3个虚机上CentOS7安装k8s1.9.0

7 篇文章 0 订阅
4 篇文章 0 订阅
本文档详述了如何在3台虚机上安装CentOS7并部署k8s1.9.0集群。包括关闭SELinux和swap,时间同步,下载k8s_images.tar.bz2,配置SSH互信,解压安装Docker,修改Docker镜像源,以及启动Docker等关键步骤。
摘要由CSDN通过智能技术生成
环境说明:
192.168.33.15  master-1    master
192.168.33.16  node-1    slave
192.168.33.17  node-2    slave

echo '
192.168.33.15  master-1
192.168.33.16  node-1

192.168.33.17  node-2' >> /etc/hosts


CentOS版本:


一、所有节点主机需要完成的准备工作:master和slave节点都要做
1、关闭firewalld和selinux
所有机器上执行:
systemctl stop firewalld && systemctl disable firewalld
执行:

firewall-cmd --state #查看默认防火墙状态(关闭后显示not running,开启后显示running)


关闭selinux 需要重启机器
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
重启后输入 sestatus 查看selinux状态,此时应该显示disabled


关闭swap: swapoff -a

2、时间同步
yum -y install ntp
ntptime
timedatectl
systemctl enable ntpd
systemctl restart ntpd.service
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3、到网盘上下载k8s_images.tar.bz2压缩包
master节点操作
链接:https://pan.baidu.com/s/1ExMT7DzpardBWarYwSaM9Q#list/path=%2F 密码:otpq

 k8s_images.tar.bz2包下载后上传到192.168.33.15服务器的/root目录下

配置互信 生成ssh 密钥对
 [root@master-1 ~]# ssh-keygen
把本地的ssh公钥文件安装到远程主机对应的账户
[root@master-1 ~]# ssh-copy-id master-1
[root@master-1 ~]# ssh-copy-id node-1
[root@master-1 ~]# ssh-copy-id node-2
 
把master服务器上的k8s_images.tar.bz2拷贝到node节点服务器上
scp /root/k8s_images.tar.bz2 root@192.168.33.16:/root
scp /root/k8s_images.tar.bz2 root@192.168.33.17:/root

4、解压tar.bz包,并开始安装
[root@master-1 ~]# tar xvf k8s_images.tar.bz2
安装docker-ce,解决依赖
[root@master-1 k8s_images]# rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm libseccomp-2.3.1-3.el7.x86_64.rpm --force --nodeps
[root@master-1 k8s_images]# rpm -ivh docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm --force --nodeps
[root@master-1 k8s_images]# rpm -ivh docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm --force --nodeps

5、修改docker的镜像源为国内的daocloud的
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://a58c8480.m.daocloud.io
启动docker,并设置开机启动
[root@master-1 ~]# systemctl restart docker && systemctl enable docker
配置系统路由参数,防止kubeadm报路由警告
echo "
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
" >> /etc/sysctl.conf
sysctl -p


6、安装kubadm kubelet kubectl
[root@master-1 k8s_images]# rpm -ivh kubectl-1.9.0-0.x86_64.rpm kubeadm-1.9.0-0.x86_64.rpm kubelet-1.9.9-9.x86_64.rpm  \
kubernetes-cni-0.6.0-0.x86_64.rpm socat-1.7.3.2-2.el7.x86_64.rpm 

7、加载镜像
[root@master-1 k8s_images]# cd docker_images/
[root@master-1 docker_images]# for image in `ls -l . |awk '{print $9}'`;do echo "$image is loading"&&docker load < ${image};done


输入docker images查看镜像


二、master 节点操作
1、启动kubelet
[root@master-1 ~]# systemctl start kubelet&& systemctl enable kubelet
开始初始化master节点
kubernetes 默认支持多重网络插件如flannel、weave、calico,这里使用flannel,就必须设置--pod-network-cidr 参数,

[root@master-1 ~]# kubeadm init --kubernetes-version=v1.9.0 --pod-network-cidr=10.224.0.0/16 --apiserver-advertise-address=192.168.33.15
如报以下错误:
error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs"
Jan 20 15:22:53 master-1 systemd: kubelet.service: main process exited, code=exited, status=1/FAILURE
Jan 20 15:22:53 master-1 systemd: Unit kubelet.service entered failed state.
Jan 20 15:22:53 master-1 systemd: kubelet.service failed.

原因:
   kubelet 的cgroup dirver与docker的不一样。docker默认使用cgroupfs,keubelet 默认使用systemd

解决办法:如下
  1.1 修改配置文件cgroup-driver中systemd值改为cgroupfs,vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
  1.2 systemctl daemon-reload && systemctl restart kubelet
  1.3 kubeadm reset
 1.4继续执行kubeadm init --kubernetes-version=v1.9.0 --pod-network-cidr=10.224.0.0/16 --apiserver-advertise-address=192.168.33.15
   
 当出现以下内容则说明kubeadm初始化成功.
 Your Kubernetes master has initialized successfully!


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/config


You 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 --token 67f800.7b64ede266ca7bf4 192.168.33.15:6443 --discovery-token-ca-cert-hash sha256:9ed80c1d6ab0bfb7b9f759504dff916a98ca224b7e7bf82af4eda6b4bd6de5ee
  
  备注:kubeadm join xxxx 可以保留下来,如果忘记了,可以通过kubeadm token list 获取
  
2、按照上面提示,此时还不能用kubectl 控制集群。需要配置环境变量
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
 
3、kubectl version测试
  [root@master-1 k8s_images]# kubectl version

 
4、直接使用离线包里面的flannel
   执行
  [root@master-1 k8s_images]#kubectl create  -f kube-flannel.yml
  
5、查看所pod状态,已经都running
  [root@master-1 k8s_images]# kubectl get pod --all-namespaces
  
6、部署kubernetes-dashboard,直接使用离线包里面的kubernetes-dashboard.yaml
  [root@master-1 k8s_images]# kubectl create -f kubernetes-dashboard.yaml 
  [root@master-1 k8s_images]# kubectl get pod --all-namespaces
 

三、node节点操作
1、修改kubelet配置文件根上面有一将cgroup的driver由systemd改为cgroupfs
   vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
   Environment=”KUBELET_CGROUP_ARGS=–cgroup-driver=cgroupfs”
   
2、重启kubelet
   systemctl daemon-reload
   systemctl enable kubelet&&systemctl restart kubelet
   
3、使用刚刚在master上执行kubeadm后的kubeadm join –xxx 语句
    kubeadm join --token 67f800.7b64ede266ca7bf4 192.168.33.15:6443 --discovery-token-ca-cert-hash sha256:9ed80c1d6ab0bfb7b9f759504dff916a98ca224b7e7bf82af4eda6b4bd6de5ee


在master节点上check一下
[root@node5 ~]# kubectl get nodes

CentOS 7虚机安装可以遵循以下步骤: 1. 首先,确保你已经下载了CentOS 7的ISO镜像文件,并且已经安装拟机软件,比如VirtualBox或VMware。 2. 打开拟机软件,创建一个新的拟机。在创建过程中,选择CentOS 7的ISO镜像文件作为拟机的安装介质。 3. 配置拟机的硬件设置,比如内存大小、处理器数量等。根据你的需求进行相应的设置。 4. 启动拟机,并按照屏幕上的指示进行安装。在安装过程中,你可能会遇到一些问题,比如黑屏。如果遇到黑屏问题,可以尝试按照\[1\]中提到的方法,点击安装后按下Ctrl + Alt键,看是否能够解决问题。 5. 在安装过程中,你需要设置一些基本的系统配置,比如选择安装语言、键盘布局等。根据你的需求进行相应的设置。 6. 在磁盘分区的步骤中,你可以按照\[2\]中提到的方法,添加/boot分区和swap分区。/boot分区的大小一般为300MB,而swap分区的大小一般为物理内存的2倍。 7. 完成安装后,重新启动拟机。你现在应该能够进入CentOS 7的桌面环境了。 总结起来,CentOS 7虚机安装的步骤包括下载ISO镜像文件、创建拟机、配置硬件设置、启动拟机并按照屏幕指示进行安装、设置系统配置、进行磁盘分区、完成安装并重新启动拟机。希望这些步骤对你有帮助。 #### 引用[.reference_title] - *1* [VMware安装CentOS7时遇到的黑屏问题解决方法](https://blog.csdn.net/m0_70275087/article/details/124566847)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [安装CentOS7拟机(超详细)](https://blog.csdn.net/WHQ556677/article/details/122283578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值