centos7使用kubeadm部署k8s(单机/集群)(代码片段)

cuiran cuiran     2023-02-21     687

关键词:

一、环境准备

1. 初始化环境

关闭防火墙

systemctl stop firewalld &&
systemctl disable firewalld

关闭 swap

swapoff -a && sed -i '/ swap / s/^\\(.*\\)$/#\\1/g' /etc/fstab

关闭 selinux

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

时间同步

yum -y install ntpdate
ntpdate time.windows.com
hwclock --systohc

将桥接的IPv4流量传递到iptables的链

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system  # 生效

2. 安装 Docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
# yum list docker-ce --showduplicates | sort -r
yum -y install docker-ce-20.10.6-3.el7
systemctl enable docker && systemctl start docker
docker --version
# 换成阿里Docker仓库
cat > /etc/docker/daemon.json << EOF

  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]

EOF
systemctl restart docker
docker info

3. 安装 kubeadm、kubelet 和 kubectl

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 -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

systemctl enable kubelet

二、单机部署

# 设置hostname
hostnamectl set-hostname k8s-master210
cat >> /etc/hosts << EOF
10.206.0.15 k8s-master
EOF

# 初始化 Master
kubeadm init \\
--apiserver-advertise-address=10.206.0.15 \\
--image-repository registry.aliyuncs.com/google_containers \\
--kubernetes-version v1.18.0 \\
--service-cidr=10.96.0.0/12 \\
--pod-network-cidr=10.244.0.0/16

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 去除污点
kubectl describe node k8s-master210 | grep Taints
kubectl taint nodes k8s-master210 node-role.kubernetes.io/master-

# 部署CNI网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl get pods -n kube-system  # 查看运行状态

结果如图所示

三、集群部署

设置 hosts

# 设置主机名
hostnamectl set-hostname k8s-master  # k8s-node1 / k8s-node2
hostname

# 配置 hosts(只在master执行)
cat >> /etc/hosts << EOF
10.206.0.15 k8s-master
10.206.0.16 k8s-node1
10.206.0.17 k8s-node2
EOF

初始化 Master

kubeadm init \\
--apiserver-advertise-address=10.206.0.15 \\
--image-repository registry.aliyuncs.com/google_containers \\
--kubernetes-version v1.18.0 \\
--service-cidr=10.96.0.0/12 \\
--pod-network-cidr=10.244.0.0/16

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes

初始化 Node

kubeadm join 10.206.0.15:6443 --token 0bgtnj.6xl01261s02wqc7z \\
    --discovery-token-ca-cert-hash sha256:6553e9758f5eb18d81e793e936fffb7a168c943a6429de0834e1946033ce6f80
kubeadm reset
echo 1 > /proc/sys/net/ipv4/ip_forward

部署 CNI 网络插件(Master)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl get pods -n kube-system  # 查看运行状态

四、测试

kubectl create deployment nginx --image=nginx  # 创建一个nginx
kubectl expose deployment nginx --port=80 --type=NodePort  # 对外暴露端口
kubectl get pod,svc

使用kubeadm部署k8s集群01-初始化

使用kubeadm部署k8s集群01-初始化2018/1/3节点配置masterx3OSversion:centos7swapoff###阿里云默认:offhosts###每个节点上配置:[[email protected]~]#cat/etc/hosts###k8smaster@envDev10.10.9.67tvm-0010.10.9.68tvm-0110.10.9.69tvm-02 查看详情

使用kubeadm部署k8s集群

一.部署前准备1.将CentOS7的Linux内核便捷地升级到最新版#导入ELRepo仓库的公钥rpm--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org#为yum安装ELRepo仓库rpm-Uvhhttp://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm#查看可用版本yum 查看详情

使用kubeadm部署k8s安装

...满足以下几个条件:一台或多台机器,操作系统CentOS7.x-86_x64硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入... 查看详情

k8s部署springboot项目

开篇基于前面的文章CentOS7使用kubeadm部署K8s(单机/集群)介绍了k8s的部署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜... 查看详情

k8s部署springboot项目(代码片段)

开篇基于前面的文章CentOS7使用kubeadm部署K8s(单机/集群)介绍了k8s的部署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜... 查看详情

k8s部署--kubeadm(代码片段)

一、环境准备操作系统Centos7.4主机信息kb-001192.168.0.11kb-002192.168.0.12kb-003192.168.0.13添加kube-master到kube-node的秘钥认证ssh-keygenssh-copy-id主机名安装dockeryuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-confi 查看详情

使用kubeadm部署k8s(代码片段)

使用Kubeadm部署k8s本文参考官网教程,安装过程一波三折,几次想放弃,但又不甘心,一边翻着源码一边看着教程,最终才有了下面的内容。环境要求1.Ubuntu16.042核4G注意这里最好是2核,部署安装时发现单核导致ingress-nginx部分pod... 查看详情

使用kubeadm快速部署一个k8s集群

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:#创建一个Master节点$kubeadminit#将一个Node节点加入到当前集群中$kubeadmjoin<Master节点的IP和端口>1.安装要求在... 查看详情

云原生|kubernetes-kubeadm部署k8s集群(超详细)(代码片段)

...Node节点加入到当前集群中$kubeadmjoin安装Kubeadm实验环境:CentOS7.9前期准备确认linux内核版本在3.10以上确认Cgroups模块正常确 查看详情

centos7使用kubeadm在线安装k8s(代码片段)

硬件要求x86-64processor2CPU2GBRAM10GBfreediskspaceRedHatEnterpriseLinux7.x+,CentOS7.x+,Ubuntu16.04+,orDebian9.x+来自<https://docs.projectcalico.org/getting-started/kubernetes/quickstart>实验环境主机名IP角色操作系 查看详情

docker&k8s---通过kubeadm快速部署k8s

文章目录Docker&K8s---通过kubeadm快速部署K8s环境准备环境初始化开始安装安装docker添加kubernetes的yum软件源安装kubeadm,kubelet和kubectl部署KubernetesMaster节点加入集群安装网络插件测试Kubernetes集群在从节点上也可以使用kubectl其他错误... 查看详情

生产部署高可用k8s集群-kubeadm

软件环境:软件版本操作系统CentOS7.8_x64(mini)Docker19-ceKubernetes1.20服务器整体规划:角色IP其他单装组件k8s-master1192.168.40.180docker,etcd,keepalivedk8s-master2192.168.40.181docker,etcd,keepalivedk8s-master3192.168.40.183docker 查看详情

5分钟用kubeadm部署k8s(代码片段)

5分钟用kubeadm部署k8s玩了两年rke,想试试原生k8s,没想到部署起来还挺容易的,直接上干货,有问题留言。文章目录5分钟用kubeadm部署k8s配置主机安装依赖kubeadmkubeletkubectldocker配置kubeadm并拉起k8s使用kubectl添加Node添... 查看详情

kubernetes系列03—kubeadm安装部署k8s集群

...8S搭建安装示意图 1.3安装kubernetes方法1.3.1方法1:使用kubeadm安装kubernetes(本文演示的就是此方法) 优点:你只要安装kubeadm即可;kubeadm会帮你自动部署安装K8S集群;如:初始化K8S集群、配置各个插件的证书认证、部署集... 查看详情

k8s摸索之kubeadm快速部署(代码片段)

一、虚拟机配置1、在WMware里装上3台虚拟机,CentOS7最小化系统,配置好独立IP,截图如下:     2、修改虚拟机网卡配置,然后启动网卡,再查看ip已经固定#vi/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=staticONBOOT=yesNM... 查看详情

使用kubeadm快速部署一个k8s集群(代码片段)

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:#创建一个Master节点$kubeadminit#将一个Node节点加入到当前集群中$kubeadmjoin<Master节点的IP和端口>1.安装要... 查看详情

使用kubeadm部署k8s集群09-配置worker节点

使用kubeadm部署k8s集群09-配置worker节点2018/1/4配置worker节点初始化加入集群切换worker节点连接到apiserver的LB入口调整集群中节点角色和调度策略初始化/etc/hosts###k8smaster@envDev10.10.9.67tvm-0010.10.9.68tvm-0110.10.9.69tvm-02k8sworker@envDev10.10.9.7 查看详情

使用kubeadm快速部署一个k8s集群(亲测有效)

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:#创建一个Master节点$kubeadminit#将一个Node节点加入到当前集群中$kubeadmjoin<Master节点的IP和端口>安装要求在... 查看详情