当前位置: 首页 > news >正文

anolis 8.9安装k8s

关闭防火墙

sudo systemctl disable firewalld --now

关闭 selinux

setenforce 0
sudo sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

关闭 swap

sudo swapoff -a
sudo sed -ri ‘s/.swap./#&/’ /etc/fstab

配置内核参数

sudo tee /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

#配置k8s的yum源
sudo tee /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
EOF

添加主机域名映射

sudo nano /etc/hosts

192.168.6.10 k8s-master-10
192.168.6.12 k8s-node-12
192.168.6.13 k8s-node-13

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum -y install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io docker-compose-plugin

配置docker命令补全
yum install -y bash-completion
source /usr/share/bash-completion/completions/docker

#重新打开shell 终端

nano /etc/docker/daemon.json

{"registry-mirrors": ["https://docker.anyhub.us.kg"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2"
}

加载 Docker 配置

sudo systemctl daemon-reload
systemctl start docker

Docker 服务开机启动

sudo systemctl enable docker --now

3、安装kubectl、kubelet、kubeadm(所有节点)

安装kubectl、kubelet、kubeadm

sudo yum install -y kubelet-1.23.17 kubeadm-1.23.17 kubectl-1.23.17

设置 kubelet 开机启动

sudo systemctl enable kubelet --now

systemctl start kubelet

systemctl enable kubelet

部署k8s的master和node节点

部署master节点,在192.168.6.10执行

初始化master节点

kubeadm init --apiserver-advertise-address=192.168.6.10 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --service-cidr=10.140.0.0/16 --pod-network-cidr=10.240.0.0/16

master下执行:

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

安装 calico 网络(主节点)

下载配置文件

curl https://docs.projectcalico.org/v3.15/manifests/calico.yaml -O

调整为自己的网络配置

nano calico.yaml

找到3590行

# - name: CALICO_IPV4POOL_CIDR
#   value: "192.168.0.0/16"

改为

- name: CALICO_IPV4POOL_CIDRvalue: "10.240.0.0/16"

应用部署

kubectl apply -f calico.yaml

8、安装 dashboard(主节点)

下载配置文件

curl https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc7/aio/deploy/recommended.yaml -O

调整配置

nano recommended.yaml
————————————————
找到 kind: Service
metadata:
name: kubernates-dashborad-web中
Spec:
ports:
- name: web
port: 8000

修改为:
spec:
type:NodePort
ports:

  • name: web
    port:8000
    nodePort: 30000

应用配置
kubectl apply -f recommended.yaml
创建 dashboard 用户
nano dashboard-user.yaml

将以下内容写入文件

apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard

应用配置

kubectl apply -f dashboard-user.yaml

登录 dashboard
在浏览其中输入https://192.168.6.10:30000/

kubectl -n kubernetes-dashboard get svc

获取登录 token
#kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath=“{.secrets[0].name}”) -o go-template=“{{.data.token | base64decode}}”
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk ‘{print $1}’)

输入token,登录

可能会提示:你的连接不是专用连接怎么解决(你的连接不是专用连接)

当遇到浏览器显示’你的连接不是专用连接’时,可通过启用Windows Defender防火墙或者在英文输入状态下,按thisisunsafe组合键来解决。此方法利用了Chromium内建的安全后门,用于忽略证书错误。

部署node节点,在192.168.6.12和13执行

wugv28.gipgeggf7g3p56o3过期的话:

在master执行kubeadm token create,将新的token替换进原来的kubeadm join中

没过期:kubeadm token list 获取

获取ca证书hash:

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’

kubeadm join 192.168.6.10:6443 --token mm1mey.txyjlvet070knjlh --discovery-token-ca-cert-hash sha256:5d562dd49412a9e24b6e97363facf82293ddd16cc9fd23d239f4fd1de71550c9 --v=2

kubectl get nodes 查看集群状态 ,master中执行。

kubectl delete pod coredns-58cc8c89f4-rd9lz -n kube-system

在Kubernetes集群中创建一个pod,验证是否正常运行
创建一个pod,开放对外端口访问,这里会随机映射一个端口

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

kubectl get pod,svc
已经可以看到nginx以NodePort的形式部署
如例子:80:30287/tcp
可以在http://192.168.6.12:30287或者 http://192.168.6.13:30287 访问nginx站点了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【C++11】右值引用的深度解析(什么是右值引用?它有什么作用?能应用在那些场景?)
  • 使用MYSQL函数问题
  • 最新图像修复论文汇总(2024年以来)(三)
  • Qt如何封装工具
  • 原型与原型链与继承
  • uniapp 日常业务 随便写写 源码
  • 嵌入式软件--模电基础 DAY 2
  • 探索数字媒体产业园区的未来之路
  • 电子秤方案低功耗蓝牙芯片CST92P15
  • 结构体和类
  • PRVF-4037 : CRS is not installed on any of the nodes
  • zdpgo_gin_graceful 为zdpgo_gin框架打造的用于实现优雅退出的框架,当你需要程序优雅退出的时候可以考虑使用此框架
  • PCDN业务推荐
  • Transformer架构;Encoder-Decoder;Padding Mask;Sequence Mask;
  • 【区块链+金融服务】区块链在仓储融资的创新应用 | FISCO BCOS应用案例
  • [译]Python中的类属性与实例属性的区别
  • Django 博客开发教程 8 - 博客文章详情页
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • isset在php5.6-和php7.0+的一些差异
  • js继承的实现方法
  • Laravel 菜鸟晋级之路
  • Vue2 SSR 的优化之旅
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 聊聊flink的TableFactory
  • 通过几道题目学习二叉搜索树
  • 写给高年级小学生看的《Bash 指南》
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #Linux(权限管理)
  • #职场发展#其他
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (3)(3.5) 遥测无线电区域条例
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二开)Flink 修改源码拓展 SQL 语法
  • (回溯) LeetCode 131. 分割回文串
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)为C# Windows服务添加安装程序
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .Net Winform开发笔记(一)
  • .net下简单快捷的数值高低位切换
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @RequestBody的使用
  • @RequestMapping处理请求异常
  • @Transactional 参数详解
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [ABC275A] Find Takahashi 题解