k8s入门案例

麻辣香蕉 麻辣香蕉     2022-09-21     149

关键词:

1、关闭CentOS自带的防火墙服务:
    systemctl disable firewalld
    systemctl stop firewalld
 
2、安装etcd和Kubernetes软件(会自动安装docker软件):
    yum install -y etcd kubernates
 
3、修改配置文件:
a、docker配置文件/etc/sysconfig/docker,其中OPTIONS的内容设置为
OPTIONS=‘--selinux-enabled=false
b、Kubernetes apiserver配置文件/etc/kubernetes/apiserver,把--admission-control参数中的ServiceAccount删除。
 
4、按顺序启动各个服务:
    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
 
5、下载镜像
    docker pull kubeguide/guestbook-redis-slave
    docker pull kubeguide/guestbook-php-frontend
    docker pull kubeguide/redis-master
 
6、    先定义RC来创建pod,然后定义与之关联的service。
    为redis-master服务新建一个名为redis-master-controller.yaml的RC定义文件,内容为:
 
 
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: redis-master
      labels:
        name: redis-master
    spec:
      replicas: 1
      selector:
        name: redis-master
      template:
        metadata:
         labels:
           name: redis-master
        spec:
          containers:
          - name: master
            image: kubeguide/redis-master
            ports:
            - containerPort: 6379
 
    新建好文件之后执行如下命令:
    kuberctl create -f redis-master-controller.yaml
    删除:将create换为delete即可。
    查看刚刚新建的redis-master:
 
 
    kuberctl get rc
    检查pod信息:
    kuberctl get pods
 
 
7、下面新建与上面建的pod相关联的service,service对应的文件redis-master-service.yaml,内容如下:
 
 
    apiVersion: v1
    kind: Service
    metadata:
      name: redis-master
      labels:
        name: redis-master
    spec:
      ports:
      - port: 6379
        targetPort: 6379
      selector:
        name: redis-master
    创建service:
    kubectl create -f redis-master-service.yaml
    查看新建的service:
    kubectl get services
 
 8、 redis-salve Pod和服务
 
    步骤和redis-master的一样。
    新建文件redis-salve-controller.yaml,内容如下:
 
 
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: redis-slave
      labels:
        name: redis-slave
    spec:
      replicas: 2
      selector:
        name: redis-slave
      template:
        metadata:
         labels:
           name: redis-slave
        spec:
          containers:
          - name: slave
            image: kubeguide/guestbook-redis-slave
            env:
            - name: GET_HOSTS_FROM
              value: env
            ports:
            - containerPort: 6379
    运行kubectl create命令:
    kubectl create -f redis-salve-controller.yaml
    查看RC:
    kubectl get rc
    查看pod:
    kubectl get pods
 
 
9、配置文件redis-salve-service.yaml内容如下:
 
 
    apiVersion: v1
    kind: Service
    metadata:
      name: redis-slave
      labels:
        name: redis-slave
    spec:
      ports:
      - port: 6379
      selector:
        name: redis-slave
 
    创建service:
    kubectl create -f redis-slave-service.yaml
    检查service:
    kubectl get services;
 
10、 创建frontend Pod和服务
 
    文件frontend-controller.yaml内容如下:
 
 
    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: frontend
      labels:
        name: frontend
    spec:
      replicas: 3
      selector:
        name: frontend
      template:
        metadata:
         labels:
           name: frontend
        spec:
          containers:
          - name: frontend
            image: kubeguide/guestbook-php-frontend
            env:
            - name: GET_HOSTS_FROM
              value: env
            ports:
            - containerPort: 80
    执行命令kubectl create:
 
 
    kubectl create -f frontend-controller.yaml
    检查RC:
    kunectl get rc
    检查pod:
    kubectl get pods
 
 
11、文件frontend-service.yaml内容如下:
 
 
    apiVersion: v1
    kind: Service
    metadata:
      name: frontend
      labels:
        name: frontend
    spec:
      type: NodePort
      ports:
      - port: 80
        nodePort: 30001
      selector:
        name: frontend
    创建服务:
    kubectl create -f frontend-service.yaml
    检查service:
    kubectl get services;
12、 访问网站
 
    如我的虚拟机IP为192.168.153.46
    则浏览器访问: 192.168.153.46:30001

k8s入门教程详解(代码片段)

文章目录Kubernetes入门教程详解(一)一、Kubernetes概述1.K8S发展历史由来2.K8S官网2.K8S是什么3.K8s优势及特点3.1K8S优势3.2K8S特点4.K8s集群架构与组件4.1K8s集群架构4.2K8s核心组件详细说明5.K8s核心概念5.1Master集群控制节点5.2Node工作负载节... 查看详情

k8s之快速入门概念

一、K8S快速入门(四级基本概念)二、Pod/Pod控制器理解三、Name/Namespace四、Label/Label选择器五、Service/Ingress 查看详情

k8s简单部署案例

部署MYSQL准备yaml文件位置:/etc/kubernetes/manifestsmysql-rc.yamlapiVersion:v1kind:ReplicationControllermetadata:name:mysqlspec:replicas:1selector:app:mysqltemplate:metadata:labels:app:mysqlspec:containers:-na 查看详情

一文学会calico及k8s网络策略入门

参考技术Acalico网络策略提供了一系列的策略能力,其中包括策略的顺序/优先级,拒绝规则和其它更灵活的匹配规则。kubernetes网络策略仅应用于Pod,而Calico网络策略可以应用于多种类型的终端,比如pods,VMs和主机接口等。而且,... 查看详情

k8s入门你至少需要会哪些

...好用的同时,想着探一探这背后的原理。今天这篇k8s入门我整理了必会的几个k8s知识点,写一个demo应用部署到k8s•docker的使用,镜像的创建和发布(我当你已经会了哈)•k8s开发环境搭建•D 查看详情

k8s基本概念入门

序言    没等到风来,绵绵小雨,所以写个随笔,聊聊k8s的基本概念。     k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容... 查看详情

k8s入门系列之介绍篇

文章转自 http://www.cnblogs.com/xkops/p/6165565.html?Kubernetes介绍1.背景介绍  云计算飞速发展    -IaaS    -PaaS    -SaaS  Docker技术突飞猛进    -一次构建,到处运行    -容器的快速轻量    -完整的生... 查看详情

[k8s]最简单的集群小案例

启动一个简单的集群:tomcat+mysqlmyweb-pod.yamlapiVersion:v1kind:Podmetadata:name:myweblabels:app:mywebspec:containers:-name:mywebimage:kubeguide/tomcat-app:v1ports:-containerPort:8080env:-name:MYSQL_SERVICE_HOS 查看详情

k8s故障案例:calico无限重启(代码片段)

环境;高可用k8s集群连带N个worknode节点。在以下命令的时候kubectlgetpod--all-namespaces-owide|grepcal发现pod重启达上百次。且状态是imagepullbackoff下面使用以下命令可以看到readness、liveness探针失败,容器创建成功kubectldescribepod-n(空间)(po... 查看详情

k8s-应用快速入门(ma)

[[email protected]~]#kubectlrunnginx-deploy--image=nginx:1.14-alpine--port=80--replicas=1deployment"nginx-deploy"created[[email protected]~]#kubectlexposedeploymentnginx-deploy--namenginx--p 查看详情

k8s入门-资源文件实现(代码片段)

1.1idea安装k8s插件1、idea插件官网地址:https://plugins.jetbrains.com/2、kubernetes地址:https://plugins.jetbrains.com/plugin/10485-kubernetes/versions2、离线安装k8s插件特殊原因,在线安装有可能安装失败失败。下载idea对应版本的插件后& 查看详情

k8s入门系列之介绍篇

?Kubernetes介绍1.背景介绍  云计算飞速发展    -IaaS    -PaaS    -SaaS  Docker技术突飞猛进    -一次构建,到处运行    -容器的快速轻量    -完整的生态环境2.什么是kubernetes  Kubernetes(k8s)是Google... 查看详情

kubernetes(k8s)应用案例

...部署变得更加容易。下面是该公司使用K8S解决平台问题的案例:部署服务该公司将所有服务转换为Docker容器,并使用K8S进行部署。K8S使用Pods作为最小部署单元,它可以管理容器,提供网络连接和存储卷,并自动协调容器之间的... 查看详情

kubernetes入门(代码片段)

目录前言一、K8S概述1.1K8S介绍1.2为什么要用K8S?1.3K8S的特性1.4Kubernetes集群架构与组件1.5学习目标二、K8s核心节点和组件2.1Master节点Kube-apiserver组件Kube-controller-manager组件Kube-scheduler组件(调度程序)Auth授权2.2Node/WokerNode/从... 查看详情

kubernetes入门(代码片段)

目录前言一、K8S概述1.1K8S介绍1.2为什么要用K8S?1.3K8S的特性1.4Kubernetes集群架构与组件1.5学习目标二、K8s核心节点和组件2.1Master节点Kube-apiserver组件Kube-controller-manager组件Kube-scheduler组件(调度程序)Auth授权2.2Node/WokerNode/从... 查看详情

高可用集群篇--k8s快速入门及集群部署(代码片段)

高可用集群篇(一)--K8S快速入门及集群部署一、K8s快速入门1.1简介1.1.1Kubernetes是什么1.1.2为什么要使用Kubernetes1.1.3Kubernetes不是什么1.1.4Kubernetes工作示例1.2架构原理&核心概念1.2.1整体主从方式1.2.2Master节点架构1.2.3Node节... 查看详情

k8s入门系列之介绍篇

1.背景介绍云计算飞速发展    -IaaS    -PaaS    -SaaSDocker技术突飞猛进    -一次构建,到处运行    -容器的快速轻量    -完整的生态环境    2.什么是kubernetesKubernetes(k8s)是Google开源的容器集... 查看详情

一起来入门kubernetes(k8s)

Kubernetes什么是KubernetesKubernetes的好处:Kubernetes分布式集群架构的核心:serviceKubernetes中的Pod对象Kubernetes设计架构集群简介核心组件设计理念Kubernetes为什么叫k8s什么是KubernetesKubernetes是一个全新的基于容器技术的分布式架... 查看详情