程序|kubernetes简单搭建

https://blog.csdn.net/qq_28147821/article/details/122431333
https://www.jb51.net/article/245039.htm
https://www.jb51.net/article/224510.htm
好像就是因为windows 没装docker的原因
Docker Desktop stopping
hyper与vmwear 冲突
DOCKER_HOST
tcp://192.168.102.201:2375
docker build -f Dockerfile -t test:v1.0
vi /usr/lib/systemd/system/docker.service
https://192.168.28.128:30001/#/login
https://www.cnblogs.com/gdwkong/p/15394087.html
https://jhooq.com/deploy-spring-boot-microservices-on-kubernetes/
https://hub.docker.com/repository/docker/xiexuzhao/springboot
https://www.docker.com/get-started/
https://www.cnblogs.com/kevinwan/p/16003108.html
https://www.cnblogs.com/cheyunhua/p/13457835.html
https://www.cnblogs.com/kevinwan/p/16007379.html
https://spring.io/quickstart
https://spring.io/guides/gs/spring-boot-kubernetes/
https://developer.aliyun.com/article/836300
https://kubernetes.io/zh/docs/concepts/workloads/pods/
kubectl apply -f simple-pod.yaml
创建一个pod
springboot k8s docker
https://segmentfault.com/a/1190000041769506

.https://cloud.tencent.com/developer/article/1985320
https://www.cnblogs.com/gdwkong/p/15253215.html

https://www.cnblogs.com/xuwenjin/p/15497297.html
Kubernetes 界面操作
https://www.cnblogs.com/vinsent/p/15917739.html
https://xie.infoq.cn/article/233b87976c2788d6aa2ad3571
K8S是什么?
k8s全拼Kubernetes
Kubernetes是容器集群管理系统,是一个开源的平台
可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
目标是促进完善组件和工具的生态系统,以减轻应用程序在公有云或私有云中运行的负担.
作用:
1)为云服务器集群实现环境部署---自动化部署
2)监控服务器使用状态,根据应用率的高低自动调节(标准肯定是代码里面工程师设置的)--维护
3)为服务器集群自动扩容---自动扩容

https://www.cnblogs.com/Forever77/p/13584505.html
https://www.cnblogs.com/timssd/p/12866583.html

https://www.cnblogs.com/itfenqing/p/10053973.html
https://github.com/qxl1231/2019-k8s-centos
docker
https://www.runoob.com/docker/docker-tutorial.html
https://www.cnblogs.com/itfenqing/p/10054530.html
https://www.cnblogs.com/wkynf/p/14916441.html
https://kubernetes.io/
https://kubernetes.io/docs/tutorials/kubernetes-basics/
https://www.cnblogs.com/brady-wang/p/13796232.html
https://www.cnblogs.com/90s-blog/p/16153438.html
https://blog.csdn.net/m0_37499043/article/details/121565972
https://cloud.tencent.com/developer/article/1971279?from=article.detail.1943249
https://cloud.tencent.com/developer/article/1943249
https://www.cnblogs.com/dxfang/articles/kubernetes.html
https://www.cnblogs.com/dxfang/articles/kubernetes.html
https://www.cnblogs.com/tylerzhou/p/10971336.html
https://www.cnblogs.com/baishancunfu/p/15379889.html
https://www.cnblogs.com/itfenqing/p/10053973.html
https://www.cnblogs.com/Sunzz/p/15184167.html
https://www.cnblogs.com/dxfang/articles/kubernetes.html
https://blog.51cto.com/u_14143894/2475838
https://www.cnblogs.com/wuchangblog/p/14091717.html
https://www.cnblogs.com/xzkzzz/p/9936467.html
https://www.cnblogs.com/xuziyu/p/11726068.html
https://www.cnblogs.com/tylerzhou/p/10971336.html
https://www.cnblogs.com/itfenqing/p/10054530.html

=====================================================
https://www.cnblogs.com/itfenqing/p/10053973.html
https://blog.csdn.net/weixin_43296313/article/details/123881716
https://www.cnblogs.com/tenghu/p/15096880.html?ivk_sa=1024320u
https://www.cnblogs.com/zhangdaopin/p/15850855.html
https://blog.csdn.net/qq_28147821/article/details/122431333
https://www.cnblogs.com/zhangdaopin/p/15850855.html
docker tag test:v1.0 192.168.28.4:5000/test:v3.0
test:v1.0
镜像名:Tag
docker push 172.0.0.1:5000/test:v2.0
docker pull 192.168.28.4:5000/test:v3.0 tag
https://www.cnblogs.com/itfenqing/p/10053973.html
docker build -f Dockerfile -t test:v1.0 .
docker run -d -p 8999:8888 --name=test test:v1.0
=====================================================
两个文档一起用

https://blog.csdn.net/tiny_du/article/details/123823093
kubectl describe pod kubernetes-dashboard-66bd49c665-ndzsg -n kubernetes-dashboard
Error syncing pod, skipping" err="network is not ready: container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
https://blog.51cto.com/u_11529070/3609273
在所有节点执行
docker pull quay.io/coreos/flannel:v0.9.1-amd64
mkdir -p /etc/cni/net.d/
cat < /etc/cni/net.d/10-flannel.conf
{"name":"cbr0","type":"flannel","delegate": {"isDefaultGateway": true}}
EOF
mkdir /usr/share/oci-umount/oci-umount.d -p
mkdir /run/flannel/
cat < /run/flannel/subnet.env
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=172.100.1.0/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
EOF
在master上执行然后执行命令:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml
The connection to the server localhost:8080 was refused - did you specify the right host or port?
https://192.168.28.128:30001/#/login
https://192.168.28.128:30001/#/workloads?namespace=default
kubectl taint nodes kubernetes-dashboard node-role.kubernetes.io/master-
https://blog.csdn.net/shengjie87/article/details/108966248
找到文件找到CALICO_IPV4POOL_CIDR 取消注释
下载完后还需要修改里面定义Pod网络(CALICO_IPV4POOL_CIDR),与前面kubeadm init的 --pod-network-cidr指定的一样。
https://www.cnblogs.com/wuchangblog/p/14091717.html
kubectl taint nodes --all node-role.kubernetes.io/master=:NoSchedule
kubectl describe pod coredns-6d8c4cb4d-8qplk -n kube-system
kubectl describe pod nginx-7cbb8cd5d8-s6664
----------------------------------------------------
taints that the pod didn't tolerate.
0/3 nodes are available: 3 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate.
https://blog.csdn.net/weixin_43224068/article/details/104060320
kubectl taint nodes --all node-role.kubernetes.io/master-
-------------------------------------------------
journalctl -f -u kubelet
kubectl scale deployment nginx --replicas=2
kubectl taint nodes --all node-role.kubernetes.io/master-每次操作都要执行
在master集群测试#
创建一个nginx服务
kubectl create deployment nginx --image=nginx:1.14-alpine
暴露端口
kubectl expose deploy nginx --port=80 --target-port=80 --type=NodePort
查看服务
kubectl get svc或者 kubectl get service
查看pod
kubectl get pod
(可选)让主节点也可以运行Pod
Kubernetes默认不在主节点上运行Pod,这里可以让调度器不再遵从这个策略。
这会提高资源利用率,代价是会降低主节点的安全性。
# (可选)让主节点上也能运行pod
kubectl taint nodes --all node-role.kubernetes.io/master-
curl 本机IP:暴露端口
curl 192.168.28.128:31414
curl 192.168.28.4:31414
curl 192.168.28.5:31414
https://www.cnblogs.com/tylerzhou/p/10971336.html
https://www.cnblogs.com/tylerzhou/p/10971336.html
https://blog.csdn.net/networken/article/details/84991940
排错
journalctl -f# 当前输出日志
journalctl -f -u kubelet# 只看当前的kubelet进程日志
出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。如果希望将k8s-master也当作Node使用,可以执行如下命令:
kubectl describe node localhost
#输出:Taints:node-role.kubernetes.io/master:NoSchedule(这个污点表示默认情况下master节点将不会调度运行Pod,即不运行工作负载。)
#可以部署到master
kubectl taint node localhost node-role.kubernetes.io/master=:NoSchedule-
其中k8s-master是主机节点hostname如果要恢复Master Only状态,执行如下命令:
#不会部署到master
kubectl taint node k8s-master node-role.kubernetes.io/master:NoSchedule
##注意:kubeadm初始化的Kubernetes集群,master节点也被打上了一个node-role.kubernetes.io/master=的label,标识这个节点的角色为master。 ##给Node设置Label和设置污点是两个不同的操作。
###实践:Kubernetes master节点不运行工作负载 Kubernetes集群的Master节点是十分重要的,一个高可用的Kubernetes集群一般会存在3个以上的master节点,为了保证master节点的稳定性,一般不推荐将业务的Pod调度到master节点上。 下面将介绍一下我们使用Kubernetes调度的Taints和和Tolerations特性确保Kubernetes的Master节点不执行工作负载的实践。
我们的Kubernetes集群中总共有3个master节点,节点的名称分别为k8s-01、k8s-02、k8s-03。 为了保证集群的稳定性,同时提高master节点的利用率,我们将其中一个节点设置为node-role.kubernetes.io/master:NoSchedule,另外两个节点设置为node-role.kubernetes.io/master:PreferNoSchedule,这样保证3个节点中的1个无论在任何情况下都将不运行业务Pod,而另外2个载集群资源充足的情况下尽量不运行业务Pod。
kubectl taint nodes k8s-01 node-role.kubernetes.io/master=:NoSchedule
kubectl taint nodes k8s-02 node-role.kubernetes.io/master=:PreferNoSchedule
kubectl taint nodes k8s-03 node-role.kubernetes.io/master=:PreferNoSchedule

https://blog.csdn.net/aixiaoyang168/article/details/78411511
==================================================================
https://www.cnblogs.com/Sunzz/p/15184167.html
https://github.com/qxl1231/2019-k8s-centos
https://github.com/qxl1231/2019-k8s-centos
https://blog.csdn.net/LSY_CSDN_/article/details/118879610
https://www.cnblogs.com/machangwei-8/p/15761068.html
https://www.cnblogs.com/bigberg/p/8920040.html
https://cloud.tencent.com/developer/article/1618126
https://github.com/kubernetes/kubernetes
https://www.cnblogs.com/bigberg/p/8920040.html
https://www.cnblogs.com/zhangxingeng/p/11670786.html
http://www.k8smeetup.com/article/VJMhphWMc
https://blog.csdn.net/qq_26012495/article/details/114695074
https://cloud.tencent.com/developer/devdocs
https://cloud.tencent.com/developer/article/1638427
https://www.cnblogs.com/xiaoyuxixi/p/12142218.html
https://www.cnblogs.com/timssd/p/9127738.html
https://www.cnblogs.com/along21/p/10044931.html
https://www.cnblogs.com/timssd/p/9141194.html
https://www.cnblogs.com/timssd/p/12866583.html
http://press.demo.kuboard.cn/install/v3/install.html
https://www.kubernetes.org.cn/7315.html
https://www.kubernetes.org.cn/docs
https://www.yisu.com/zixun/23228.html
https://kubernetes.io/zh/docs/tutorials/hello-minikube/
https://blog.csdn.net/bbj1030/article/details/124444406
https://www.cnblogs.com/bluersw/p/11713468.html
https://www.cnblogs.com/baishancunfu/p/15379889.html
https://cloud.tencent.com/developer/article/1638427
由于网络插件还没有部署,还没有准备就绪 NotReady,继续操作。
win10利用WSL2安装windows版kubernetes集群
运维
https://k8s.easydoc.net/docs/dRiQjyTY/28366845/6GiNOzyZ/nd7yOvdY
https://www.cnblogs.com/chadiandianwenrou/p/11903776.html
https://www.cnblogs.com/wuchangblog/p/13358505.html
https://www.cnblogs.com/varden/p/15122227.html
https://www.cnblogs.com/bigberg/p/8920040.html
https://www.csdn.net/tags/MtTaEgzsNzE5NTM5LWJsb2cO0O0O.html
Anything else we need to know?
Master is ARM64, 2 nodes are AMD64.
Master and one node is in Amsterdam and 2nd node is in the USA.
I can use kubectl taint nodes --all node-role.kubernetes.io/master- to run pods on master, but this is not a solution. I want to have a real multi-node cluster to work with.

namespace/kubernetes-dashboard unchanged
serviceaccount/kubernetes-dashboard unchanged
service/kubernetes-dashboard unchanged
secret/kubernetes-dashboard-certs unchanged
secret/kubernetes-dashboard-csrf unchanged
secret/kubernetes-dashboard-key-holder unchanged
configmap/kubernetes-dashboard-settings unchanged
role.rbac.authorization.k8s.io/kubernetes-dashboard unchanged
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard unchanged
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard unchanged
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard unchanged
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper unchanged
deployment.apps/dashboard-metrics-scraper created

kubectl logs kubernetes-dashboard
在终端 ifconfig
k8s-master 192.168.28.128
k8s-node01 192.168.28.5
k8s-node02 192.168.28.4
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node01
hostnamectl set-hostname k8s-node02
ping 192.168.28.5
ctrl+c终止命令

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config# 永久
setenforce 0# 临时
# 关闭swap
swapoff -a# 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab# 永久

# 根据规划设置主机名
hostnamectl set-hostname
# 在master添加hosts
cat >> /etc/hosts << EOF
192.168.28.128 k8s-master
192.168.28.5 k8s-node01
192.168.28.4 k8s-node02
EOF
# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system# 生效
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com
注意:虚拟机不管关机还是挂起,每次重新操作都需要更新时间进行同步。
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce
systemctl enable docker && systemctl start docker

vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
systemctl restart docker
docker info#查看docker信息,进行确认

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

kubeadm init \
--apiserver-advertise-address=192.168.28.128 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes

kubeadm join 192.168.28.128:6443 --token 2zr9qu.r9q05leydv5grnl6 \
--discovery-token-ca-cert-hash sha256:9809ff11543e234ff931dffd71732f74c87d87dc349ec7e4a6d7383c1c80f1e2

当我们使用wget下载不安全的的东西是会提示下列内容
ERROR: cannot verify lug.ustc.edu.cn's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Issued certificate has expired.
To connect to lug.ustc.edu.cn insecurely, use `--no-check-certificate'.
-----------------------------------
解决
sudo yum install -y ca-certificates

name: calico-config
key: veth_mtu
--cluster-cidr=10.244.0.0/16 \
kubectl apply -f calico.yaml
kubectl get pods -n kube-system#执行结束要等上一会才全部running

kubectl apply -f recommended.yaml
kubectl get pods -n kubernetes-dashboard
centos开机进去文本模式
https://www.cnblogs.com/lvfeilong/p/234rfdsfds.html
centos开机进去文本模式
Linux CentOS 7.X-关机、重启命令
一、命令操作
1、退出命令
退出登陆命令:logout;
2、关闭命令
立即关机:shutdown -h now(root用户)
halt
poweroff
延时关机:shutdown -h minute,其中minute为延时的分钟数(root用户),如:shutdown -h 10 10分钟后自动关机
3、重启命令
重启服务器命令:reboot普通重启
shutdown -r now立即重启(root用户)
shutdown -r minute其中minute为延时的分钟数(root用户)。如:shutdown -r 10,过10分钟自动重启
shutdown -r time其中time为关机时间(root用户)。如:shutdown -r 20:35 在时间为20:35时候重启
4、sync 把内存的数据同步到磁盘上
注意: a)如果是通过shutdown命令设置关机、重启的话,可以用shutdown -c命令取消关机、重启;
b)不管是重启系统还是关闭系统,首先运行 sync 命令,把内存中的数据写入到磁盘中;
c)登入时尽量少用root账号登入,因是系统管理员,最大的权限,避免操作失误。可以利用普通用户登入,登入后再用 su - 用户名 命令来切换成具备系统管理员身份的用户。当从权限高的用户切换到权限低的用户,不需要输入密码,反之需要,当需要返回到原来用户时,使用 exit 指令。

二、命令说明
1.shutdown 参数说明:
[-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。
[-h] 关机后关闭电源〔halt〕。
[-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往
往不总是你所预期得到的。
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有
时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。
[-f] 在重启计算器〔reboot〕时忽略fsck。
[-F] 在重启计算器〔reboot〕时强迫fsck。
[-time] 设定关机〔shutdown〕前的时间。
2.halt—-最简单的关机命令
其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐
文件系统写操作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超
级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前﹐关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。
3.reboot
reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它
的参数与halt相差不多。
4.init
init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的
用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),
init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有
telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐
并且得不到使用shutdown时的信息和等待时间。
https://edu.csdn.net/skill/cloud_native/cloud_native-3a407b55039e4e29b802e5047caf881b
https://edu.csdn.net/skill/cloud_native/cloud_native-3a407b55039e4e29b802e5047caf881b
https://blog.csdn.net/tiny_du/article/details/123823093
https://edu.csdn.net/skill/cloud_native/cloud_native-3a407b55039e4e29b802e5047caf881b
https://download.csdn.net/download/cutterz/10168093
https://www.kancloud.cn/roeslys/linux/1593369
https://www.cnblogs.com/liuzhiyong0718/p/15760937.html
https://www.cnblogs.com/liconglong/p/15054289.html
https://blog.csdn.net/weixin_45880055/article/details/117124973
https://blog.csdn.net/qq_40736292/article/details/121276714
https://blog.csdn.net/Bilson99/article/details/119408661
https://www.kancloud.cn/roeslys/linux/1593369
https://blog.csdn.net/qq_39578545/article/details/108861006
https://www.cnblogs.com/blayn/p/16074627.html
https://www.e-learn.cn/topic/3971593
https://blog.csdn.net/dsen726/article/details/117568047
https://blog.51cto.com/chenshengang/2498509
https://kubernetes.io/docs/setup/
https://spring.io/projects/spring-cloud/
https://ke.qq.com/course/482620?course_id=482620&_bid=167&_wv=1
https://www.soft1188.com/java/1108.html
https://www.cnblogs.com/ityouknow/p/8599093.html
https://www.cnblogs.com/cheyunhua/p/14498014.html
https://k8s.easydoc.net/docs/dRiQjyTY/28366845/6GiNOzyZ/9EX8Cp45
1.Docker官网
https://docs.docker.com/
2.kubernetes官网
https://kubernetes.io/
http://spring4all.com/
http://www.shuzhiziyuan.com/1800.html

org.springframework.cloud
spring-cloud-starter-kubernetes
1.0.2.RELEASE

https://developer.aliyun.com/article/754083
https://cloud.tencent.com/developer/article/1985321
官方 Spring Boot Docker : 官方使用的是 ENTRYPOINT https://spring.io/guides/topicals/spring-boot-docker
官方 Dockerfile reference https://docs.docker.com/engine/reference/builder/
Docker + K8S,直接让 Spring Boot 起飞!
https://kubernetes.io/docs/tutorials/kubernetes-basics/
基于k8s、docker、jenkins、springboot构建docker服务

https://www.jdon.com/50956
https://www.cnblogs.com/csonezp/p/12121448.html
https://cloud.tencent.com/developer/article/1379440
https://www.freesion.com/article/82271044992/
https://blog.csdn.net/mryang125/article/details/108429951
https://edu.51cto.com/center/course/lesson/index?id=505777
https://www.cnblogs.com/wtzbk/p/15216488.html
https://www.sohu.com/a/303851250_468635
https://www.infoq.cn/article/KNMAVdo3jXs3qPKqTZBw
https://www.jb51.cc/docker/1041528.html
https://www.aliyun.com/product/kubernetes?utm_content=se_1010138039
https://www.aliyun.com/product/kubernetes?utm_content=se_1010138039
https://baike.baidu.com/item/kubernetes/22864162?fr=aladdin
https://kubernetes.io/zh/docs/concepts/overview/what-is-kubernetes/
第一句,是“Build, Ship and Run”。
“搭建、发送、运行”,三板斧。
Docker技术的三大核心概念,分别是:
镜像(Image)
容器(Container)
仓库(Repository)
一个K8S系统,通常称为一个K8S集群(Cluster)。
这个集群主要包括两个部分:
一个Master节点(主节点)
一群Node节点(计算节点)
https://cn.bing.com/
springboot k8s docker
目前很主流的微服务框架和平台有Spring Cloud、Dubbo和K8S。
Spring Cloud来自Netflix,Dubbo来自阿里,而K8S则来自Google。说的直观一点,这三个框架都是针对微服务的解决方案。可能有人会说,K8S不是一个容器编排系统吗?怎么跟Spring Cloud这种软件层面上的微服务框架做起了对比呢?
k8s+docker部署k8s springboot
springboot中文手册tomcat默认端口
k8s和docker关系k8s部署docker镜像
k8s mysql集群k8s不用docker
k8s部署web应用k8s替代docker
Kubernetes权威指南
kubernetes
什么是 Kubernetes?
Kubernetes(也称为“k8s”或“kube” )是一个容器编排平台,用于调度以及自动部署、管理和扩展容器化应用。
Kubernetes 最初由 Google 工程师开发,后来于 2014 年开源。 它的前身是 Borg, 这是 Google 内部使用的一种容器编排平台。 Kubernetes 是希腊语,意为舵手或领航员,因此 Kubernetes 的徽标(链接位于 IBM外部)为舵手。
如今,Kubernetes 和更广泛的容器生态系统正在逐渐成熟,形成一个通用的计算平台和生态系统 - 虚拟机 (VM) 是现代云基础架构和应用的基础构建块,它即使没有超越虚拟机,也可以与之抗衡。 此生态系统使组织能够提供高生产力的平台即服务 (PaaS),解决围绕云原生开发、与基础架构和运营相关的多个任务及问题,从而使开发团队可以仅专注于编码和创新。
https://www.ibm.com/cn-zh/cloud/learn/kubernetes#toc-kubernetes-83D1aLY2
https://baijiahao.baidu.com/s?id=1717100486248570317&wfr=spider&for=pc
https://baijiahao.baidu.com/s?id=1711461003360149305&wfr=spider&for=pc
https://blog.csdn.net/qq_30285985/article/details/113752034
程序到docker
https://my.oschina.net/jenqz/blog/5121623
kubernetes
播报 编辑 讨论 上传视频
kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 [1]
传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。
新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理。
K8S是一个与Docker Swarm相类似的容器编排系统,但是由于K8S内置了微服务的解决方案,它同时也是一个功能完备的微服务框架。

https://zhuanlan.zhihu.com/p/97605697
springboot k8s docker
Dashboard: Springboot用于Docker和K8s的测试项目
Docker+K8S 集群环境搭建及分布式应用部署
Could not connect to '192.168.122.1' (port 22): Connection failed.
ifconfig
docker+k8s+springcloud

asp.net core k8s docker
springboot k8s dockerspringboot+springcloud+docker+k8s
https://zhuanlan.zhihu.com/p/97605697
https://my.oschina.net/jenqz/blog/5121623
https://jishuin.proginn.com/p/763bfbd6a918
https://blog.csdn.net/u011177064/article/details/104099501
https://www.jianshu.com/p/9f36d3fe783b
https://www.matools.com/blog/190936335
https://blog.csdn.net/m0_52526697/article/details/122349934
https://download.csdn.net/download/manbufenglin/11128816?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-download-2%7Edefault%7ECTRLIST%7EPaid-1.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant_t0.none-task-download-2%7Edefault%7ECTRLIST%7EPaid-1.pc_relevant_aa&utm_relevant_index=1

https://kubernetes.io/zh/docs/reference/kubectl/overview/
重启kubelet
systemctl stop kubelet
systemctl daemon-reload
systemctl start kubelet
查看
复制代码
kubectl get nodes#查看节点列表
kubectl get pods#查看pod列表
kubectl get pod #查看某个pod
kubectl get rc#查看Replication Controller
kubectl get svc#查看Service
kubectl get deploy#查看Deployment
kubectl get componentstatus#查看所有组件状态
kubectl get all#查看所有组件
kubectl api-resources#查询通过kubectl get xxx命令支持的资源列表
--all-namespaces#查看所有命名空间下的
-n #查看指定命名空间下的
-o wide#查看详细信息
复制代码
查看资源详细状态
kubectl describe nodes
kubectl describe pods
-n #指定命名空间下的
删除
复制代码
kubectl delete node #删除某个节点
kubectl delete pod #删除某一个pod(会先停掉pod再删除,比较慢)
kubectl delete pod --force#强制删除某一个pod(立马删掉)
kubectl delete svc#删除某个serivce
kubectl delete deploy #删除某个Deployment
--all#所有的
--all-namespaces#所有命名空间下的
-n #指定命名空间下的

kubectl delete namespace #删除某个namespace(慎用)。删除后,会删除该namespace下的所有资源
复制代码
更新
kubectl edit deploy #编辑Deployment。修改镜像版本号,可以实现滚动更新
kubectl set image deploy nginx=nginx:1.15#修改某个Deployment中nginx镜像的版本,可以实现滚动更新
回滚
kubectl rollout undo deploy #回滚Deployment。默认是回滚到上一个版本
kubectl rollout undo deploy --to-revision=#回滚Deployment到指定版本
kubectl rollout history deploy #查看升级历史
kubectl rollout status deploy #查看回滚状态
创建
【程序|kubernetes简单搭建】kubectl create -f nginx_pod.yaml#创建一个pod
kubectl apply -f nginx_pod.yaml#更新运行的pod信息
kubectl create namespace #创建一个Namespace

    推荐阅读