一、快速搭建文档

一、初始化kubernete
kubeadm init --kubernetes-version=v1.14.0 --pod-network-cidr=10.244.0.0/ --apiserver-advertise-address=192.168.10.12 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
....
To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/ Then you can join any number of worker nodes by running the following on each as root: kubeadm join 192.168.10.12: --token 3s24j5.nh1fqex8kmekpmtf \
--discovery-token-ca-cert-hash sha256:62bcc3a657fd97cd6d5da14b293912234f0f14512bb4bf8d8be1023a69fc6f17
==========================
二、安装flannel网络
wget https://raw.githubusercontent.com/loverying/mykubernetes/master/kubect_install/kube-flannel.yaml
[root@master kubectyaml]# kubectl apply -f kube-flannel.yaml
podsecuritypolicy.extensions/psp.flannel.unprivileged created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.extensions/kube-flannel-ds-amd64 created
daemonset.extensions/kube-flannel-ds-arm64 created
daemonset.extensions/kube-flannel-ds-arm created
daemonset.extensions/kube-flannel-ds-ppc64le created
daemonset.extensions/kube-flannel-ds-s390x created
[root@master kubectyaml]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 2m43s v1.14.2
三、其他机器加入集群
kubeadm join 192.168.10.12: --token 3s24j5.nh1fqex8kmekpmtf \
--discovery-token-ca-cert-hash sha256:62bcc3a657fd97cd6d5da14b293912234f0f14512bb4bf8d8be1023a69fc6f17
[root@master kubectyaml]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 4m3s v1.14.2
node01 Ready <none> 27s v1.14.2
node02 Ready <none> 22s v1.14.2
四、部署 dashboard
wget https://raw.githubusercontent.com/loverying/mykubernetes/master/kubect_install/dashboard-admin_new.yaml
wget https://raw.githubusercontent.com/loverying/mykubernetes/master/kubect_install/kubernetes-dashboard.yaml
kubectl apply -f dashboard-admin_new.yaml
kubectl apply -f kubernetes-dashboard.yaml
五、部署ingress-nginx
wget https://raw.githubusercontent.com/loverying/mykubernetes/master/kubect_install/mandatory.yaml
kubectl apply -f mandatory.yaml 六、部署应用
)部署pod 提供后端服务
)部署service 是做负载均衡
)部署ingress-nginx 将负载均衡绑定在域名上 七、部署普罗米修斯监控(研究) 八、日志收集平台(研究)
EFK平台
[root@master mykubernetes-master]# kubectl get pods -n ingress-nginx
NAME READY STATUS RESTARTS AGE
nginx-ingress-controller-5694ccb578-78ldg / Running 23d

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml

[root@master ~]# kubectl get svc -n  ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx NodePort 10.108.108.196 <none> :/TCP,:/TCP 76s

二、部署应用

1.1)部署pod

apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: myapp
namespace: default
labels:
app: myapp
spec:
replicas:
selector:
matchLabels:
app: myapp
template:
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
ports:
- name: http
containerPort:

mypod.yaml

1.2)访问效果

[root@master ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myapp-8w7bm / Running 10m 10.244.2.7 node02 <none> <none>
myapp-n4xhs / Running 10m 10.244.1.8 node01 <none> <none>
[root@master ~]# curl 10.244.2.7/hostname.html
myapp-8w7bm
[root@master ~]# curl 10.244.1.8/hostname.html
myapp-n4xhs

2.1)创建service

apiVersion: v1
kind: Service
metadata:
name: myapp
namespace: default
spec:
selector:
app: myapp
clusterIP: 10.99.99.99
type: NodePort
ports:
- port:
targetPort:
nodePort:

svc_mypod.yaml

2.2) 访问效果

[root@master ~]# kubectl get svc -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.96.0.1 <none> /TCP 3h10m <none>
myapp NodePort 10.99.99.99 <none> :/TCP 8m15s app=myapp
[root@master ~]# while true;do curl 192.168.10.12:/hostname.html;sleep ;done
myapp-8w7bm
myapp-n4xhs
myapp-n4xhs
myapp-8w7bm
myapp-8w7bm

vd--xxxx

[root@apaas-master0001 ~]# kubectl get svc -n enos vd-server -o yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"creationTimestamp":"2019-07-22T08:59:19Z","labels":{"app":"vd-server","appId":""},"name":"vd-server","namespace":"enos","resourceVersion":"","selfLink":"/api/v1/namespaces/enos/services/vd-server","uid":"fdc93ba3-ac5e-11e9-91e6-000d3aa15f2a"},"spec":{"clusterIP":"10.254.32.86","ports":[{"name":"tcp-8080","port":,"protocol":"TCP","targetPort":}],"selector":{"app":"vd-server"},"sessionAffinity":"None","type":"ClusterIP"},"status":{"loadBalancer":{}}}
creationTimestamp: --06T08::16Z
labels:
app: vd-xxxx
appId: ""
name: vd-xxxx
namespace: enos
resourceVersion: ""
selfLink: /api/v1/namespaces/enos/services/vd-xxxx
uid: 745b1906--11ea-b132-000d3aa1f771
spec:
clusterIP: 10.254.32.86
ports:
- name: tcp-
port:
protocol: TCP
targetPort:
selector:
app: vd-xxxx
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}

svc

域名链接

3.1)创建 ingress

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-myapp
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: master.com
http:
paths:
- backend:
serviceName: myapp
servicePort:

ingress_pod.yaml

3.2 ) 访问效果测试

[root@master ~]# kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
ingress-myapp master.com 10m
[root@master ~]# kubectl describe ingress ingress-myapp
.......
[root@master ~]# while true;do curl master.com:/hostname.html;sleep ;done
myapp-8w7bm
myapp-n4xhs
myapp-n4xhs
myapp-8w7bm

三、资源获取(metrics-server)

1)安装metrics-server

https://github.com/baishuchao/kubernetes/tree/master/metrics-server
[root@ks-master k8s]# git clone https://github.com/baishuchao/kubernetes.git
[root@ks-master k8s]# cd kubernetes/metrics-server
[root@ks-master metrics-server]#kubectl apply -f .

2)资源获取示例

[root@master dashboard]# kubectl top pods -n kube-system
NAME CPU(cores) MEMORY(bytes)
coredns-d5947d4b-45r9x 5m 15Mi
coredns-d5947d4b-snsjt 6m 15Mi
etcd-master 53m 145Mi
kube-apiserver-master 83m 276Mi
kube-controller-manager-master 23m 54Mi
kube-flannel-ds-amd64-x6pcr 2m 16Mi
kube-flannel-ds-amd64-xntt5 4m 18Mi
kube-flannel-ds-amd64-zsq6r 4m 20Mi
kube-proxy-v67qd 12m 20Mi
kube-proxy-zg6ws 9m 20Mi
kube-proxy-zkmgh 9m 24Mi
kube-scheduler-master 2m 18Mi
kubernetes-dashboard-b6dcb8878-ckcz5 0m 0Mi
metrics-server-7579f696d8-kv8hs 1m 14Mi

k8s的快速使用手册的更多相关文章

  1. Github快速入门手册

    最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...

  2. H3 BPM J.V10.6.1 安装及快速使用手册

    直接进入地址下载:http://bbs.h3bpm.com/read.php?tid=3103&fid=30,需要注册. 按照文档"H3 BPM J.V10.6.1 安装及快速使用手 ...

  3. 2. Apache Axis2 快速学习手册之概览

    这篇博文和大家一起学习下Apache Axis2 官方文档的快速指南篇 英文原文:http://axis.apache.org/axis2/java/core/docs/quickstartguide ...

  4. kubernetes(K8S)快速安装与配置集群搭建图文教程

    kubernetes(K8S)快速安装与配置集群搭建图文教程 作者: admin 分类: K8S 发布时间: 2018-09-16 12:20 Kubernetes是什么? 首先,它是一个全新的基于容 ...

  5. (私人收藏)[开发必备]最全JQuery离线快速查找手册(可查询可学习,带实例)

    [开发必备]最全JQuery离线快速查找手册(可查询可学习,带实例) https://pan.baidu.com/s/16bUd4iA3p0c5RHbzaC60IQe4zh

  6. (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例)

    (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例) https://pan.baidu.com/s/1L54VuFwCdKVnQGVc8vD1TQnwmj java手册 Ja ...

  7. 在 K8S 中快速部署 Redis Cluster & Redisinsight

    Redis Cluster 部署 使用 Bitnami helm chart 在 K8S redis 命名空间中一键部署 Redis cluster . helm repo add bitnami h ...

  8. React JS快速开始手册

    怎样用React JS构建一个用户界面?本文将快速地给你一个React JS的概览.代码,请君移步react-starter 概念 React只有很少的API,这使得它很容易去学习与理解.当然,使用它 ...

  9. K8S环境快速部署Kafka(K8S外部可访问)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

随机推荐

  1. windows10安装docker[含百度网盘docker安装包]

    在win10上安装 docker(比较简单) 安装步骤: 现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V. 1.开启 Hyper-V 程序和功能 启用或关闭Win ...

  2. 解决git status中文路径乱码

    这个问题就放一张图吧: 不过需要注意,这样设置了之后对 git status 命令输出的路径就不做转义处理了,当路径中有空格等被terminal视为特殊字符的内容时不要直接复制粘贴使用.

  3. SCM

    scm即软件配置管理. 软件配置管理(SCM)是指通过执行版本控制.变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性,配置管理是对工作成果的一种有效保护. SCM(Sof ...

  4. 1.VUE前端框架学习记录一

    VUE前端框架学习记录一文字信息没办法描述清楚,主要看编码实战里面,有附带有一个完整可用的Html页面,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/file/f0 ...

  5. vue 字符串长度控制显示的字数超出显示省略号

    1. html <p class="index__Feature-list-itemlist-title newline"> {{item.name| ellipsis ...

  6. $NOIP2018$ 暴踩全场计划实施方案

    \(NOIP2018\) 暴踩全场计划实施方案 改完题辣!该更博辣!(这么激动干嘛反正又没人看) 我要取一个霸气的名字.于是就这样了.原本打算是暴踩yyb计划实施方案的(来啊互相伤害啊) 信心流选手就 ...

  7. 警惕黑客利用新方法绕过Office安全链接

    东方联盟黑客安全研究人员透露,一些黑客已经发现绕过MicrosoftOffice365的安全功能,该功能最初旨在保护用户免受恶意软件和网络钓鱼攻击. 被称为安全链接的功能已被包含在Office365软 ...

  8. 使用Navicat for Oracle新建表空间、用户及权限赋予

      Navicat for Oracle是有关Oracle数据库的客户端工具.通过这个客户端,我们可以图形方式对Oracle数据库进行操作. 说 明我们此次试验的Oracle数据库版本是Oracle  ...

  9. 人生苦短_我用Python_Try_Exception异常捕捉_007

    # coding=utf-8 ''' request+try__异常处理 ''' import requests class HttpRequests: def __init__(self, url, ...

  10. C/C++ C++ 11 兰姆达

    { auto layer = Layer::create();    auto event = cocos2d::EventListenerTouchOneByOne::create();    ev ...