K8S虚拟机安装

这篇具有很好参考价值的文章主要介绍了K8S虚拟机安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 

目录

一、虚拟机安装

1.1、软件安装

1.2、Vagrant生成Vagrantfile

1.3、Vagrant创建虚拟机

1.4、Vagrant连接虚拟机

二、Linux配置

 2.1、开启root密码访问权限

2.2、禁用防火墙

2.3、关闭交换区

2.4、将桥接的IPv4流量传递到iptables的链,更精确统计流量

2.5、Host设置

2.6、时区设置

三、Docker安装

四、K8S安装

4.1、添加k8s的阿里云yum源

4.2、kubeadm,kubelet 和 kubectl 安装

4.3、部署k8s-master

4.3.1、制作镜像下载脚本

4.3.2、kubeadm安装

4.3.3、测试 kubectl

4.4、master 安装pod网络插件

4.5、加入node 节点

五、其他



一、虚拟机安装

1.1、软件安装

 安装虚拟化系统Oracle virtualbox及管理工具Vagrant

1.2、Vagrant生成Vagrantfile

执行命令:vagrant init 生成Vagrantfile

1.3、Vagrant创建虚拟机

通过vagrantfile来创建三个虚拟机,分别为k8s-node1,k8s-node2和k8s-node3,内容如下

# 编辑Vagrantfile,替换为如下内容
Vagrant.configure("2") do |config|
	(1..3).each do |i|
		config.vm.define "k8s-node#{i}" do |node|
			# 设置虚拟机Box
			node.vm.box = "centos/7"
			# 设置虚拟机主机名
			node.vm.hostname = "k8s-node#{i}"
			# 设置虚拟机IP
			node.vm.network "private_network", ip: "192.168.56.#{99+i}", nemask:"255.255.255.0"
			# 设置主机与虚拟机的共享目录
			#node.vm.synced_flder "~/Docments/vagrant/share", "/home/vagrant/share"

			# VirtaulBox相关配置
			node.vm.provider "virtualbox" do |v|
				# 设置虚拟机名称
				v.name = "k8s-node#{i}"
				v.memory = 1536
				# 设置虚拟机CPU个数
				v.cpus = 2
			end
		end
	end
end

执行命令:vagrant up 创建虚拟机

1.4、Vagrant连接虚拟机

执行命令:vagrant ssh xxx

二、Linux配置

 2.1、开启root密码访问权限

# 修改配置 PermitRootLogin yes PasswordAuthentication yes
sudo vi /etc/ssh/sshd_config
# 重启sshd服务
service sshd restart

2.2、禁用防火墙

sudo sed -i 's/enforcing/disabled/' /etc/selinux/config
# 关闭selinux防火墙
setenforce 0

2.3、关闭交换区

sudo sed -ri 's/.swap./#&/' /etc/fstab 

2.4、将桥接的IPv4流量传递到iptables的链,更精确统计流量

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

# 应用 sysctl 参数而不重新启动
sudo sysctl --system

2.5、Host设置

vi /etc/hosts
10.0.2.15  k8s-node1 
10.0.2.4   k8s-node2 
10.0.2.5   k8s-node3

2.6、时区设置

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

三、Docker安装

Docker 安装与使用

四、K8S安装

4.1、添加k8s的阿里云yum源

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=1
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

4.2、kubeadm,kubelet 和 kubectl 安装

yum install -y kubelet-v1.25.2 kubeadm-v1.25.2 kubectl-v1.25.2
systemctl enable kubelet & systemctl start kubelet

#查看kubelet运行日志:
journalctl -xefu kubelet 

4.3、部署k8s-master

4.3.1、制作镜像下载脚本
#!/bin/bash
images=(
    kube-apiserver:v1.25.2
        kube-proxy:v1.25.2
    kube-controller-manager:v1.25.2
    kube-scheduler:v1.25.2
    coredns:1.6.5
    etcd:3.4.3-0
        pause:3.6
)

for imageName in ${images[@]} ; do
    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done

  执行命令:chmod 700 master_images.sh 赋予文件执行权限,并执行脚本下载镜像

# 下载 pause镜像
ctr -n k8s.io i pull -k  registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
# 修改pause镜像的tag
ctr -n k8s.io i tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6
4.3.2、kubeadm安装
  • 配置文档

执行命令:kubeadm config print init-defaults 生成默认配置文档 kubeadm-config.yaml,修改

localAPIEndpoint:advertiseAddress

nodeRegistration:name

# 增加kubelet驱动设置为systemd

---

kind: KubeletConfiguration

apiVersion: kubelet.config.k8s.io/v1beta1

cgroupDriver: systemd

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 10.0.2.15
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///var/run/containerd/containerd.sock
  imagePullPolicy: IfNotPresent
  name: k8s-node1
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.aliyuncs.com/google_containers  #指定阿里云镜像仓库地址
kind: ClusterConfiguration
kubernetesVersion: 1.25.2
networking:
  dnsDomain: cluster.local
  serviceSubnet: 10.96.0.0/16
scheduler: {}

---

kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: systemd
  • 安装master

        命令:sudo kubeadm init --config kubeadm-config.yaml --v=5 # 安装,输出详细日志,保存执行

  • 按照上述执行结果,进行kuke配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • k8s重置

        执行命令:kubeadm reset -f

  • kubelet 异常处理:containerd重启
rm /etc/containerd/config.toml sudo systemctl restart containerd
4.3.3、测试 kubectl

执行命令:kubectl get nodes 查看所有节点

4.4、master 安装pod网络插件

  • flannel插件

        kubectl apply -f kube-flannel.yml

# fnannel 安装缺失subnet.envwen文件
vi /run/flannel/subnet.env # 添加如下内容
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

#flannel网络插件时发现flannel一直处于CrashLoopBackOff状态
# kube-controller-manager.yaml增加参数
vi /etc/kubernetes/manifests/kube-controller-manager.yaml 
--allocate-node-cidrs=true
--cluster-cidr=10.244.0.0/16

4.5、加入node 节点

  • master操作
#查看节点
kubectl get pods

#定义node角色
kubectl label node k8s-node2 node-role.kubernetes.io/worker=worker
kubectl label node k8s-node3 node-role.kubernetes.io/worker=worker

# 查看所有空间的节点
kubectl get ns 
kubectl get pods --all-namespaces
# 查看node节点日志
kubectl logs node-name  -n namespace

五、其他

k8s.gcr.io/pause:3.6拉取超时处理

docker pull rancher/pause:3.6

docker tag rancher/pause:3.6 k8s.gcr.io/pause:3.6文章来源地址https://www.toymoban.com/news/detail-774343.html

到了这里,关于K8S虚拟机安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Docker的K8s(Kubernetes)集群部署

    开始搭建k8s集群 三台服务器修改主机名称 关闭对话窗口,重新连接 三台主机名称呢就修改成功了。 接下来修改每台节点的 hosts 文件 所有节点关闭 setLinux 查看是否关闭成功 为每个节点添加 k8s 数据源 如果安装docker数据源找不到yum-config 所有节点安装kubelet kubelet安装中… k

    2024年02月08日
    浏览(97)
  • 容器技术,1. Docker,2. Kubernetes(K8s):

    目录 容器技术 1. Docker: 2. Kubernetes(K8s): Docker和Kubernetes 容器的主要应用场景有哪些? 有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。 容器技术指通过在物理主机操作系统上创建一个一个

    2024年02月11日
    浏览(66)
  • 手把手教你在虚拟机中部署Kubernetes集群(K8S)

    我们在上面:VM部署CentOS并且设置网络 部署好了服务器。接下来需要准备三个服务器分别为 master节点:master  192.168.171.7 node节点:node1   192.168.171.6 node节点:node2  192.168.171.4 此步骤需要启动三台虚拟机,并且使用xshell进行连接 使用执行多个的命令来在每个服务器同步执行

    2024年04月14日
    浏览(45)
  • Kind | Kubernetes in Docker 把k8s装进docker!

    有点像杰克船长的黑珍珠 目录 零、说明 一、安装 安装 Docker 安装 kubectl 安装 kind 二、创建/切换/删除集群 创建 切换 删除 将镜像加载到 kind 群集中 官网:kind Kind: Kubernetes in Docker 的简称。kind 是一个使用 Docker 容器“节点”运行本地 Kubernetes 集群的工具。kind 主要设计用于

    2024年02月16日
    浏览(35)
  • 【k8s】kubernets和docker之间版本的对应关系

    如果查看1.18版本k8s对应的docker支持的最新版本 https://github.com/kubernetes/kubernetes/blob/release-1.18/build/dependencies.yaml 查看最新版本k8s对应的docker支持的最新版本 https://github.com/kubernetes/kubernetes/blob/master/build/dependencies.yaml

    2024年02月11日
    浏览(44)
  • kubernetes(k8s)安装详细教程

    闲来无事,搭一个k8s集群玩玩 最近一次搭建:全过程耗时1.5H 新建3个虚拟机,详情见:虚拟机新建 主机硬件配置说明 最低要求:2c2g 需求 CPU 内存 硬盘 角色 主机名 值 4C 8G 100GB master master01 值 4C 8G 100GB worker(node) worker01 值 4C 8G 100GB worker(node) worker02 由于本次使用3台主机完成

    2024年02月06日
    浏览(50)
  • kubernetes(k8s) 安装与部署

    版本:kubernetes(k8s) v1.28.2 并准备主机名映射。 设置好静态IP。 在Ubuntu的/etc/hosts文件中,填入如下内容。也可以在Windows的C:WindowsSystem32driversetchosts文件中填写相同内容。 关闭防火墙和SELinux。 关闭防火墙命令如下。 可使用命令 systemctl status firewalld 查看防火墙状态。 关闭

    2024年02月03日
    浏览(63)
  • Kubernetes(k8s)集群安装部署

    名称 IP 系统 配置 主控节点 192.168.202.101 CentOS 7.9.2009 2核4G 工作节点1 192.168.202.102 CentOS 7.9.2009 2核4G 工作节点2 192.168.202.103 CentOS 7.9.2009 2核4G 2.1 升级操作系统内核 导入elrepo gpg key 安装elrepo YUM源仓库 安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本 设置grub2默认引导为0 重

    2024年02月10日
    浏览(74)
  • Kubernetes(K8S) kubesphere 安装

    安装KubeSphere最好的方法就是参考官方文档,而且官方文档是中文的。 官网地址:https://kubesphere.com.cn/ https://github.com/kubesphere/kubesphere/blob/master/README_zh.md Kubernetes(K8S) kubesphere 介绍 安装提前条件: 使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图 使用 Kubeadm 部署 Kubernetes(K8S) 安装

    2024年02月01日
    浏览(93)
  • Kubernetes - 一键安装部署 K8S(附:Kubernetes Dashboard)

    不知道大伙是如何安装 K8s,特别还是集群的时候,我上一次安装搭建的时候,那个恶心到我了,真的是一步一个脚印走完整个搭建流程,爬了不少坑。 于是,才有了今天的文章,到底有没有可以一键完美部署 k8s 并且附带 Dashboard……?那这么问了肯定是有的,否则岂不是在

    2024年02月03日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包