欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Kubernetes(K8s)

时间:2023-06-28
Kubernetes(K8s)_00_搭建环境

安装

Kubernetes集群的安装 安装 Kubernetes集群的安装

如:安装1个Master节点和3个Node节点的Kubernetes集群

主机名IP系统master192.168.1.107CentOS 7node1192.168.1.108CentOS 7node2192.168.1.110CentOS 7

//以下步骤IP根据实际情况修改

(1)关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

1)所有节点均需关闭防火墙(一般用于内部网络,若外网则需手动设置)


(2)关闭SELinux

vim /etc/sysconfig/selinux

1)所有节点均需关闭SELinux(Kubernetes不支持SELinux)

2)此设置为重启后生效,立即生效需执行“setenforce 0”


(3)关闭交换分区

vim /etc/fstab

1)所有节点均需关闭交换分区(Kubernetes为了性能,不允许使用交换分区)

2)此设置为重启后生效,立即生效需执行“swapoff -a”


(4)Master节点和Node节点配置域名解析

vim /etc/hosts


(5)添加Kubernetes的YUM源

cat > /etc/yum.repos.d/kubernetes.repo << EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOF

1)默认为国外的YUM源,可使用阿里云的加快安装;


(6)安装容器引擎docker

1)下载安装所需安装包:yum install -y yum-utils device-mapper-persistent-data lvm2

2)指定镜像仓库:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)安装docker:yum install -y docker-ce docker-ce-cli containerd.io

4)若Docker后无法拉取镜像,可在/etc/docker/daemon.json文件添加以下内容:

{"registry-mirrors": ["http://hub-mirror.c.163.com"]}{"registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]}

// CentOS8中预安装了podman容器(与docker冲突)
卸载podman命令:yum remove -y podman

//安装containerd.io命令:yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm


(7)Master节点和Node节点配置并启动docker,且设置为开机自启

1)vim /usr/lib/systemd/system/docker.service

在ExecStart后添加“–exec-opt native.cgroupdriver=systemd”

2)systemctl daemon-reload

3)systemctl start docker

4)systemctl enable docker


(8)安装Kubernetes软件

Master节点:

yum -y install kubeadm kubelet kubectl

Node节点

yum -y install kubeadm kubelet

1)kubelet:节点代理

2)kubeadm:部署多节点Kubernetes集群的工具

3)kubectl:和Kubernetes交互的命令行工具


(9)Master节点启动kubelet,并设置为开机自启

systemctl start kubelet

systemctl enable kubelet

1)仅Master节点启动


(10)Master节点启用NET.BRIDGE.BRIDGE-NF-CALL-IPTABLES内核选项

sysctl -w net.bridge.bridge-nf-call-iptables=1

echo "net.bridge.bridge-nf-call-iptables=1" > /etc/sysctl.d/k8s.conf

1)若报错,可运行“modprobe br_netfilter”(添加模块)


(11)初始化Master节点

kubeadm init --apiserver-advertise-address=192.168.1.107 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

1)部署必要组件(etcd、API服务器、Scheduler和Controller Manager等);

2)需记录初始化完成后的令牌,以使其他节点加入


(12)Node节点使用Master节点生成的身份令牌加入

1)Node1节点加入;

2)Node2节点加入


(13)设置Master节点的环境变量(使Master节点可调用kubectl命令)

mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/configecho "export KUBEConFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profilesource ~/.bash_profile


1)若持续报错,可调用export命令添加至环境变量

export KUBEConFIG=/etc/kubernetes/admin.conf


(14)Master节点添加网络组件,并调用

1)下载flannel.yml文件:

wget https://raw.githubusercontent.com/coreos/flannel/master/documentation/kube-flannel.yml

//若无法连接,则在/etc/hosts添加:“199.232.68.133 raw.githubusercontent.com”

2)添加:kubectl apply -f kube-flannel.yml

//若无法下载,则可手动编写kube-flannel.yml文件


(15)Master节点验证

1)验证相关组件:kubectl get pod -n kube-system

2)验证节点:kubectl get node

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。