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

k8s 安装

文章目录

  • k8s 客户端
  • 安装k8s集群
    • minikube
    • kind
    • kubeadm
  • 验证

k8s 客户端

用于连接k8s集群,建议下载1.23.x的版本,其他的版本本地运行可能会有莫名其妙的报错

https://dl.k8s.io/release/v1.23.16/bin/linux/amd64/kubectl

安装k8s集群

minikube

Minikube 会在当前宿主机上启动一个最小的 K8S 集群,用于实验性质,全过程比较傻瓜,一键安装即可

https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/

kind

https://kind.sigs.k8s.io/docs/user/quick-start/#installing-with-a-package-manager

kubeadm

https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

集群启动

kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers  --kubernetes-version v1.23.15kubeadm init \
--kubernetes-version v1.23.15 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16

需要额外安装网络插件flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kube-flannel.yml的内容如下

---
kind: Namespace
apiVersion: v1
metadata:name: kube-flannellabels:k8s-app: flannelpod-security.kubernetes.io/enforce: privileged
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:labels:k8s-app: flannelname: flannel
rules:
- apiGroups:- ""resources:- podsverbs:- get
- apiGroups:- ""resources:- nodesverbs:- get- list- watch
- apiGroups:- ""resources:- nodes/statusverbs:- patch
- apiGroups:- networking.k8s.ioresources:- clustercidrsverbs:- list- watch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:labels:k8s-app: flannelname: flannel
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: flannel
subjects:
- kind: ServiceAccountname: flannelnamespace: kube-flannel
---
apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: flannelname: flannelnamespace: kube-flannel
---
kind: ConfigMap
apiVersion: v1
metadata:name: kube-flannel-cfgnamespace: kube-flannellabels:tier: nodek8s-app: flannelapp: flannel
data:cni-conf.json: |{"name": "cbr0","cniVersion": "0.3.1","plugins": [{"type": "flannel","delegate": {"hairpinMode": true,"isDefaultGateway": true}},{"type": "portmap","capabilities": {"portMappings": true}}]}net-conf.json: |{"Network": "10.244.0.0/16","Backend": {"Type": "vxlan"}}
---
apiVersion: apps/v1
kind: DaemonSet
metadata:name: kube-flannel-dsnamespace: kube-flannellabels:tier: nodeapp: flannelk8s-app: flannel
spec:selector:matchLabels:app: flanneltemplate:metadata:labels:tier: nodeapp: flannelspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/osoperator: Invalues:- linuxhostNetwork: truepriorityClassName: system-node-criticaltolerations:- operator: Existseffect: NoScheduleserviceAccountName: flannelinitContainers:- name: install-cni-pluginimage: docker.io/flannel/flannel-cni-plugin:v1.2.0command:- cpargs:- -f- /flannel- /opt/cni/bin/flannelvolumeMounts:- name: cni-pluginmountPath: /opt/cni/bin- name: install-cniimage: docker.io/flannel/flannel:v0.22.3command:- cpargs:- -f- /etc/kube-flannel/cni-conf.json- /etc/cni/net.d/10-flannel.conflistvolumeMounts:- name: cnimountPath: /etc/cni/net.d- name: flannel-cfgmountPath: /etc/kube-flannel/containers:- name: kube-flannelimage: docker.io/flannel/flannel:v0.22.3command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgrresources:requests:cpu: "100m"memory: "50Mi"securityContext:privileged: falsecapabilities:add: ["NET_ADMIN", "NET_RAW"]env:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespace- name: EVENT_QUEUE_DEPTHvalue: "5000"volumeMounts:- name: runmountPath: /run/flannel- name: flannel-cfgmountPath: /etc/kube-flannel/- name: xtables-lockmountPath: /run/xtables.lockvolumes:- name: runhostPath:path: /run/flannel- name: cni-pluginhostPath:path: /opt/cni/bin- name: cnihostPath:path: /etc/cni/net.d- name: flannel-cfgconfigMap:name: kube-flannel-cfg- name: xtables-lockhostPath:path: /run/xtables.locktype: FileOrCreate

验证

kubectl version --client
kubectl cluster-info
http://www.lryc.cn/news/178917.html

相关文章:

  • 红队打靶:THE PLANETS: MERCURY打靶思路详解(vulnhub)
  • 【网络协议】IP
  • Python 布尔类型
  • iOS设备管理器iMazing比iTunes好用吗?有哪些优势
  • Opengl之深度测试
  • 利用ICG-NH2/Amine进行DNA标记1686147-55-6星戈瑞
  • Pyecharts数据可视化
  • 集合-List集合
  • vuex的使用
  • raw图片处理软件:DxO PhotoLab 6 mac中文版支持相机格式
  • ReactPortals传送门
  • 【GDB】 command 命令
  • 1038 统计同成绩学生
  • git报错:Failed to connect to 127.0.0.1 port 1080
  • php eayswoole node axios crypto-js 实现大文件分片上传复盘
  • 《Upload-Labs》01. Pass 1~13
  • v-for中的key
  • MySQL学习笔记17
  • 跨境电商建站:选择域名需要注意什么?
  • jupyterlab
  • Oracle的递归公共表表达式
  • 解决antd vue ts v-model:value绑定Boolean布尔类型爆红但可以使用
  • zblog插件大全-zblog免费插件
  • 思科、华为、华三、锐捷网络设备巡检命令
  • 正则表达式贪婪模式和非贪婪模式
  • 借助 ControlNet 生成艺术二维码 – 基于 Stable Diffusion 的 AI 绘画方案
  • Codeforces Round 892 (Div. 2) - E. Maximum Monogonosity 思维dp 详细解析
  • R语言中的数据重塑
  • 基于Java实现的社区团购系统设计与实现(源码+lw+部署文档+讲解等)
  • nodejs+vue网上婚纱购物系统elementui