logo资料库

k8s安装部署.docx

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
K8S单机版安装
安装环境
1.初始化环境
1.1设置关闭防火墙及SELINUX
1.2关闭Swap
1.3、设置Docker所需参数
2.安装etcd和kubernetes
3.安装过程中遇到的问题及解决办法
3.1安装时提示没用可用的软件包
3.2.如果安装完epel后仍然报这样的提示,可以更改下yum 源,此处使用的是阿里云的yum源
3.3执行systemctl start docker,启动docker出现错误
案例
部署nginx服务
创建gcr.io/google_containers/pause-amd64:3.0镜像
kubernets指令
k8s创建资源的两种方式
1.用 kubectl 命令直接创建
2.通过配置文件和 kubectl apply 创建
3.nginx.yml 的内容说明
4.这两种方式进行比较
5.资源的删除
配置文件创建的资源 也可以用之前的方式删除
指定配置删除
K8S安装(集群版)
K8S 单机版安装 安装环境 Centos 7.3 1.初始化环境 1.1 设置关闭防火墙及 SELINUX #systemctl stop firewalld && systemctl disable firewalld #setenforce 0 #vi /etc/selinux/config 设置 selinux=disable 1.2 关闭 Swap #swapoff -a && sysctl -w vm.swappiness=0 1.3、设置 Docker 所需参数 #cat << EOF | tee /etc/sysctl.d/k8s.conf net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF 使参数生效 #sysctl -p /etc/sysctl.d/k8s.conf
2.安装 etcd 和 kubernetes 安装 etcd 和 kubernetes 软件(会自动安装 docker) 安装流程需切换成 root 用户 # yum install -y etcd kubernetes 修改 docker 的配置文件 #vim /etc/sysconfig/docker 修改 OPTIONS 的配置为: OPTIONS='--selinux-enabled=false --insecure-registry gcr.io --log-driver=journald' Kubernetes apiservce 配置文件 #vim /etc/kubernetes/apiserver 把–admission_control 参数钟的 ServiceAccount 删除
启动服务 # 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 3.安装过程中遇到的问题及解决办法 3.1 安装时提示没用可用的软件包 此时表明想要安装的软件已不在 centos 官方 yum 源里面 解决方法:安装 epel 去 epel 官网: http://fedoraproject.org/wiki/EPEL 下载 直接贴出下载的地址 http://dl.fedoraproject.org/pub/在这里面找; 我 : https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.r pm 下载后安装 rpm -ivh epel-release-7-9.noarch.rpm centos7 64 位 , 下 载 的 目 录 为 参考博客:https://www.cnblogs.com/jackylee92/p/6371366.html
3.2.如果安装完 epel 后仍然报这样的提示,可以更改下 yum 源,此处使用的是阿里云的 yum 源 阿里云 yum 源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache 参考博客原文:https://blog.csdn.net/qingfenggege/article/details/80394564 3.3 执行 systemctl start docker,启动 docker 出现错误 尝试了网上很多方法,均不奏效,目前解决方法是将 docker 卸载了重新安装 案例 部署 nginx 服务 $ kubectl run my-nginx --image=nginx --port=80 $ kubectl get pod # 查看 pod
创建 gcr.io/google_containers/pause-amd64:3.0 镜像 #docker pull googlecontainer/pause-amd64:3.0 # docker tag googlecontainer/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0 kubernets 指令 # 查看版本 $ kubectl version # 显示集群信息 $ kubectl cluster-info # 查看集群中有几个 Node $ kubectl get nodes # 运行一个镜像 $ kubectl run my-nginx --image=nginx --replicas=2 --port=80 deployment "my-nginx" created # 查看 pod $ kubectl get pods
# 查看服务详情信息 #kubectl describe pod my-nginx-379829228-bbhwj # 查看已部署 $ kubectl get deployments # 删除 pod # 再次查看 pod,发现由于 replicas 机制,pod 又生成一个新的 原来的 pod 为 my-nginx-379829228-bbhwj 新的 pod 为 my-nginx-379829228-tj89c $ kubectl get pods # 删除部署的 my-nginx 服务。彻底删除 pod #kubectl delete deployment my-nginx
k8s 创建资源的两种方式 1.用 kubectl 命令直接创建 kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2 在命令行中通过参数指定资源的属性 2.通过配置文件和 kubectl apply 创建 要完成前面同样的工作,可执行命令: [root@k8s-master k8s]# kubectl apply -f nginx.yaml deployment.extensions/nginx-deployment configured 3.nginx.yml 的内容说明 apiVersion: extensions/v1beta1 #api 的版本 #资源的类型 kind: Deployment metadata: #资源的元数据 name: nginx-deployment #资源的名称 #资源的说明 spec: replicas: 2 template: metadata: labels: #副本 2 个,缺省为 1 #pod 模板 #pod 元数据 #标签 app: web_server #标签选择器 spec: containers: - name: nginx image: nginx:1.79
资源的属性写在配置文件中,文件格式为 YAML。 这种配置文件对格式的要求极为严格,缩进不能错,空格不能少打,vim 编辑器的高亮提 示会对我们写配置文件有帮助,如果语法错误会检测到。 4.这两种方式进行比较 基于命令的方式: 简单直观快捷,上手快。 适合临时测试或实验。 基于配置文件的方式: 配置文件描述了 What,即应用最终要达到的状态。 配置文件提供了创建资源的模板,能够重复部署。 可以像管理代码一样管理部署。 适合正式的、跨环境的、规模化部署。 这种方式要求熟悉配置文件的语法,有一定难度。 kubectl apply 不但能够创建 Kubernetes 资源,也能对资源进行更新,非常方便。不过 Kubernets 还提供了几个类似的命令,例如 kubectl create、kubectl replace、kubectl edit 和 kubectl patch。 为避免造成不必要的困扰,我们会尽量只使用 kubectl apply, 此命令已经能够应对超过 90% 的场景 5.资源的删除 配置文件创建的资源 也可以用之前的方式删除 [root@k8s-master k8s]# kubectl apply -f nginx.yaml deployment.extensions/nginx-deployment created
分享到:
收藏