云计算项目九: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

网络插件安装配置

上传镜像到私有仓库

修改配置文件并安装

验证结果

相关推荐
运维开发故事2 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson4 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生4 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美6 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
程序员老赵6 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
武子康9 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
2601_9618752412 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj12 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes