kubernetes基础使用
查看节点详细信息
kubectl describe node vm2
显示版本号
kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.1", GitCommit:"b1b29978270dc22fecc592ac55d903350454310a", GitTreeState:"clean", BuildDate:"2018-07-17T18:43:26Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
显示集群详细信息
kubectl cluster-info
Kubernetes master is running at https://192.168.1.181:6443
KubeDNS is running at https://192.168.1.181:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
创建服务
kubectl run nginx-1 --image=nginx:1.14-alpine --replicas=1
nginx-1 标签名label
--image 引用镜像名
--replicas 启动pod数量
查看pod信息
kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-1-dddf5b57b-5fx2q 1/1 Running 0 1m 10.244.2.2 vm3
删除镜像
[root@vm ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-1-dddf5b57b-5fx2q 1/1 Running 0 8m 10.244.2.2 vm3
[root@vm ~]# kubectl delete nginx-1-dddf5b57b-5fx2q
error: resource(s) were provided, but no name, label selector, or --all flag specified
[root@vm ~]# kubectl delete pods nginx-1-dddf5b57b-5fx2q
pod "nginx-1-dddf5b57b-5fx2q" deleted
[root@vm ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-1-dddf5b57b-vjgxb 1/1 Running 0 25s 10.244.1.2 vm2
deployment控制器指定需要有一个pod运行,删除后会自动创建一个
创建一个service
kubectl expose deployment nginx-1 --name=nginx-service --port=80 --target-port=80 --protocol=TCP
service/nginx-service exposed
[root@vm ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3h
nginx-service ClusterIP 10.105.188.169 <none> 80/TCP 13s
deployment 控制器
nginx-1 控制器识别标签
name service名称
--port service暴露端口
--target-port 容器暴露端口
查看系统svc信息
kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 3h
查看创建的svc信息
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
nginx-service ClusterIP 10.105.188.169 <none> 80/TCP 29m
查看svc的详细信息
kubectl describe svc nginx-service
Name: nginx-service
Namespace: default
Labels: run=nginx-1
Annotations: <none>
Selector: run=nginx-1
Type: ClusterIP
IP: 10.105.188.169
Port: <unset> 80/TCP
TargetPort: 80/TCP
Endpoints: 10.244.1.2:80
Session Affinity: None
Events: <none>
升级镜像版本
kubectl set image deployment nginx-1 nginx-1=nginx
回滚镜像版本
kubectl rollout undo deployment nginx-1
deployment.extensions/nginx-1
[root@vm ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
client 0/1 Error 0 50m
nginx-1-d64bd498d-fw8kh 0/1 Terminating 0 5m
nginx-1-dddf5b57b-wzh2h 1/1 Running 0 8s
修改svc配置,使service可以外部访问
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
nginx-service ClusterIP 10.105.188.169 <none> 80/TCP 1h
[root@vm ~]# kubectl edit svc nginx-service
service/nginx-service edited
[root@vm ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
nginx-service NodePort 10.105.188.169 <none> 80:30611/TCP 1h
kubectl edit svc nginx-service的内容spec:
clusterIP: 10.105.188.169
externalTrafficPolicy: Cluster
ports:
- nodePort: 30611
port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx-1
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
将type改为NodePort,会将svc端口动态映射出去,上面映射为30611,用浏览器访问任意一个node都可以访问到
对pod添加标签
kubectl label pods pode-demo release=canary
修改pod标签
kubectl label pods pode-demo release=stable --overwrite
--overwrite
对标签进行过滤
kubectl get pods -l app --show-labels
显示有标签名的pod
kubectl get pods -L app,run
yaml文件创建一个pod
kubectl create -f xxxx.yaml
删除yaml文件创建的pod
kubectl delete -f xxxx.yaml
查看container日志
kubectl logs podename containername
正常容器比如nginx只有在被访问后才会出现日志
失败容器会直接产生错误日志
连接容器
kubectl exec -it podname -c containername bash
kubernetes基础使用的更多相关文章
- Kubernetes基础:查看状态、管理服务
目标 了解Kubernetes Pod 了解Kubernetes Node 学习如何调试部署问题 了解如何通过Service暴露应用 Kubernetes Pods 在Kubernetes中创建一个D ...
- 1-2、kubernetes架构概述和kubernetes基础概念
kubernetes https://draveness.me/understanding-kubernetes http://kubernetes.kansea.com/docs/ master/n ...
- linux运维、架构之路-Kubernetes基础(一)
一.Kubernetes介绍 Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统.Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并 ...
- Kubernetes基础
Kubernetes是什么 Kubernetes是当今最流行的开源容器管理平台,它就是大名鼎鼎的Google Borg的开源版本.Google在2014年推出了Kubernetes,本文发布时最新的版 ...
- kubernetes基础架构及原理
kubernetes简称“k8s” 其中“8”代表的是“k”和“s”中间的8个字母. k8s是Google公司开发的Borg项目中独立出来的容器编排工具,然后将其捐献给CNCF这个组织,然后发扬光大. ...
- 003/kubernetes基础:开启云原生之门(Mooc)
一.简介:(https://www.imooc.com/learn/978) 在2017年Kubernetes战胜了两个强大的竞争对手Swarm和Mesos,成为容器管理与调度编排领域的首选平台和事实 ...
- kubernetes基础——一文读懂k8s
容器 容器与虚拟机对比图(左边为容器.右边为虚拟机) 容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...
- kubernetes基础概念知多少
kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用.高扩展性和可预测性的方式来管理容器应用的生命周期.通过k8s,用户可以定义程序运行方式.部署 ...
- Kubernetes 基础资料
概述 这篇文章用来记录Kubernetes 的基础资料,整体以最新官方文档为准. 因为k8s整体比较偏运维,作为研发可先大致了解其概念及初级使用方式,后面重点学习点会放在service mesh is ...
- kubernetes 基础知识
1. kubernetes 包含几个组件 Kubernetes是什么:针对容器编排的一种分布式架构,是自动化容器操作的开源平台. 服务发现.内建负载均衡.强大的故障发现和自我修复机制.服务滚动升级和在 ...
随机推荐
- Suse LAMP setup
This page will describe the steps you have to take to install LAMP, which stands for Linux Apache Ma ...
- 【NLP_Stanford课堂】语言模型4
平滑方法: 1. Add-1 smoothing 2. Add-k smoothing 设m=1/V,则有 从而每一项可以跟词汇表的大小相关 3. Unigram prior smoothing 将上 ...
- The package 'MySql.Data' tried to add a framework reference to 'System.Runtime' which was not found in the GAC
最近在学习Visual Studio连接mysql EF模型.在nuget中安装mysql.data时总是提示The package 'MySql.Data' tried to add a frame ...
- 一、docker学习笔记——安装docker
系统win10 企业版 1.下载docker CE 2.安装.注意,由于docker 与Oracle VM VirtualBox 冲突,在windows平台上二者不可共存.你只能2选1!! 3.如果d ...
- [转] 你应该知道的应用UI动态设计规则
转自 CocoaChina http://www.cocoachina.com/macdev/uiue/2014/0505/8315.html 你应该知道的应用UI动态设计规则 这篇文章中,我主要阐述 ...
- RabbitMq ack 与 nack
1.ack 移除 2.nack 移除再次发送队列
- 对std::map进行排序
1.对Key排序. std::map的第三个参数即为对key进行排序的比较函数.默认为less,表示升序.如果要降序,可以改为greater. 2.对Value排序 不支持,因为map不是一个序列的容 ...
- python数据结构(整理)
http://www.cnblogs.com/yupeng/p/3413763.html 1. 单链表 链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点 ...
- sql2005 和 mysql 定时备份批处理
保存为sqlbak.bat 目录我直接放winrar 的根目录了 或者拷贝一个winrar.exe 具体目录随意. 然后添加计划任务个人的话建议一周或者一天 虚拟主机等 建议每周或者每月 @echo ...
- SecurityError: The operation is insecure.(js不安全操作)
今天突然就遇上了这样的情况,本来在出错的这一行的后面,还有要执行的语句,都没有办法执行,真实坑爹,而最要命的事情,这样的情况,在我的chrome浏览器里没有,但是在firefox里就会出现. The ...