(1)使用http访问出错

思考:为什么是'tcp6'的形式

(2)HostAliases

默认的pod 的/etc/hosts 无法自动注入数据,通过使用  k8s  HostAliases ,向pod的/etc/hosts 注入一条'域名和ip的解析'

kubernetes HostAliases

(3)修改node节点标签的属性

参考博客

node修改信息:原因默认标签是空,我们根据其作用定义是'worker节点还是master节点'

kubectl label nodes node1 node-role.kubernetes.io/node=

(4)需求1

# 部署Harbor私有容器镜像仓库,并配置Kubernetes从Harbor拉取镜像

# 细化--->首先从harbor镜像仓库拉取,如果镜像仓库没有则从公网下载,然后上传到harbor镜像仓库中

# 备注:镜像仓库相当于一个镜像仓库缓存服务器,对外的出口

(5)查看docker版本,安装指定版本

# 查看指定的版本,然后安装指定版本的docker 

yum list docker-ce --showduplicates | sort -r

(6)docker的安装及加速器的配置

(7)显示信息

# kubectl cluster-info 

Kubernetes master is running at https://192.168.30.150:8443
Heapster is running at https://192.168.30.150:8443/api/v1/namespaces/kube-system/services/heapster/proxy
CoreDNS is running at https://192.168.30.150:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
kubernetes-dashboard is running at https://192.168.30.150:8443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
monitoring-grafana is running at https://192.168.30.150:8443/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy
monitoring-influxdb is running at https://192.168.30.150:8443/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy

(8)docker的Cgroup Driver和kubelet的Cgroup Driver不一致

备注:后续把安装k8s的信息提示贴出来

参考1参考2参考3

(9)k8s中yaml的语法

(10)使用k8s的API出错

#!/bin/bash
#(1)获取apiserver
APISERVER=$(kubectl config view | grep server | cut -f 2- -d ":" | tr -d " ")
#(2)核心是获取TOKEN-->注意:新旧版本的原因-->编码的问题
# 说明:secret跟实际的不一样
TOKEN=$(kubectl get secret default-token-nvgq6 -o jsonpath={".data.token"} | base64 -d)

#echo $TOKEN
curl -k -H "Authorization: Bearer ${TOKEN}" ${APISERVER}/api/v1/default

# 备注:让我想到了gitlab安装没有角色绑定出现问题

简单点的话-->'开启kube-proxy',不需要token了,因为kube-proxy默认已经做了认证

(11)Kubernetes Dashboard HTTPS 证书如何正确使用

参考1

自制证书1

ingress方式

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: dashboard-ingress-tls
namespace: kube-system
annotations:
nginx.ingress.kubernetes.io/secure-backends: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
tls:
- hosts:
- "your.domain"
secretName: secret-your-domain
rules:
- host: your.domain
http:
paths:
- path: /
backend:
serviceName: kubernetes-dashboard
servicePort: 443

不错的解决办法,或许能用在公网上

k8s dashboard 一键生成ssl证书脚本

istio文档

(12)阳明大佬的博客

第一周的FAQ

第二周的FAQ

(13)lost+found目录有啥用?

(14)如何使用curl访问k8s的apiserver

(15)gitlab资源创建情况

(16)pod所在node的内存不足,导致无法查看相应的信息

(17)删除命名空间卡主了

解决策略

(18)metrics-server

Heapster的关系,'从1.8以后被metrics-server取代了', 部署个heapster就好了

(19)查看资源清单里面的字段

kubectl explain role(资源)  #查看资源定义清单字段,没事结合'官网和该信息去理解'

(20)各种名词汇总

k8s各种名词汇总

config的问题

(21)kubectl config set-credentials  和create serviceaccount区别

细细体会这个报错

(22)k8s内建registry,很有必要

CentOS 7 系统,同样还是编辑文件/etc/docker/daemon.json,添加如下内容(安全和不安全的)


{
  "registry-mirror": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.199.100:5000"
  ]
}

# 其中的insecure-registries就是我们添加的内容,然后重启 Docker 之后就可以在局域网内使用我们的私有镜像仓库了。

# 使用harbor仓库

(24)强制删除yaml创建的所有资源

(25)jenkins-agent的启动脚本

(26)k8s显示状态的问题(v1.16之后)

参考博客

如果想参照之前的模式查看

kubectl get cs -o=go-template='{{printf "|NAME|STATUS|MESSAGE|\n"}}{{range .items}}{{$name := .metadata.name}}{{range .conditions}}{{printf "|%s|%s|%s|\n" $name .status .message}}{{end}}{{end}}'

大牛个人博客

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐