k8s常用命令dns插件,资源对象文件

查看节点: kubectl get node

创建镜像:kubectl run -i -t  群组的名字 –image=镜像的名字(私有仓库)
kubectl run -i -t  test   –image=192.168.1.100/yan123/myos:nginx

查看容器信息1:kubectl get deployment
kubectl  get pod
显示详细名字:  kubectl -n kube-system get deployment   //+n  kube-system
查看服务:kubectl  get service

查看容器运行状态(IP节点等):kubectl  get pod -o wide   +名称
删除资源:kubectl delete deployment +名称
kubectl delete pod +名称  //删除后会自动重建

进入资源:kubectl exec -it 名称(全称)  /bin/bash
kubectl attach yan-775876d67b-dxth9 -c yan -i -t    //非交互式
查看日志:kubectl logs  名称   //查看历史操作

kubectl run 命令启动服务
启动2副本以上web服务
kubectl run -r 副本数量 –image=镜像名称:标签
例:kubectl run httpd -r 2 –image=repo1:5000/myos:httpd  –port=80          //创建2台httpd服务

service服务
service 会创建一个cluster ip ,这个地址对应资源地址,不管POD怎么变化,service总能找到对应的POD,而且cluster ip保持不变,如果POD有多个容器,service会实现负载均衡。
查看服务:kubectl  get service
内部资源访问:cluster-ip是集群分配的服务IP,提供集群内访问
语法:
创建服务service:
kubectl  expose 资源类型  资源名称 –port=服务端口  –target-port=容器端口   –name=service的名字
删除服务service:
[root@master ~]#kubectl delete svc  httpd-service -n default   //删除 httpd-service服务
例如:
[root@master ~]#kubectl expose  deployment httpd –port=80  –target-port=80 –name=httpd-service     //创建服务:httpd,对外监听80端口

验证高可用:
kubectl run httpd -r 2 –image=repo1:5000/myos:httpd  –port=80             //创建2个HTTPD服务
kubectl expose  deployment httpd –port=80  –target-port=80 –name=httpd-service     //创建服务:httpd
kubectl  get service      //查看service及IP
kubectl get pod -o wide     //查看容器IP
curl http://10.254.101.151   //访问service的ip
kubectl delete pod  httpd  //删除Pod验证高可用
kubectl get pod -o wide     //查看容器IP ,发现自动创建与上次不同容器
curl http://10.254.101.151   //再次访问service的ip,依然可用:

dns插件安装:
a.镜像导入
k8s-dns-kube-dns-amd64,k8s-dns-sidecar-amd64 ,k8s-dns-dnsmasq-nanny-amd64
三个文件导入到私有仓库
b.修改配置Kube-dns
[root@master ~]# vim kube-dns.yaml     //详细在最后
33     clusterIP: 10.254.254.253
98   image: repo1:5000/k8s-dns-kube-dns-amd64:1.14.10
128  – –domain=tedu.local.
131   – –kube-master-url=http://192.168.1.25:8080
150   image: repo1:5000/k8s-dns-dnsmasq-nanny-amd64:1.14.10
170   – –server=/tedu.local./127.0.0.1#10053
189  mage: repo1:5000/k8s-dns-sidecar-amd64:1.14.10
202  – –probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.tedu.local.,5,SRV
203  – –probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.tedu.local.,5,SRV
查看:
[root@master ~]# kubectl -n kube-system get pod  //查看服务状态
kubectl -n kube-system get service   //查看服务IP,端口
c.修改所有node节点kubelet配置文件(node1-5):
[root@node-0003 ~]# vim /etc/kubernetes/kubelet       //所有节点操作
添加 –cluster-dns=10.254.254.253   –cluster-domain=tedu.local   //与上配置一致
d. 重启:[root@node-0003 ~]# systemctl restart kubelet
验证:[root@master ~]# kubectl delete -f kube-dashboard.yaml
[root@master ~]# kubectl create  -f kube-dashboard.yaml   //重新创建
[root@master ~]# kubectl -n kube-system get service
[root@master ~]# kubectl -n kube-system describe pod kubernetes-dashboard

验证DNS
[root@master ~]# kubectl  get pod     //无,确保容器是在创立kube-DNS后创建
[root@master ~]#kubectl run php -r 2 –image=repo1:5000/myos:php-fpm  –port=9000        //创建2个PHP容器
[root@master ~]#  kubectl run nginx -r 1 –image=repo1:5000/myos:nginx  –port=80                           //创建1个Nginx容器
[root@master ~]# kubectl  get pod
NAME                     READY     STATUS    RESTARTS   AGE
nginx-86c6b5bb6f-g6blt   1/1       Running   1          14h
php-57bf94df94-57w4q     1/1       Running   1          14h
php-57bf94df94-8xjhk     1/1       Running   1          14h
[root@master ~]#kubectl expose  deployment php –port=9000  –target-port=9000 –name=php-fpm          //创建PHP-fpm的service服务
[root@master ~]# kubectl  get service      //查看service服务
NAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
php-fpm         ClusterIP   10.254.218.204   <none>        9000/TCP   15h
[root@master ~]# kubectl exec -it nginx-86c6b5bb6f-g6blt  /bin/bash    //进入NGINX
[root@nginx-86c6b5bb6f-g6blt html]# ping php-fpm           //ping php-fpm,发现能解析
PING php-fpm.default.svc.tedu.local (10.254.218.204) 56(84) bytes of data.

资源对象文件
概念:kubernetes通过pc/rs管理POD,在PC中定义了如何启动POD,如何运行,启动副本等功能,如果我们创建的文件,用其中使用YAML的语法格式描述了上面的信息,这个文件就是我们的资源对象文件
作用:可以创建删除和管理资源对象
kubectl  (apply升级更新|create创建资源对象|delete)  -f  (资源文件*.yaml)

案例:1.创建myos:latest-yaml
[root@master ~]# vim baseos.yaml      //创建模板

apiVersion: extensions/v1beta1  #当前格式的版本
kind: Deployment                      #当前创建资源的类型, 当前类型是Deployment
metadata:                                  #当前资源的元数据
name: test-os                          #当前资源的名字 是元数据必须的项
spec:                                         #是当前Deployment的规格说明
replicas: 1                                #指当前创建的副本数量 默认不填 默认值就为‘1’
template:                                #定义pod的模板
metadata:                             #当前pod的元数据
labels:                                 #至少顶一个labels标签,可任意创建一个 key:value
app: test_os                      #标签名
spec:                                    #当前pod的规格说明
containers:                         #容器
– name: centos                   #是容器的名字容器名字是必须填写的
image: centos:7.5.1804      #镜像的地址
stdin: true                         #交互式输入相当于 -I参数
tty: true                            #打开终端相当于 -t参数

创建:   kubectl create -f  baseos.yaml
删除:   kubectl delete -f  baseos.yaml
更新:   kubectl apply -f  baseos.yaml
在线编辑:kubectl edit  deployment test-os    //编辑好wq保存

案例:2.创建服务的资源文件
[root@master ~]# vim httpd-service.yaml
apiVersion: v1              #当前的格式
kind: Service                #创建资源类型
metadata:                    #当前资源的元数据
name: web-apache    #资源名称
namespace: default    #资源的区域
spec:                            #资源的说明
clusterIP: 10.254.254.110     #资源的IP
ports:                         #端口
– port: 80                   #服务的端口
targetPort: 80           #容器的端口
nodePort:                 #发布的节点端口
protocol: TCP           #协议
selector:                     #标签选择器
app: httpd                #后端服务资源
type: ClusterIP            #资源类型

附:php 案例
<pre>
<?PHP
foreach (array(“REMOTE_ADDR”, “REQUEST_METHOD”, “HTTP_USER_AGENT”, “REQUEST_URI”) as $i) {
$arr[$i] = $_SERVER[$i];
}
if($_SERVER[‘REQUEST_METHOD’]==”POST”){
$arr += $_POST;
}else{
$arr += $_GET;
}
print_R($arr);
?>

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇