安装k8s集群

我这里搭建K8S集群使用的是本地的虚拟机,准备三台2核4G的虚拟机(内存至少2G以上),操作系统选择用centos 7以上 版本,先在三台机器上装好docker(docker的安装参考其他资料)

在三台机器上面分别执行以下命令

1、关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

2、关闭 selinux

sed ‐i 's/enforcing/disabled/' /etc/selinux/config

setenforce 0

3、关闭 swap

swapoff ‐a # 临时关闭

vim /etc/fstab # 永久关闭

#注释掉swap这行

/dev/mapper/centos‐swap swap swap defaults 0 0

systemctl reboot #重启生效

free ‐m #查看下swap交换区是否都为0,如果都为0则swap关闭成功

4、给三台机器分别设置主机名

hostnamectl set‐hostname

第一台:k8s‐master

第二台:k8s‐node1

第三台:k8s‐node2

5、在 k8s‐master机器添加hosts,执行如下命令,ip需要修改成你自己虚拟机器的ip

cat >> /etc/hosts << EOF

192.168.1.20 k8s‐master

192.168.1.21 k8s‐node1

192.168.1.22 k8s‐node2

EOF

6、将桥接的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 # 生效

7、设置时间同步

yum install ntpdate ‐y

ntpdate time.windows.com

8、添加k8s yum源

cat > /etc/yum.repos.d/kubernetes.repo << EOF

kubernetes

name=Kubernetes 4 baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes‐el7‐x 86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yumkey.gpg

https://mirrors.aliyun.com/kubernetes/yum/doc/rpm‐package‐key.gpg

EOF

9、如果之前安装过k8s,先卸载旧版本

yum remove ‐y kubelet kubeadm kubectl

10、查看可以安装的版本

yum list kubelet ‐‐showduplicates | sort ‐r

11、安装kubelet、kubeadm、kubectl 指定版本,我们使用kubeadm方式安装k8s集群

yum install ‐y kubelet‐1.18.0 kubeadm‐1.18.0 kubectl‐1.18.0

12、开机启动kubelet

systemctl enable kubelet

systemctl start kubelet

在k8s主节点上面执行初始化操作

kubeadm init ‐‐apiserver‐advertise‐address=192.168.1.20 ‐‐image‐reposit ory 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

执行完成后在控制台上面能看到successfully 基本上就成功了

在k8s主节点执行以下命令:

1 #配置使用 kubectl 命令工具(类似docker这个命令),执行上图第二个红框里的命令

mkdir ‐p $HOME/.kube

sudo cp ‐i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown (id ‐u):(id ‐g) $HOME/.kube/config

查看kubectl是否能正常使用

kubectl get nodes

安装 Pod 网络插件

kubectl apply ‐f https://docs.projectcalico.org/manifests/calico.yaml

如果上面这个calico网络插件安装不成功可以试下下面这个

kubectl apply ‐f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kubeflannel.yml

在所有k8s从节点机器执行下面的命令:

kubeadm join 192.168.65.160:6443 ‐‐token hbovty.6x82bkdlsk6dfy32 \ ‐‐discovery‐token‐ca‐cert‐hash sha256:659511b431f276b2a5f47397677b1dff74 838ae5eb18e24135e6dae1b8c45840

在k8s主机器执行查看节点命令:

kubectl get nodes

至此完成了本地虚拟机k8s集群的安装

相关推荐
lihongbao804 分钟前
kuboard v3创建用户分配命名空间
kubernetes·kuboard
江湖有缘3 小时前
Docker部署HamsterBase Tasks任务管理工具
运维·docker·容器
很楠爱上3 小时前
Docker 从入门到实战:核心概念、微服务编排与环境移植完全指南
docker·微服务·容器
Qres8213 小时前
docker & WSL & Ubuntu安装记录
ubuntu·docker·容器·wsl
java_cj4 小时前
从kubectl源码学pprof:生产环境性能分析的实战指南
运维·云原生·容器·kubernetes
吠品4 小时前
Docker 构建时网络超时拉不到镜像?一些排查和配置记录
云原生·eureka
爱吃龙利鱼6 小时前
K8s 监控实战:victoria-metrics-k8s-stack 高可用部署,资源占用直降 70%,比 Prometheus 省 5 倍磁盘
docker·kubernetes·prometheus
STDD6 小时前
Kubeflow ML 流水线 K8s 部署教程:机器学习工作流编排全攻略
机器学习·容器·kubernetes
牛奶咖啡136 小时前
KVM虚拟化与企业应用实践——通过网络介质配合ks自动应答文件实现自动安装KVM虚拟机
云原生·qemu·kvm·系统网络引导与ks自动应答环境·远程资源+ks文件安装虚拟机·通过网络介质引导自动安装虚拟机·qemu的总线类型详解
爱吃龙利鱼6 小时前
k8s1.36部署helm和storageclass
云原生·容器·kubernetes