云计算项目九:K8S安装

K8S安装

Kube-master安装

按照如下配置准备云主机

防火墙相关配置:禁用selinux,禁用swap,且在firewalld-*。上传kubernetes.zip 到跳板机

配置yum仓库(跳板机)

shell 复制代码
跳板机主机配置k8s软件源服务端
[root@js ~]# yum -y install vsftpd
[root@js ~]# mkdir /var/ftp/localrepo
[root@js ~]# systemctl restart vsftpd
[root@js ~]# cd project3/jumpserver/
[root@js kubernetes]# cp -a v1.17.6/k8s-install/ /var/ftp/localrepo/
[root@js kubernetes]# cd /var/ftp/localrepo/
[root@js localrepo]# createrepo . # 如果之前是做好的 可以createrepo --update . 更新
master主机更改yum配置文件
[root@master ~]# vim /etc/yum.repos.d/local.repo
[k8s]
name=k8s
baseurl=ftp://192.168.1.252/localrepo
enabled=1
gpgcheck=0
同步到node1,node2,node3
[root@master ~]# scp /etc/yum.repos.d/local.repo 192.168.1.31:/etc/yum.repos.d/
[root@master ~]# scp /etc/yum.repos.d/local.repo 192.168.1.32:/etc/yum.repos.d/
[root@master ~]# scp /etc/yum.repos.d/local.repo 192.168.1.33:/etc/yum.repos.d/
跳板机js主机配置docker的软件源服务端
[root@js localrepo]# cp /root/project3/jumpserver/docker-ce.rpm ./k8s-install/
[root@js localrepo]# createrepo --update .
安装软件包(master)
安装kubeadm、kubectl、kubelet、docker-ce
[root@master ~]# yum install -y kubeadm kubelet kubectl docker-ce
[root@master ~]# mkdir -p /etc/docker
[root@master ~]# vim /etc/docker/daemon.json
{
	"exec-opts":["native.cgroupdriver=systemd"] # 设置驱动
}
[root@master ~]# systemctl enable --now docker kubelet
[root@master ~]# docker info | grep Cgroup
Cgroup Driver:systemd
[root@master ~]# vim /etc/sysctl.d/k8s.conf # 开启路由转发

镜像导入私有仓库


测试私有仓库是否可以正常使用 node-0001 node-0002 node-0003 同样操作

Tab键设置

shell 复制代码
master主机设置tab键
[root@master ~]# kubectl completion bash > /etc/bash_completion.d/kubectl
[root@master ~]# kubeadm completion bash > /etc/bash_completion.d/kubeadm
[root@master ~]# exit 

安装IPVS代理软件包

shell 复制代码
[root@master ~]# yum install -y ipvsadm ipset

配置主机名

shell 复制代码
[root@master ~]# vim /etc/hosts
192.168.1.21 master
192.168.1.31 node-0001
192.168.1.32 node-0002
192.168.1.33 node-0003
192.168.1.100 harbor

使用kubeadm部署

应答文件在js主机的 project3/kubernetes/v1.17.6/config目录下

验证安装结果

shell 复制代码
[root@master ~]# kubectl version
[root@master ~]# kubectl get cs 

计算节点的安装

获取token

shell 复制代码
# 创建token
[root@master ~]# kubeadm token create --ttl=0 --print-join-command
[root@master ~]# kubeadm token list
# 获取token_hash
[root@master ~]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der | openssl dgst -sha256 -hex

node安装 在sj主机 使用ansible执行node节点安装

shell 复制代码
[root@js ~]# cd project3/kubernetes/
[root@js kubernetes]# unzip ansible.zip
[root@js kubernetes]# cd ansible/
[root@js ansible]# yum -y install ansible-2.4.2.0-2.e17.noarch.rpm
[root@js ~]# ssh-keygen
[root@js ~]# for i in 192.168.1.{31..33}; do ssh-copy-id 192.168.1.{i} ; done
[root@js ~]# cd /root/project3/kubernetes/v1.17.6/node-install/
[root@js node-install]# vim files/hosts
shell 复制代码
[root@js node-install]# vim files/daemon.json
{
	"exce-opts":["native.cgroupdriver=systemd"]
}
[root@js node-install]# vim node_install.yaml
...
	vars:
		master:"192.168.1.21:6443"
		token:"xxxx"
		token_hash:"xxxxx"
...
[root@js node-install]# ansible-playbook node_install.yaml

网络插件安装配置

上传镜像到私有仓库

修改配置文件并安装

验证结果

相关推荐
音符犹如代码14 分钟前
Docker 一键部署带有 TimescaleDB 插件的 PostgreSQL
java·运维·数据库·后端·docker·postgresql·容器
YuanDaima20481 小时前
Docker 工程化安装与核心命令实战
运维·人工智能·docker·微服务·容器·bash
号码认证服务2 小时前
客户看到来电显示公司名会更愿意接听吗?企业号码认证提升ROI
服务器·网络·c++·经验分享·智能手机·云计算·php
牛奔3 小时前
在 Docker 容器里测试外部域名延迟
运维·docker·容器
打码人的日常分享3 小时前
大模型及智能体安全风险防范与治理策略(PPT)
运维·网络·数据库·安全·云计算·制造
Elastic 中国社区官方博客3 小时前
Kubernetes 可观测性:用于更安全 EKS 故障排查的 MCP 专家 agents
大数据·elasticsearch·搜索引擎·云原生·容器·kubernetes·全文检索
zhojiew3 小时前
在AWS云上使用EC2 嵌套虚拟化实例部署Cube Sandbox的实践和问题
云计算·aws
jran-4 小时前
Docker 数据卷&应用部署
运维·docker·容器
jran-4 小时前
Docker dockerfile镜像制作&compose服务编排&私有仓库
java·docker·容器
云达闲人4 小时前
搭建DevOps企业级仿真实验环境:012容器运行时 containerd 详解
运维·kubernetes·containerd·devops·proxmox ve·容器运行时·容器部署