网站首页 > 博客文章 正文
#云平台# #云计算# #Docker# #Kubernetes# #k8s#
1.1 单点部署
1.1.1 环境配置:关闭防火墙
关闭:iptables
systemctl stop iptables
关闭:firewalld
systemctl stop firewalld
关闭:selinux
setenforce 0 (立即生效,重启后读取配置文件设置)
修改配置文件(重启后生效)
vi /etc/sysconfig/selinux
SELINUX=disabled
1.1.2 安装docker
yum install docker
修改docker配置文件:/etc/sysconfig/docker
OPTIONS=’–selinux-enabled=false –insecure-registry gcr.io’
启动docker 服务
systemctl start docker
1.1.3 安装证书
yum install *rhsm*
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
1.1.4 安装kubernetes
yum install etcd
yum install kubernetes
yum install flannel –y
修改Kubernetes apiservce配置文件/etc/kubernetes/apiserver:把admission_control参数中的ServiceAccount删除。
测试:kubectl version
1.1.5 启动k8s服务
# systemctl start etcd
# systemctl start docker
# systemctl start kube-apiserver
# systemctl start kube-controller-manager
# systemctl start kube-scheduler
# systemctl start kubelet
# systemctl start kube-proxy
1.1.6 运行容器
kubectl run my-nginx-deployment --image=nginx --port=80
1.1.7 查看pod
kubectl get pod #查看pod
1.1.8 运行服务,对外开放接口
kubectl expose deployment/my-nginx-deployment --type="NodePort" --port=80 --target-port=80
查看服务,查看对外开放接口
kubectl get services
运行验证
1.2 配置文件
1.2.1 etcd配置:端口等配置
vi /etc/etcd/etcd.conf
1.2.2 apiServer配置:端口、ETCD等配置
/etc/kubernetes/apiserver
1.2.3 Master配置:端口管理
/etc/kubernetes/config
1.3 通过yaml文件管理
运行:kubectl create -f 文件名
1.3.1 yaml基本语法
key:value
空格缩进标识级别
大小写敏感
#注释
数组:
名称
- 属性1
- 属性2.1
属性2.2
1.3.2 yaml结构:版本apiVersion+类型kind+元数据meteadata+具体参数spec
apiVersion:kubectl api-versions查看
类型kind:Deployment部署,Service服务,Pod,NameSpace,ConfigMap,Secret
元数据metadata:本应用的元数据,包括name、label、namespace等。
具体参数spec:详细设置内容
应用要点:注意配置文件存储在单独的svn仓库中,便于回滚。
1.3.3 NameSpace配置
apiVersion: v1
kind: Namespace
metadata:
name: development
labels:
name: nlp
1.3.4 ConfigMap配置
apiVersion: v1
kind: ConfigMap
metadata:
name: myconfigMap
data:
config1: xxx
config2: yyy
1.3.5 Secret配置
apiVersion: v1
kind: Secret
metadata:
name: mysecret
data:
username: xxx
password: yyy
1.3.6 Pod配置:container配置
port :Service的集群端口
targetPort :pod上的端口
nodePort : Service的外网端口
apiVersion: v1 #必选,版本号,例如v1
kind: Pod #必选,Pod
metadata: #必选,元数据
name: string #必选,Pod名称
namespace: string #必选,Pod所属的命名空间
labels: #自定义标签
- name: string #自定义标签名字
annotations: #自定义注释列表
- name: string
spec: #必选,Pod中容器的详细定义
containers: #必选,Pod中容器列表
- name: string #必选,容器名称
image: string #必选,容器的镜像名称
1.3.7 Service配置:配置type,ports和selector
kind: Service
apiVersion: v1
metadata:
name: redis
spec:
type: NodePort
ports:
- protocol: TCP
port: 6379
targetPort: 6379
nodePort: 30379
name: test
selector:
app: default.Deployment.redis_server
1.3.8 Deploymeng配置:设置relicas:设置备份数
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: redis-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: default.Deployment.redis_server
1.3.9 应用:yaml文件部署
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-nginx
spec:
replicas: 2
template:
metadata:
labels:
app: my-nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
1.3.10 应用:yaml文件创建服务
apiVersion: v1
kind: Service
metadata:
name: my-nginx-service
spec:
type: NodePort
ports:
- port: 30080
targetPort: 80
nodePort: 30082
selector:
app: my-nginx
猜你喜欢
- 2024-11-16 Docker网络这样理解会更简单(二)(docker 网络)
- 2024-11-16 Docker 和 Kubernetes 介绍(docker与kubernetes)
- 2024-11-16 通过项目学习Go开发之系统环境搭建
- 2024-11-16 容器可视化-Kuboard(容器可视化管理平台kubesphere)
- 2024-11-16 Docker 从入门到实践(docker从入门到精通)
- 2024-11-16 Docker 容器网络番外篇-VxLan(docker的网络)
- 2024-11-16 使用统一证书的方式部署ETCD3.5 集群(一)
- 2024-11-16 有想学docker的吗?我来倾馕相助了,143页docker入门资料免费送
- 2024-11-16 全新一代API网关,带可视化管理,文档贼友好
- 2024-11-16 Docker网络架构是什么?包含哪些哪些核心组件与驱动?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)